Tuesday, March 19, 2013

Salesforce: Trending with Reporting Snapshot

Can we have a report of data trending in Salesforce? Hmmmm, Salesforce only report current data? But, is there a way to store historical data so we can use it for reporting?

Yes, if you are using Salesforce Enterprise or Unlimited edition, you can configure Reporting Snapshot to store historical data, but do not expect old historical data will be available before configured reporting snapshot. Only historical data for specific reporting snapshot will be available after configured and run properly.

Users with "Manage Reporting Snapshots" permission able to create and configure reporting snapshot. Each edition have a limited number of reporting snapshot can be created, so used it wisely.

Here is the summary to create and configured reporting snapshot:

1. Create a source report, this report type should be only tabular or summary.
Please note, the number of records will be created in target object will be the same with how many records in report result. For a tabular report, it will be one to one, and for a summary report, it will be by group summary or grand summary. If you choose grand summary, it will always create only 1 record in a target object.

2. Create a target object, this would be a custom object in Salesforce. Make sure the target object must not be included in a WORKFLOW.

3. Create fields in the target object, by default reporting snapshot will give us 3 information that we can capture into fields in target object: Reporting Snapshot Name, Reporting Snapshot Running User, Execution Time. Try to create field name similar or represent data will be created from source report.

4. Create the reporting snapshot, from Setup - Data Management - Reporting Snapshots. You need to enter: Reporting Snapshot Name (Job name), Running User, Source Report, Target Object, and Description (optional).

5. Map Fields from Source Report to Target Object, in this step, if your source report type is summary, you need to select grouping level. Applicable source report field will be available for each target object, it is based on the field type.

6. Create Schedule, you can set to email reporting snapshot to yourself, other user or to a group, and select frequency on daily, weekly and monthly basis. Available start time will be shown on this screen.

After the reporting snapshot has been run for a few times, you can build a report to show the trend.

Lastly, you can monitor ALL Reporting Snapshot in your Salesforce instance from Setup - Monitor - Scheduled Jobs. Create a new View and filter with Type = Reporting Snapshots, this will show the Job Name, Submitted ByStarted, and Next Scheduled Run. If the Next Scheduled Run is blank, this means that 'Reporting Snapshot' is no longer active.

In the past Reporting Snapshot is known as Analytics Snapshot.

Blog last updated: 2 Dec 2018

ReferencePrepare Reporting Snapshots


  1. Hi,
    Nice article.
    Just one question: what is the benifit of having analytical snapshot?

    1. Yoganand, it used for trend history, example: today you have 10 opportunity, but tomorrow you create 2 new opportunity, and delete 3 opportunity, so now you have 9 opportunity, if you do not capture, you do not know the trend day-by-day, got it?

    2. When we schedule the dashboard will get refreshed for every every schedule and the changes will be captured in the reports ...So the changes will be displayed in the I right? then y we need analytic snap shots

    3. The dashboard schedule for refresh will not capture in the report, you can configure it to send email to you or others. The purpose of dashboard refresh just to refresh dashboard data with latest data.

  2. Thanks.. Also if you can help how do we manage and define Target for a Sales Owner/Group and review the same for future months. Let's say we would like to analyze the opportunity closure by a Group vs. Target for past months and would also like to see the pipeline for future months. I am confused about setting Target as it is not defines as per opportunity, it is a lump sum amount which could be achieved from various opportunity closure.
    Please suggest here!!

    1. Prashant, it is a limitation from current Analytic Snapshot, it not allowed you to map User / Group into target object. You can have workaround by map it into a text field and work on it, it maybe not pretty, but can achieve your needs.

      Vote for this idea:


Page-level ad