EA Certification Study Guide Part 4: Dashboard Implementation

Kelsey Shannon
6 min readMay 26, 2019

--

In my opinion, this week’s study guide topic is the most dense in terms of content — get started early! The more hands on you can get with this portion of the material through Trailhead and personal experience the better off you will be.

This is especially true when it comes to the questions on SAQL, JSON, and XMD. While you won’t have to write any code for this exam you will have to be able to read and answer questions around snippets. The easiest way to get comfortable is to play around within Einstein Analytics and edit the code yourself.

Source: Einstein Analytics Tech Lounge, 4/4/2019

Sources:

  1. Trailhead Badges
    -Analytics Dashboard Navigation
    -Build Advanced Analytics Dashboards
    -Embed an Einstein Analytics Dashboard in Lightning Experience
    -Build a Gauge Chart That Visually Identifies Regional Data
    -Create a Custom Map for Analytics Charts
    -Mobile Analytics Exploration
  2. Salesforce Help Documentation
    -Explore and Visualize Your Data in Einstein Analytics
    -Build Einstein Analytics Dashboards
    -Embed and Customize Einstein Analytics
  3. Learning Map Resources
    -Unleash the Power of Compare Tables
    -Get to Know the Dataset Fields Panel
    -Create and Format Derived Measures
    -Trend Report Data in Einstein Analytics
    -Get to Know the SAQL Editor
  4. Documentation in Exam Guide
    -Bindings in Analytics Dashboards
    -Query Resource
    -SAQL Examples
    -Wave Funnel Powered by Custom SAQL
    -Timeseries
    -XMD Overview
    -Salesforce Summer ’17 Release Notes
  5. Einstein Analytics Training Videos
    -Videos 4, 8–9, 10–13, 22, and 24–32
  6. External Resources
    -Let’s Play Salesforce Videos: SAQL Basics and Binding Basics

Notes:

Terms

  • App: Like a folder with the ability to set permissions on everything inside. Holds the following elements:
    Lens: A visualization of data in a dataset
    Dashboard: Interactive collection of widgets that display query results
    Dataset: Specially formatted source data, optimized for interaction and exploration
    Stories: See Part 3 of the study guide
  • Step: Retrieves data from one of more data sources and can be displayed in different formats
    Query step: Executes a SAQL query against one of more datasets or a SOQL query against a Salesforce object
    Static step: Provides a static list of user-defined values, can be used to bind to the steps of other widgets
  • Widget: Building block of a dashboard, each widget performs a different action. Examples: Charts, tables, numbers, lists
    — Most have a wizard you use to build the widget
    — Widgets that display data require a step; can use the same step for multiple widgets unless it’s a date or range widget
    — Range, date, and toggle widgets can be used as filters
  • Faceting: Linking widgets by associating an element of their steps allowing users to interact with them
    — By default, widgets from the same step are faceted together
    — Can connect multiple datasets using “Connect Data Sources” functionality or through code using bindings

Bindings

Bindings are a more programmatic method of linking different widgets together. They are unidirectional and can effect measures, colors, groupings, and more.

  • Types of bindings:
    Selection binding: returns the selections in the input step to the output component. Ex: Toggles
    Results binding: Uses the result of the input step to update the output component. Ex: Reference line

Use cases

  • Create a static step in Einstein and add it to a toggle. Use bindings to connect changes to the query to the toggle.
  • Dynamic reference line. To accomplish this, clone the step you want to add a reference line to and update it to show the reference amount. (Ex: Original chart shows Amount per Opp and you create a reference line step that displays the average amount per Opp)
    — Add a static value as a reference line to the original chart
    — Add a binding to update the reference line to display the secondary cloned step.
    — Format inside Value: {{column(stepName.result,[columnNames]).asObject()}}
  • Use a binding to default a filter to the viewing user of the dashboard

Type of Filters

  • Global filters: Appear in a panel and can apply to multiple steps on the same dashboard
    — Best performance option of all the filters
  • Selection based filters: Gives users the ability to slice and dice the data from different angles
    — Ex: Selecting a region in a list widget
    — Will highlight the results that apply to that filter, not exclude other results
  • Query filter: Modifies the step’s query, reducing the number of results the user sees

Types of tables

  • Values table: Show dataset fields as columns
  • Compare table: Use to add calculated columns to the table
    — Can add measures and filters & group by dimensions
    — Utilizes SAQL formulas for calculations or window functions such as sliding window (running totals/moving average), percentage of a group, rank within group, period over period, change from previous, running total
    — Add up to 26 columns
  • 3 types of Compare Table formulas:
    — Basic: Simple math. Example: a/b, a+b
    — Window functions: 6 available, each with their own UI for setting up. Can reference other fields in the table.
    — Raw field formula: Choose a function and a field to apply that function to. Ex: agg(Amount)
  • Pivot table: Used to show groupings on the x- and y-axes

Advanced chart features

  • Can drill into charts and tables (although not values tables) to see additional information
  • Certain charts allow you to constrict a range’s scale to make a visualization easier to understand
  • Set up complex conditional formatting using SAQL
  • A custom domain sets up minimums and maximum values for the chart to filter out extremely large or small values and make the chart appear better

SAQL

Salesforce Analytics Query Language. Allows you to view and edit the query that is produced from a report.

  • If you run a query while exploring the filters become read-only in the chart and tables.
  • Unlike aggregateflex step types, SAQL steps provide limited support when the actual number of results exceed the limit the query can return

I recommend you run through the SAQL reference guide in resources for a good overview of the possibilities. Also check out the SAQL queries built inside App Templates SF provides for a view into the advanced features. Get hands on experience where you can!

XMD

Extended Metadata

  • Access the XMD through the dataset fields panel. Functionality:
    — View API names
    — Hide or show fields, rename fields
    — Specify how fields are displayed. Ex: Number of decimals shown, currency format, etc.
    — Add and format derived measures and dimensions — calculated field based on other fields in the dataset (Complex calculations can be created inside the SAQL editor)
    — Set the columns you view by default when initially exploring a lens based on that dataset
    — *Any changes will impact all lens/dashboards that utilize that dataset
  • Inside the dataset editor you can also add actions to dimensions such as “Create Opportunity”, “Post to Chatter” etc. Easiest to do this through the UI.
  • Can also download and edit the XMD file in a text editor then reupload to EA for more advanced control

Trend Report Data

  • Allows you to schedule a standard SF report to run in a dataflow and capture data trends over time

Time Series

Time Series is an analysis where you use existing data to predict future data points, a forecasting model.

Source: Developer Guide
  • Pre-built function inside SAQL that will detect seasonality and cycles within your data if there is enough data to work with.
    — Syntax: result = timeseries resultSet generate (measure1 as fmeasure1 [, measure2 as fmeasure2…]) with (parameters);

*Recommend reading through developer guide for this carefully and trying out an example within a test environment.

Embedding Dashboards

Can embed dashboards in many locations:

  • Lightning pages using Wave Dashboard component
  • Integrate into Analytics tab
  • Share with communities
  • Add to VisualForce page or Salesforce Classic page
    — Bulk actions can only be performed inside VF pages
  • Embed on mobile device

Next: Security

--

--