A critical first choice we make when reporting in Salesforce is that first choice- which Report Type should we use to get at the data we need to report on? Report Types defines which records and fields are available for use on a Report, based on the relationships between the objects involved. The out-of-the-box Report Types harbor a secret hiding in plain sight related to the nature of joins which can take new Report writers time to sort out. Systerm Administrators, and those with permissions, can create Custom Report Types which introduce left outer joins, the ability to report on more than 50 other Objects in Salesforce, and a secret super power which allows us to flatten the database.