Salesforce Analytic Snapshots (Report On Historical Salesforce Data)

Thankfully, there is an easy solution to this problem – Salesforce Analytic Snapshots  (now known as Reporting Snapshots). Using Salesforce Analytic Snapshots you are able to create and store snapshots of data that you want to monitor, using custom objects. There are quite a few articles online that talk about Salesforce Analytic Snapshots but I found the advice to be limited. After figuring it all out, I thought I should put together this step by step guide to help other people, like me. Good luck. Share

Step by step guide to setting Salesforce Analytic Snapshots

Otherwise know as “How I was able to create and store daily snapshots of open Opportunities and their values” This guide is made up for three parts

  • Part 1: Creating your Report
  • Part 2: Creating a Custom Object to hold the Data
  • Part 3: Create an Automation which saves data from your source report into your Custom Object

1: Creating your Report

Create a New report by going to Reports | New Report REPORT Choose the Report type you want to use (For this example we’re interested in Open Opportunity Value but you could use any Object) Select the ‘Opportunity’ Object and then hit ‘Create’ Drag in the columns you want to monitor and click ‘Run Report’ As you can see above I have chosen Opportunity Name,  Owner and Value as the columns. It’s worth mentioning the report has to be in Tabular or Summary format. I would also recommend choosing fields that are regularly updated to utilize the power Analytic Snapshots. Save your report with an easy to understand name…

2: Creating a Custom Object to hold the Data

Create a Custom Object by going to Setup | Create | Objects | New Custom Object create custom object Give your Custom Object an easy to remember name and make sure the “Allow Reports” check box under Optional Features and the “Deployed” option under Deployment Status are both checked. Hit Save In your Custom Object, you now need to create Custom Fields to hold the data from your source report. Give your Custom Fields the same names as the columns in your source report. Do this by clicking on New under Custom Fields & Relationships In this example we need to create Custom Fields “Opportunity Name”, “Owner” and “Opportunity Value” to mirror the columns in my source report

3: Create an Automation job which saves the data from your source report in your Custom Object

By creating an Analytic Snapshot, You are specifying a time and frequency for your source report to run and then be saved in the Custom Fields you created moments ago. Go to Setup | Data Management | Reporting Snapshots | New Reporting Snapshot Source Report - Target Object Give your Analytic Snapshot a name. Make sure the Running User has permission to view and report on the data you’re going to push into your custom object. Choose the Source Report and Custom Object, you created moments ago, from the Source Report and Target Object drop down list respectively. Hit Save & Edit Field Mappings Map the columns from your source report to the right fields in your custom object field map Hit Save Click on Edit under Schedule Reporting Snapshot to choose the frequency and the time you wish for your Source Report to run and be saved in your custom object Frequency


You have successfully created a Salesforce Analytic snapshot.

At the time you specified, the source report will run and the data will be saved in your custom object. Now go to Report | Create new report, Under Other Reports you will find your new custom object. final report You can now wait for the report to run at the scheduled time or you could manually insert data in to your new custom object, just as you would with a standard object in Salesforce. After all, it’s all about helping you keep Salesforce data more accurate than ever before. Quick tip: The Salesforce Success Community is my go-to source for troubleshooting. This Schedule and Run a Reporting Snapshot post helped me a lot when I was creating my first Analytic Snapshot.]]>