5 Advanced Salesforce Reporting Features

Share this article...

analytics (1)Reporting in Salesforce is one of the most powerful features you have when trying to demonstrate value to the business. Building key reports in a matter of minutes with a simple drag and drop interface that anyone can use is extremely effective. Being such a vital part of any business, It is essential that as an Administrator you have a good idea of all the options available to you when reporting requirements open up.

Let’s have a look at some of the more advanced reporting options that Salesforce offer us beyond the drag and drop interface.


1. Custom Report Types

By default, Salesforce gives us standard report types. Standard report types are already present for all of our standard objects e.g. “Contacts & Accounts” or “Opportunities with Products”. Salesforce also automatically created standard report types for every custom object and relationship we build. The type of report Salesforce created e.g. with a “with” or “and” relationship will depend on if you are using a Lookup or Master-detail relationship.

But what if you need to report on more than 2 objects at a time? What if you don’t want to report on only with relationships? This is where Custom Report Types come in.Screen Shot 2015-07-28 at 16.17.59
Creating a custom report type involves selecting the relationships and the objects you would like to include. Depending on which Primary object you choose (In this example it is Account), the wizard will give you access to its child objects to also report on, you can also report on grandchild objects up to a total of 4 objects. You will notice that we can also include whether the object selected has to have related records to show up in the report. This is useful if you would like to show a report such as Accounts with & without Opportunities.

Find out more about Custom Report Types

2. Exception Reports (Cross Filters)

Exception Reports are used to show you where data does not exist and are built by using Cross Filters. Cross Filters can be found in the normal filter drop down and can be created off of any report type that has a child object related to it. Exception Reports work by using Cross filters to filter the child objects related to the primary object. For examples Accounts without Opportunities. We can even take this further by filtering on specific fields on the child object using Sub-filters to create a report such as this..

Screen Shot 2015-07-28 at 17.31.05

From the above you can see we are looking at Accounts without opportunities that are closed equal false, showing us all accounts with open opportunities.

Find out more about Exception Reporting

3. Custom Summary FormulasScreen Shot 2015-07-29 at 10.24.38

Custom Summary Formulas are used exclusively on reports and can be positioned to calculate complex data from your summary levels. At first this seemed a bit daunting to me, but lets look at an example that will help put this into context.

Custom Summary Formulas are added into a report like any other field, once dragged into the report, we can begin creating the formula. You have access to most of the functions available to when you are creating a normal formula field with a few extras to deal with specific situations in a report.

The formula I have created in the diagram uses the PARENTGROUPVAL report specific function which allows us to grab a previous grouping in the report. I’m dividing this by the SUM of the Amount field which gives us a percentage. When put into a report it looks like the below, and from this simple formula we can calculate how much each account contributes to the total revenue for new customers!

Screen Shot 2015-07-29 at 10.28.28

This is just a small glimpse into what can be created with Custom Summary Formulas, we can create averages, moving averages, totals of different groupings and more!

Find out more about Custom Summary Formulas

4. Analytical Snapshots

Analytical snapshots capture data at scheduled points in time, which then allow you to build historical reports. This is especially useful if you need to see long term trends in your data that is just not possible with standard functionality. The normal reports in Salesforce allow you to see the data “as is” in realtime. But if for example you wanted to see how many cases are open on a single day and the trend that this creates, we will need to use Analytical Snapshots.

Analytical Snapshots are extremely clever in the way they work and make full use of the Salesforce platform. They are created in 3 Steps..


  1. Firstly you will need to create a source report. This report will contain the data that you want to historically trend on, so if we are sticking to our historic open cases example, we will need to create a source report that shows us all open cases open today.
  2. Secondly we need to create a custom object (this is where it gets clever). This custom object is used to hold the data from our source report so that means whenever you set the snapshot to run, it will load all data into a new record in this object, this then allows us to report on this object and its data (You will need to create custom fields for each field in the report you are reporting on).
  3. Lastly we can create the Snapshot! This will include naming the snapshot, selecting the source report, selecting the target custom object and settings the frequency that this should run.

Find out more about Analytical Snapshots.

5. Historical Trend Reporting

Historical Trending is a very new feature that was first released in Winter ’14. It is a niche feature but can really make your life easier if you need to track small changes day to day or week to week in your data. Historical trends allow you to track up to 8 fields on the Opportunity object and up to 3 custom objects. You can select up to five snapshots dates such as five business days or five business weeks. This data can then be reported on and can be viewed in the same row to see the direct changes to the data. Find out more about Historical Trend Reporting.

(1) Snapshot up to five dates to track day-to-day or week-to-week trends. (2) Current and historical values are shown side by side for easy comparison. (3) Changed dates and amounts are highlighted in red or green.
(1) Snapshot up to five dates to track day-to-day or week-to-week trends. (2) Current and historical values are shown side by side for easy comparison. (3) Changed dates and amounts are highlighted in red or green.

17 thoughts on “5 Advanced Salesforce Reporting Features

  1. Avatar

    Same for me, become aware of many good features while studying, it’s definitely indirect benefit of taking cert exams.

  2. Pingback: 5 Fonctionnalités Avancées pour le Reporting Salesforce

  3. Pingback: Pokročilé reporty v Salesforce - Blog Martina Humpolce

  4. Avatar

    Thanks Ben and nicely put. I actually failed my Advanced Admin exam (thought I’d passed damn!) but this sort of overview is fantastic – it really helps with context and you are right all of this is relevant to Advanced Admin, you need to know when to use what. I will try again in a couple of weeks!

  5. Pingback: Pokročilé reporty v Salesforce – světSalesforce.cz

  6. Avatar

    Ben, I observed than when I create a Report Type, if I have A -> B -> C and I need to include in my report, another field than “Name” from object C (C.AnotherField), I can’t. It doesn’t exists in the report builder … How can I do that ?

  7. Avatar

    Hi — For the Custom Summary Formulas, I am not able to find the field that I need (Quote Line Item Quantity).. How do I go about it?

  8. Pingback: 5 Fonctionnalités Avancées du Reporting Salesforce | bizKor

  9. Avatar

    Hi Ben, this is an awesome overview – I was just a little confused about the exception Report example
    „From the above you can see we are looking at Accounts without opportunities that are closed equal false, showing us all accounts with open opportunities.“

    Why should I Look for Accounts without Opps and then in a Second step Filter on it? Can you make an example why this makes Sense ( I am sure it does but I am just not getting it)? Many thanks, Saskia

  10. Avatar

    Hello Ben,

    Your write-up is very helpful. it would be great if you could call out the difference between the Historical Trending and Reporting Snapshot features. Both seem to serve the same purpose. Thanks in advance! Shyamala

  11. Avatar

    Thanks for always being such a helpful resource, Ben!

    One question – what if I don’t want to have to pick certain dates, but just want it to show any time a field is changed and the what the new value was? For example, we’re tracking events and want to know who was invited or not and who RSVP’d as attending/not or no-show, etc. When the status field flips from invited to attending/attended, we lose a way to report the previous statuses (i.e. after the event when we look at who attended, we can’t determine which of those were invited vs which just came or were guests because we can’t see the “invited” status anymore). I have history tracking turned on but can’t figure out how to report on the history related list.

    Thanks again!

  12. Avatar

    Thank you for this article, Ben! Just curious if Historical Trending for Accounts is not available? I tried enabling it but whenever I search Accounts, Salesforce prompts “No trendable entities”. Is Account really not available for this feature or I just need to configure something else in Setup?

Leave a Reply