Custom report type object relationships
Key Takeaway
The relationship criteria on each related object decide which parent records a report includes. If you choose the may-or-may-not option for a relationship, all relationships after it use that option too.
A custom report type defines which objects and fields a report can use. It starts from one primary object, and you can add related objects to it. The relationships you set decide which records show up in reports.
Primary object and related objects
Every custom report type starts with a primary object. You can't change the primary object after you save the custom report type, so choose it carefully.
To report on more than the primary object, use "Click to relate another object" to add related objects. The primary object and the related objects make up the main structure of the custom report type. The main structure can hold up to four objects.
To create or update custom report types, you need the "Manage Custom Report Types" permission. You can build a custom report type on any object, even an object you don't have permission to view.