Furthermore, there are Salesforce report only fields, these fields are not available in the object, such as Last Stage Change Date, Stage Duration, Is Split in Opportunity report, Last Activity, Unread by Owner in Lead and many more.
How we can bring this information from Salesforce to Einstein Analytics? The answer is using Trend. But, as you know, trend will keep adding data to the dataset, while the requirement here is to have the exact number of rows between Salesforce with Einstein Analytics.
Solution: let us build a dataflow to manipulate the dataset produced by the trend.
1. Trend Salesforce Report
There is nothing fancy here, just open the report and click Trend button, you need to specify the Dataset name, Dashboard title, Schedule Frequency, Days, and Time. Once you click the Trend button, the system will run this in the next few minutes so you can see the dataset and dashboard created in Einstein Analytics.
2. Open Dataset
Edit dataset created by Trend, and take note the dataset API name.
3. Create Dataflow
Here is the logic of dataflow:
a). Read Dataset created by Trend, e.g. Dataset-Source
b). Get other objects from Salesforce as necessary, and augment with Dataset-Source, you can do all the data manipulation here.
c). Register the data as a new dataset, e.g. Dataset-Target
d). Clean Dataset-Source, you can use Filter transformation using filter where the result would be blank.
e). Register clean data where Alias = dataset API name from step 2 above, and Name equal to Dataset Name. This step with the alias and name is very important, this will make sure to overwrite trend data with blank data.
f). Schedule the dataflow, make sure it only runs after Trend schedule, to be safe, you can make a 1-hour difference between the schedule.
A sample of a dataflow using this solution:
- Unsupported Salesforce Objects and Fields in Analytics
- Trending Salesforce Data in Analytics
- Limits and Limitations for Trending Data in Analytics