Typically a dashboard presents the viewer insights into important metrics that are presented along different dimensions. A popular chart like ‘Revenue by region’ is created as a bar chart which is grouped by region so that the revenue per region can be compared. Pie charts are also very suitable for comparing dimensions with each other. In order to gain more insight into different metrics for one dimension (for instance sales information in the EMEA region) a dashboard filter can be implemented, which filters all charts in the dashboard correspondingly. By doing so, there is no longer any insight into the EMEA performance compared to the other regions however.

In a lot of use cases it would be extremely insightful to have a ‘split-view’ dashboard, which has information (numbers, charts, etc.) on the left-hand side based on value 1 (for instance the Americas region) and the same information structure on the right-hand side based on value 2 (in this case the EMEA region). In Einstein Analytics there is a simple way to establish such a dashboard, and this is what I’ll describe in this blog.

Dashboard

The sample dashboard I have created to illustrate the ‘split-view’ functionality is about total Opportunity amount by region. The dashboard is displayed in the video below.

With this dashboard the viewer can compare 2 regions (in this example the regions are Americas, EMEA and APAC), by filtering the left-hand side and the right-hand side by different regions. In this approach, instead of comparing data in individual charts (using groupings), complete ‘dashboards’ can be compared. This will give a lot more insights into the differences between the chosen regions. Any chart can be added to this dashboard, the dashboard above is merely meant to illustrate the technique of the ‘split-view’. Note that the ‘Pages’ functionality has been used to ‘switch’ between the Pipeline – amount view and the Open Opps table view.

Use cases

Next to a revenue or pipeline analysis by region you could think of different use cases in which a ‘split-view’ dashboard would provide important information. The dashboard that gave me the idea of a ‘split-view’ dashboard is based on CO2 reduction by sustainability scenarios through which stakeholders can make an informed decision on which scenario to choose in order to have the best CO2 reduction effects while sticking to a budget. Alternatively, a ‘Case statistics by channel’ dashboard can compare any number of metrics for the two channels the dashboard viewer is looking to analyze. 

Simple solution 

The above dashboard can be established by performing a very simple dataflow manipulation. This can be done in the Einstein Analytics Data Manager. For the simple solution no coding in JSON or SAQL is needed!

A basic dataflow typically consists of the following components:

  • 1 or more digest operations that pick up the data from a Salesforce object
  • Augment operations to link data from different Salesforce objects 
  • A single register operation which stores the data into a dataset in the Einstein Analytics environment

In the example from the dataflow screenshot above data is picked up from the Opportunity object as well as from the Account object. In the augment step the Account information is added to the rows of the Opportunity data (based on the Account ID on the Opportunity records), and finally a dataset is created through the ‘register_Opps with Accounts’ operation.

In order to be able to build the Compare dashboard, all you need to do is register a second dataset (which is a duplicate of the original dataset as it is based on the same dataflow transformation path). After running the updated dataflow you end up with two identical datasets, and you can move on to building the dashboard. 

In the Compare dashboard you start with the widgets (including the region filter) on the left-hand side, which are all based on the original dataset. The next step is to re-create every widget and place it on the right-hand side, this time using the duplicate dataset. With this, you are able to filter half of the components by one value and the other half by another value. That’s all there is to it!

Considerations

Since in the suggested approach a duplicate dataset will be created, this solution is suitable for datasets that contain hundreds or thousands of rows and it is not suitable for datasets with millions of rows. Please consider the Einstein Analytics limits as the limit of maximum amount of rows is across all datasets. For scenarios in which the suggestions approach is not a good fit, the ‘JSON solution’ in the next segment of this blog may be used. In this solution you’ll need to work with bindings that use JSON syntax. 

JSON solution 

In order to create the same functionality of the Compare dashboard (but without the need of a duplicate dataset), the first action you need is to create a static step which you are going to use as my region filter (in fact I need 2 static steps: one for the left-hand side and one for the right-hand side):


This static step should be set to ‘Single selection (required)’ and an initial selection must be set. Next up is creating the widgets that should be part of the (left-hand side of the) dashboard. The associated steps should all have ‘Apply filters from faceting’ = false (as we will use a binding to set the filtering instead of the standard faceting).

Now you can move to JSON-mode and bind the selection of the static step to every other step. The static step looks like this:

The binding that is needed in each step is a selection binding that passes the value of the static step to the step and sets it as the filter value:

The behaviour of the binding is similar to a normal filter (as in the simple solution): choosing a value for region (for instance APAC) will filter all information on the left-hand side of the dashboard, leaving the right-hand side unchanged. For this side, you need a duplicate static step which is then associated to every step on the right-hand side using the same binding structure as before.

There you have it: two ways to establish a Compare dashboard. The simple solution requires no coding knowledge at all, but the JSON solution is also not very difficult to set up. I’m sure the resulting dashboard will be well received by many of your stakeholders.

This blog was written by Rogier Maaten, senior Salesforce Architect at Nextview and part of the 2019-2020 Analytics Champion program.