Suppose we have requirement for checking some specific fields values and we have to show percentages/Average/some calculation of them on Dashboard. We have the calculations at the dashboard level in a step/widget. And we want to know the trend of this data, how the data is getting evolved on daily basis. This data will provide an understanding of the company performance and also help in take business decisions.
But, these records are updated on daily basis in salesforce system. So, the percentage/average aggregation values of our data will get updated as well on daily basis. In this case we get daily the updated KPI and we will not be able to maintain or show a trend- how the data is transformed.
Now you can build a custom solutions to this problem by implementing a logic:- daily copy and append the data rows from main dataset to another dataset (say we call it snapshot dataset). But in this solution you will need to work on this manually and create the snapshot date as well. Instead of manually creating the logic you can also utilize the solutions provided by salesforce.
Salesforce provides Template app: these are ready solutions which have pre-built dashboards, with common KPIs and a dataflow which you need to schedule so it shows updated data always. This App can help in providing the business immediate answers to question around the data. This will save a lot of your development effort and time to value.
Solutions provided by salesforce are as follows:
Snapshot Analytics Template App: The Snapshot Analytics template creates the app to snapshot any existing Einstein Analytics datasets or Salesforce object. It will take snapshot from the day we create the app,and only for selected fields, even if the field history tracking is not turned on in salesforce. This app create a dataflow to snapshot data from your “original” dataset/ or SObject and collect the data over time in an additional dataset(Snapshot). Each snapshot(clone of original dataset) created will get an snapshot date, so we can create a trend report/KPI for comparisons on dashboard. We can set the snapshot frequency by rescheduling the Snapshot Analytics data flow. The App can record only one snapshot per day this is fix/limit from salesforce. Daily run will add rows to previous dataset rows, so this can impact the Einstein studio overall storage limits as they can get hit. When you create the app select the time you want the data to be stored for example: 365 or 90 days or 120 days etc.


Change Analytics Template App: takes historical data and builds an insightful dashboard , two dataset {Object_name} and {Object_name}History and a dataflow. The app can work on any Salesforce object that uses field history tracking in salesforce. This App will utilize salesforce history(example Asset History) to track all the selected fields. For the fields, we don’t have history tracking in salesforce we cannot select them and they will not be included in this app.
Trend Salesforce Report: We can trend a report from salesforce and it will trigger creation of dataset and dashboard in private app of the user trending the salesforce report. This dashboard is created based on the report and shows the trend of record changes in salesforce system. This App will utilize salesforce history to track all the report fields. For the fields, we don’t have history tracking in salesforce we will have history data from the day we create the trend.
With all the features provide by salesforce we do get limitations as well, do check them out before deciding the best solution out of all.
Thank you for reading the complete article. Hope it helped you. Happy Learning !!

I have 8+ yrs of experience in Sales, Service, Community and Analytics cloud. I love converting business intuition with technical skills into intelligent business analytics. I’m honored to be an Einstein Analytics Champion.
Also writing @Medium: https://medium.com/@gayatrisharma88