What are Custom Report Types?
Custom Report Types (CRT) gives Salesforce administrators the ability to create dynamic reports that go beyond the ability Standard Reports have. Think of Standard Reports as a canned reporting tool that is provided by Salesforce. Don’t get us wrong, they are very useful in normal situations but sometimes you need something more tailored when pulling analytics from the system.
Benefits of Custom Report Types:
Here are some of the things you can do with CRTs:
- Show or hide
- Create sections for the fields in your report
- Grab fields from lookup
- Default Columns
- Join objects to find records with our without the join
- Join tables 4 levels deep
With fields, you now have the ability to pick and choose what you want to show in your report’s available fields list. Do you have hundreds of fields on one object? Don’t be surprised, we’ve seen several mature organizations that reach the hundreds when it comes to custom fields on one object. Reporting on an object like this can be dreadful since it takes a lot of time to load those fields into the report.
With CRTs, you have the ability to show or hide certain fields. If you know there are fields you’ll never want in your report, you can hide them when building the CRT. You can also sort the order of the fields to your liking. Want to put the top fields you’ll always report on to the top of list? CRT gives you that capability! Not only that, you’ll also have the ability to create sections for your fields! This gives you a way to organize all of those fields into sections of your choosing.
One of the more powerful benefits of CRTs is a way to pull data from lookup fields. Lookup fields are joins to other tables on a specific record. For example, if you have an account record with a lookup field for custom programs, with CRT, you can now pull fields into your report from the custom programs object. This opens the range of the type of data your reports can now pull.
Last but not least, when it comes to fields, you have the ability to define which ones should automatically load as a column when creating a new report using the CRT. For example, when creating a case report, you can have the default columns be Case Number, Subject, Status, and Type.
With the ability to join related objects, your custom report type can pull data 4 levels deep. For example, if CPQ is used, you can make a report type that goes from Account to Opportunity to Quotes to Quote Lines. This is the power of CRTs.
As you can see from the screenshot above, you can designate whether a record should only pull into the report if there’s a related record. This means if you’re creating a report to find if an account has a quote line item of a specific product, the report will only return data if the account does. If you want the account to return regardless if it has the product or not, you can select “‘X’ records may or may not have related ‘Y’ records”.
Before creating your first CRT, you’ll need to know a couple of things before moving forward:
- Custom fields need to be added – When using CRTs, it does not automatically add new custom fields that were created after the CRT was created. You’ll need to edit the CRT and add the custom field to the list of ones currently showing. With standard reports, this automatically done.
- Deleting fields to hide them from the CRT (glitchy) – On the same screen to show or hide fields, it is tricky to remove fields. This could be a glitch that Salesforce intends to fix in the future but as of when this blog was created, it still quite glitchy. A sure fire way to hide/remove fields from the CRT is to create a new section, drag the fields you want to hide/remove into this new section, and delete the entire section. Remember, you are only hiding or removing the fields you don’t want to see as an available selection on a report. This does not mean you’re actually deleting a field from the object!
When to use Custom Report Types
So when should you use Custom Report Types? Here are some reason:
- When standard reports have too many available fields to select from. Using CRTs can help cut out irrelevant fields.
- When you want more available fields from other lookup fields that exist on the record
- When you want to join to other related objects 2-4 levels deep
- When you want to default columns for reports whenever you create a new one
Salesforce Help Article: https://help.salesforce.com/articleView?id=reports_defining_report_types.htm&type=5