In order to build a Custom Report you must have a Graph Definition, a View Definition, an Adhoc Report object, and a Custom Report object.
We recommend that you extend your schema to add new objects and relationships to the Smart Construction. For information on extending the Smart Construction schema, see Extending the Smart Construction Schema.