Analytics
Analytics
Analytics
@salesforcedocs
Last updated: March 8, 2024
© Copyright 2000–2024 Salesforce, Inc. All rights reserved. Salesforce is a registered trademark of Salesforce, Inc., as are other
names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2315
ANALYZE YOUR DATA
Unleash the power of data to drive better business decisions. Connect data sources, gain deep understanding of your business and
customer data, and deliver timely, actionable insights and predictions to your teams within the context of their work.
Reports and Dashboards CRM Analytics Learning Map Tableau Learning Map
Reports Direct Data for Data Cloud Data Cloud for Tableau
Data Cloud Reports and Dashboards Industry Apps and Prebuilt Apps Explore Metrics with Tableau Pulse
Analytics Tab Einstein Discovery Learning Map Marketing Cloud Intelligence Learning
Map
Collections Einstein Discovery for Reports
Slack
Mobile
1
Analyze Your Data Salesforce Analytics Tools
2
Analyze Your Data Salesforce Analytics Tools
3
Analyze Your Data Reports and Dashboards
4
Analyze Your Data Reports and Dashboards
Filter Reports
Help
• Filter Reports by Values
• Filter Across Objects with Cross Filters
• Filter Reports with URL Parameters in Lightning Experience
Video
• How to Use Cross Filters (Lightning Experience)
• Dynamically Filter Reports Using URL Parameters
(Lightning Experience)
• Using Cross Filters in Reports (Salesforce Classic)
5
Analyze Your Data Reports and Dashboards
Troubleshoot Reports
Video
• Making Your Reports Run Faster (Salesforce Classic)
Filter Dashboards
Help
• Filter a Dashboard
Share Dashboards
Help
• Report and Dashboard Folders
6
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
Video
• Manage Report and Dashboard Folders (Lightning
Experience)
Troubleshoot Dashboards
Help
• Why Doesn't My Dashboard Display the Data I Expect?
Note: If you can’t find the Analytics tab or accidentally remove it, refer to the steps in
Personalize the Navigation Bar in Lightning Experience. USER PERMISSIONS
Use the search bar (1) for keyword searches and Browse (2) to locate specific reports and dashboards. To access the Analytics tab:
The cards in For You (3) organize your reports and dashboards and help you find what you’re looking • Legacy Folder Sharing
for quickly. Go to My Analytics (4) to access content from a chronological listing and Favorites (5). Run Reports AND
Use Collections (6) to curate and organize analytics across different folders, and share them with Manage
other users. Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
Customize
Dashboards
7
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
SEE ALSO:
Add a Report or Dashboard Folder as a Favorite
Create a Report or Dashboard Subfolder in Lightning Experience
Create a Lightning Report or Dashboard Folder
Global Search for Folders
Quick Search for Folders
Rename a Report or Dashboard Folder in Lightning Experience
Share a Lightning Report or Dashboard Folder
8
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
USER PERMISSIONS
9
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
10
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
11
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
USER PERMISSIONS
12
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
SEE ALSO:
USER PERMISSIONS
Curate and Share Insights with Collections
To use collections:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
Customize
Dashboards
13
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
USER PERMISSIONS
14
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
3. From the Share With dropdown, select who you want to share with.
USER PERMISSIONS
4. For Name, enter the name you want to match. The name must match the category (such as user, group, or role). For example, if
you select User as the category, specify the name of a user.
5. Select the folder access level for the user, role, group, or territory.
15
Analyze Your Data Manage Your Reports and Dashboards on Analytics Home
Note: The Analytics tab doesn’t support sharing with partner roles. To share with a partner role, access the Share Folder
window from the Reports or Dashboards tab.
6. Click Share. The sharing setting is applied to the Who Can Access list. Continue to add entries as needed. You can share with users,
groups, roles, territories, or a combination. If a user is identified in more than one entity, the greatest permission is granted. For
example, a group is added with view only, but a user in the group is also added with edit or manage permissions. In this case, the
edit or manage permissions apply to that user. To delete a Who Can Access entry, click X to the right of the entry. To modify the
access level for an entry, select a new access level.
7. When you’re done, click X in the upper corner of the dialog box to close it and return to the page you were on.
16
Analyze Your Data Reports
The folder is now available on the Folders list for organizing your Lightning reports or dashboards.
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home
Reports
Reports give you access to your Salesforce data. You can examine your Salesforce data in almost
EDITIONS
infinite combinations, display it in easy-to-understand formats, and share the resulting insights with
others. Before building, reading, and sharing reports, review these reporting basics. Available in: Salesforce
As you prepare to report on your Salesforce data, keep these tips in mind: Classic (not available in all
orgs) and Lightning
• Well-designed reports run faster.
Experience
• Before building your report, consider writing down each of the questions your report must
answer. This way, your report is sure to return all the data you need. Available in: Essentials,
Group, Professional,
• Reports are shared via folders. Whomever has permission to the folder your report is saved in
Enterprise, Performance,
also has access to your report. Ensure that you save your report in an appropriate folder. Unlimited, and Developer
Before building your first report, familiarize yourself with these features and concepts. Editions
Report Builder Available in: Enhanced
The report builder is a visual, drag-and-drop tool which you use to create reports and edit existing Folder Sharing and Legacy
ones. The report builder is where you choose a report type, report format, and the fields that Folder Sharing
make up your report.
You can launch the report builder from the Analytics tab or the Reports tab.
• To start a new report, click Create > Report on the Analytics tab or New Report on the Reports tab.
• To edit a report, find the report on the Analytics tab or Reports tab and select > Edit.
Fields
One or more fields describe each report result. If you imagine that your report as a table of information, then each row is a result and
each column is a field.
For example, a human resources manager creates a report about employees. Each result is an employee, and each field is a different
piece of information about the employee: first name, last name, job title, start date, and so forth.
When you create or edit a report, you choose which fields you want to include in your report. To ensure your reports run quickly, it’s
a good idea to include only the fields that you need.
Filters
Limit the data that your report returns by using filters. Filters are useful for many reasons, such as focusing your report on specific
data, or ensuring that your report runs quickly.
For example, say your report returns all the Cases in your company, but you only want to see Cases which are open and assigned to
you. Filter the report on the Owner field and Status field.
Add filters in the Report Builder. In Lightning Experience, you can add, edit, or remove filters while reading a report, too.
Report Types
The report type governs which fields are available in your report. For example, File and Content reports have fields like File ID,
File Name, and Total Downloads. Accounts reports have fields like Account ID, Account Name, and Phone.
The first thing you do when creating a report is choose a report type.
17
Analyze Your Data Reports
Report Format
The report format specifies how your report results are laid out. Available formats are tabular (no grouping), summary (grouped by
rows), matrix (grouped by rows and columns), or joined (with report blocks that provide different views of your data). In the Salesforce
Classic report builder, you must choose a report format before grouping data. In the Lightning report builder, the report format
automatically updates as you group report data.
Build a Report
When you have questions about your Salesforce data, like “How much revenue did we earn in the South East last quarter?”, “Which
lead source is generating the most closed opportunities?”, or “What is the average age of all open cases?”, build a report to get the
answers.
Customize Report Views in the Run Page
Use the power of Lightning Experience when you review and analyze your report records in the run page.
Updating Multiple Fields Inline on the Report Run Page in Lightning Experience
Keep records up to date by editing field values directly on tabular, summary, and matrix reports.
Filter Report Data
What if your report gives you more data than you need? Use filters to pare down your report until it only shows the data that you
want.
Schedule and Subscribe to Reports
Receive notifications that keep you informed about metrics you care most about without having to manually run reports. In Salesforce
Classic, you can specify criteria that trigger report notifications.
Export and Connect Reports to Other Tools
Export or connect a report to another tool, such as Quip, to work with report data outside of Salesforce.
Drill Down into Your Reports to Learn Even More
Drill-down helps you take a closer look at records in a report. For example, as a sales manager, drill-down can help you track the
progress of just a few of your reps or review the breakdown of current opportunities based on type.
Organize Reports
Keep your reports at your fingertips by sorting them into folders and deleting unused reports. If you have a lot of reports, you can
use the search field to find the one you need.
Analyze Reports with Einstein Discovery for Reports
Einstein Discovery for Reports (previously known as Einstein Data Insights) scans your report data - quickly and thoroughly - using
artificial intelligence and comprehensive statistical analysis. Einstein Discovery for Reports goes deep into the report data, explores
underlying patterns, identifies insights, and surfaces those insights with charts and explanations that are easy to understand. Einstein
Discovery for Reports works with Tabular and Summary reports.
Troubleshoot Reports
Use these tips to help solve problems that arise when you’re working with reports.
Improve Report Performance
If your report is running slowly, it’s generally because it’s processing a lot of data, which can be reduced with filters and other methods.
Review these best practices and recommendations to optimize your report and help it run faster.
18
Analyze Your Data Reports
Build a Report
When you have questions about your Salesforce data, like “How much revenue did we earn in the
EDITIONS
South East last quarter?”, “Which lead source is generating the most closed opportunities?”, or “What
is the average age of all open cases?”, build a report to get the answers. Available in: both Salesforce
Classic and Lightning
1. Build a Report in Lightning Experience Experience
Lightning Report Builder is a powerful and intuitive tool for analyzing your Salesforce data. Available in: Essentials,
Group, filter, and summarize records to answer business questions like “How much revenue Group, Professional,
did we generate from new business in California last quarter?” For a visual overview of your Enterprise, Performance,
data, add a report chart. Refresh the preview to see progress as you build. When finished, run Unlimited, and Developer
your report to see the full results. Editions
2. Build a Report in Salesforce Classic Available in: Enhanced
Report Builder is a drag-and-drop tool for accessing your data quickly and comprehensively. Folder Sharing
Use it to set up new reports and edit existing ones.
3. Show Report Data Graphically
To help readers understand your data quickly and easily, show the data in chart form. Charts appear just above the report table. They
can help users get a feel for the data before they delve into the details. Use line charts to track changes over time, or a bar or pie
chart to compare values at a point in time. You can add a chart to any report that’s grouped by rows (summary report) or rows and
columns (matrix report). Charts can also appear in dashboard widgets.
4. Show Report Data in Tables
To help readers scan for data easily, hide details and ranges, limit the number of results shown, and highlight with color. You can
also show your table in a dashboard widget.
5. Categorize Data with Bucket Columns
Quickly categorize report records without creating a formula or a custom field by bucketing them. When you create a bucket column,
you define multiple categories (buckets) used to group report values. Like any other column in your report, you can sort, filter, and
group by bucket columns.
6. Evaluate Report Data with Formulas
Reports feature built-in basic math functions (sum, average, min, and max) that you can apply to any numerical column in a report.
When you're ready to perform advanced logical or mathematical operations, write a formula.
7. Count Unique Values in Report Results
See how many distinct values a column in your report returns with a unique count.
8. Combine Different Types of Information in a Joined Report
The joined report format lets you view different types of information in a single report. A joined report can contain data from multiple
standard or custom report types. You can turn any existing report into a joined report using the report builder.
9. Report on Historical Changes
On top of the standard up-to-the-minute reporting on the current state of your business, you can analyze day-to-day and week-to-week
changes in opportunities, cases, forecasts, and custom objects.
10. Report Type Reference
The report type you choose determines which records and fields appear in your report. For example, the Opportunities report type
gives you access to Opportunity records and fields like Amount, Stage, and Opportunity Owner.
19
Analyze Your Data Reports
SEE ALSO:
Customizing Reports in Salesforce Classic
4. To add a column to your report, choose a field in the Add column dropdown.
To remove a column from your report, in the Columns list click .
Removing a column from your report doesn’t delete the field. You can also add the column back later.
6. To group records in your report, choose a field in the Add group dropdown. You can group up to two rows and two columns.
After adding a group, you can show or hide detail rows, subtotals, and a grand total by clicking the switches at the bottom of the
preview pane.
20
Analyze Your Data Reports
Note: For a report that is grouped by rows and columns (matrix report), the preview sometimes shows different results than
the actual report.
After grouping records by a date field, you can also customize date granularity. First select the date field that you want to group your
report by. Then, for Group Date By, apply a calendar or fiscal period.
To ungroup records in your report, find the group you’d like to ungroup and then click . To ungroup all groups in your report,
from the Groups list, click .
Removing a group also removes the column from your report. If you still want to show the column, add it back.
8. To add a chart, first add at least one group, and click Add Chart.
•
To customize the chart, click . Change the chart type, color palette, and more.
• To show or hide the chart, click .
•
To remove the chart, select > Remove Chart.
9. Click Save. If this report is new, give it a name and, optionally, a description. With access and sharing in mind, save the report in an
appropriate folder.
10. To view the report results, click Run.
As you get ready to build reports with Lightning Report Builder, take note of how it differs from the Salesforce Classic Report Builder.
Remember, with the appropriate user permissions, both builders are available in Lightning Experience.
Charts Lightning Report Builder features the same charts as the report
view in Lightning Experience.
21
Analyze Your Data Reports
22
Analyze Your Data Reports
SEE ALSO:
Keep Working While Your Report Preview Loads
Build a Report
Report Fields in Salesforce Classic
Choose a Report Type in Salesforce Classic
Customizing Reports in Salesforce Classic
Report Formats in Salesforce Classic
Creating a Custom Report
Combine Different Types of Information in a Joined Report
23
Analyze Your Data Reports
To schedule reports:
• Legacy Folder Sharing
Schedule Reports
Enhanced Folder
Sharing
Schedule Reports
24
Analyze Your Data Reports
25
Analyze Your Data Reports
Summary to Matrix The first summary grouping becomes the first row grouping. The second becomes the
first column grouping. The third becomes the second row grouping.
If you're using the report wizard, the third summary grouping is removed.
Matrix to Summary The first row grouping becomes the first summary grouping. The second row grouping
becomes the third summary grouping. The first column grouping becomes the second
summary grouping. The second column grouping is removed.
If you're using the report wizard, both the second row grouping and second column
grouping are removed.
Tabular, Summary, or Matrix to Joined The existing report becomes the first block in the joined report, and the report type
becomes the principle report type for the joined report.
Joined report blocks are formatted as summary reports, so if you switch from a summary
to a joined report, your groupings stay the same. If you switch from a matrix to a joined
report, groupings are converted the same way as when you switch from a matrix to a
summary report.
The following items aren’t supported in joined reports, and aren’t converted:
• Bucket fields
• Cross filters
• The Rows to Display filter
SEE ALSO:
Build a Report in Salesforce Classic
26
Analyze Your Data Reports
USER PERMISSIONS
• To change the order of groups, drag the group. You can also click the group menu and choose Move Group Up, Move Group
Down for column groupings, or Move Group Left or Move Group Right for row groupings.
SEE ALSO:
Report Fields in Salesforce Classic
Subtotal Report Results in Salesforce Classic
27
Analyze Your Data Reports
Note: For each external object in the report, your org calls out to the external system each time the preview loads. If the URL of
a report callout approaches or exceeds 2 KB, your org splits the request into multiple HTTP calls, with each URL being less than 2
KB.
You can continue working in the report preview while the following actions occur:
• Add, remove, or reorder fields
• Add or remove summary fields
• Add, remove, or reorder groupings
• Remove formulas
If you remove a summary field or formula used in a chart, the chart reloads, but the report preview loads asynchronously. Asynchronous
loading isn’t available for matrix and joined reports.
You can’t work in the report preview while the following actions occur:
• Add or edit formulas
• Remove a report's only grouping
• Remove a column used to limit the row count for a tabular report
• Sort the report by group or column
• Update standard or custom filters
• Change report format
• Show or hide report details
• Add or remove a chart
• Add or remove conditional highlighting
• Change Group Dates By
• Change a converted currency field
• Save the report
SEE ALSO:
Build a Report in Salesforce Classic
Report Fields in Salesforce Classic
28
Analyze Your Data Reports
• Fields Pane (1): Find the fields you want using the Quick Find search box and field type filters, then drag them into the Preview pane
to add them to the report. You can create, view, edit, and delete custom summary formulas and bucket fields in the Fields pane as
well.
In the joined report format, the Fields pane displays fields from all report types added to the report, organized by report type.
• Filters Pane (2): Set the view, time frame, and custom filters to limit the data shown in the report.
29
Analyze Your Data Reports
• Preview Pane (3): The dynamic preview makes it easy for you to customize your report. Add, reorder, and remove columns, summary
fields, formulas, groupings, and blocks. Change the report format and display options, or add a chart. The preview shows only a
limited number of records. Run the report to see all your results.
Watch a Demo: Getting Started with Report Builder (Salesforce Classic)
SEE ALSO:
Build a Report
Build a Report in Salesforce Classic
Note:
• When you add multiple fields, they appear in the report in the order selected.
• For summary and tabular formats, disable Show > Details when adding multiple summarizable fields to a report. The
Summarize dialog automatically appears, letting you select summaries for all the fields at once.
• Enable Show > Details when adding non-summary fields, such as text fields to a report.
• When working with a joined report, you can select multiple fields from the Common Fields category and one report type.
You can’t select multiple fields from different report types.
30
Analyze Your Data Reports
SEE ALSO:
Evaluate Groups and Totals with Summary Formulas
Group Your Report Data in Salesforce Classic
Summarize Report Data
Highlight Data Ranges with Conditional Formatting
31
Analyze Your Data Reports
Note: For dashboard widgets, smart totaling isn’t used. For example, in a dashboard table, the total displayed is simply the sum
of the values listed in the table.
SEE ALSO:
Subtotal Report Results in Salesforce Classic
Subtotal Report Results in Salesforce Classic
USER PERMISSIONS
32
Analyze Your Data Reports
SEE ALSO:
Present Data Effectively with Charts
Add a Chart to a Report
Chart Properties
Combination Chart Examples
Show Multiple Sets of Data in One Chart
33
Analyze Your Data Reports
34
Analyze Your Data Reports
Chart Properties
You can add a chart to any report that’s grouped by rows (summary report) or rows and columns
EDITIONS
(matrix report). The chart properties specify the data that appears in the chart, its labels and colors,
and any conditional highlighting. Available in: Salesforce
The tables in this topic describe the properties for report charts. Not all properties are available for Classic (not available in all
all reports. To view and edit report properties: orgs) and Lightning
Experience
• In the Lightning Experience report builder or report run page, click .
Available in: Essentials,
• In the Salesforce Classic report builder, click Add Chart or Edit Chart and edit the fields on the
Group, Professional,
Chart Data and Formatting tabs.
Enterprise, Performance,
Unlimited, and Developer
Chart Data Settings Editions
Control the data that appears in your chart with these options. Available in: Enhanced
Folder Sharing and Legacy
Field Description Folder Sharing
Chart Type Select the type of chart to use when representing the data in your
report. The chart type that you choose determines which chart USER PERMISSIONS
properties are available to set.
To create, edit, and delete
X-Axis and Y-Axis Choose what values to display on the axes of your chart. Depending reports:
on the chart type, axis values can be record count, summary fields, • Legacy Folder Sharing
or groupings defined in the report. Create and
Customize Reports
Note: If the Y-axis corresponds to a custom summary formula
AND
that has the Where Will this Formula Be
Displayed? option set to a grouping level other than Report Builder
All summary levels, then the X-axis and Groupings Enhanced Folder
selection must correspond to that custom summary formula's Sharing
grouping level. Create and
Customize Reports
Combination Chart Select this option to plot additional values on this chart. The chart AND
type you chose must allow combination charts. Report Builder
Groupings Choose how to group information on your chart. You can only pick
from groupings defined in the report. For bar and column charts, click
an icon to select the grouping display: side-by-side, stacked, or stacked
to 100%. For either single or grouped line charts, you can select
Cumulative.
Values Choose what to display as values for your pie, donut, or funnel chart.
Wedges Choose what to display as wedges for your pie or donut chart.
Chart Presentation
Control the appearance and behavior of your chart using these options.
35
Analyze Your Data Reports
Field Description
Chart Title Enter a name for the chart.
Title Color Select the color for the text of your chart title.
Title Size Select the font size for the text of your chart title. The maximum size is 18. Larger values are shown at
18 points.
Text Color Select a color for all the text and labels in your chart.
Text Size Select a font size for all the text and labels in your chart. The maximum size is 18. Larger values are shown
at 18 points.
Background Fade Choose a direction for a gradient color background. Also select a Start Color and End Color
for the gradient. Use white for both if you don’t want a background design.
Legend Position Choose a place to display the legend in relation to your chart.
Combine Small Combine all groups less than or equal to 3% of the total into a single “Others” wedge or segment. Deselect
Groups into to show all values individually on the chart. This setting applies only to pie, donut, and funnel charts.
“Others” This option is on by default for pie and donut charts, and off for funnel.
X- or Y-Axis Range Choose a manual or automatic axis range for bar, line, or column charts. If you choose manual, enter
numbers for the minimum and maximum axis values to be displayed. If there are data points outside
the range that you set, the axis automatically extends to include those values when you generate the
chart.
Show Axis Labels Display labels for each axis of your chart. This setting applies only to bar and line charts.
Show Labels Display labels for your pie, donut, or funnel chart.
Show Group % Display the percentage value for each group in the chart.
Show X- or Y-Axis Display the values of individual records or groups on the chart axis. This setting applies only to certain
Values horizontal bar and vertical column charts.
Show Values Display the values of individual records or groups on the chart. This setting applies only to certain chart
types.
Show Wedge % Display the percentage value for each wedge of pie and donut charts.
Show Total Display the total value for the donut chart.
Show Segment % Display the percentage value for each segment of funnel charts.
Show Details on Display values, labels, and percentages when hovering over charts. Hover details depend on chart type.
Hover Percentages apply to pie, donut, and funnel charts only. Hover is disabled when viewing charts that have
more than 200 data points.
Chart Size Select a size for the chart, from Tiny to Extra Large.
36
Analyze Your Data Reports
Conditional Highlighting
Highlight field values reports based on ranges and colors you specify. You can apply conditional formatting to reports that are grouped
by rows (summary reports) or grouped by rows and columns (matrix reports).
Field Description
Summary Choose a summary field whose number ranges you want represented by colors.
Low Color Select a color to represent data that falls below the Low Breakpoint value.
Low Breakpoint The number that acts as the threshold between the Low Color and the Mid Color. Values that
are the same as the Low Breakpoint value are shown as the Mid Color.
Mid Color Select a color to represent data that falls between the Low Breakpoint and High Breakpoint
values.
High Breakpoint The number that acts as the threshold between the Mid Color and the High Color. Values that
are the same as the High Breakpoint value are shown as the High Color.
High Color Select a color to represent data that falls above the High Breakpoint value.
SEE ALSO:
Chart Types
Customizing Reports in Salesforce Classic
37
Analyze Your Data Reports
• Negative values are displayed on all line charts and bar and column charts.
In Salesforce Classic, negative values don't appear on pie, donut, and funnel charts. Groupings containing negative values appear
in the legend, and negative values are reflected in the calculation of all summary values, including the total for donut charts.
In Lightning Experience, negative values appear on donut and funnel charts.
• When creating charts, it isn’t good practice to group by a field on a child object and then sum by a field on the parent object. On a
donut chart, for example, it’s possible that the total shown doesn’t match the sum of the wedges.
• In Salesforce Classic, dashboard and report charts that display values from summary formulas display decimal places using your
default currency setting instead of what you specified for the formula. For example, if the summary formula specifies zero decimal
places, no decimal places appear in columns, but chart values show the number of decimal places specified for your default currency
(usually two decimal places). This limit applies to currencies, numbers, and percentages.
• With joined reports, summary field names contain both the field name and the block name. For example, if you’ve summarized the
Amount field in Block 1, it appears as Block 1 — Sum of Amount in the Chart Editor. A cross-block or standard custom
summary formula contains the block name when the formula is included in multiple blocks.
• When a report already has a chart, changing the report format or removing blocks, groupings, or summary fields has the impacts
described in this table.
Switch format from summary to matrix The first summary grouping becomes the first row grouping. The second becomes the
first column grouping. The third becomes the second row grouping. The chart is
unchanged.
38
Analyze Your Data Reports
Switch format from summary or matrix to The existing report becomes the first block and the chart remains in the report.
joined If the matrix report used the second column grouping, that grouping is replaced by
the first available summary field that’s not already used in the chart.
If the summary or matrix report included a grouping from a bucket field, the grouping
is replaced with the next available grouping not already used in the chart.
Switch format from joined to summary or The first block becomes the report, and groupings and the chart are preserved. If the
matrix chart in the joined version contained summary fields from the first block, they remain
in the chart in the summary report. Summaries from other blocks are removed from
the chart.
Remove a block containing a summary The summary field is replaced with the next available summary field. If no additional
field from a joined report summary fields are available, the original field is replaced with the record count from
the first remaining block. Removing all blocks from a report removes the chart
completely.
Remove a grouping used in the chart The grouping is replaced with the next available grouping. If all groupings are removed,
the chart is removed as well. Groupings can be removed automatically when you add
a report type to a joined report or if a field becomes unavailable, for example as a result
of field-level security.
Remove a summary field used in the chart The summary field is replaced with the next available summary field. If no additional
(including custom and cross-block summary fields are available, the field is replaced with the record count for either the
summaries) report or the first block. Summary fields can be removed automatically, for example
as a result of field-level security or when the report format changes.
SEE ALSO:
Add a Chart to a Report
Chart Formatting Options
Show Multiple Sets of Data in One Chart
39
Analyze Your Data Reports
6. The X axis for the chart is the field for the row grouping. If the report is grouped by multiple AND
rows, select the one to use as the X axis. Report Builder
7. For the Y axis, select a measure field. Enhanced Folder
Sharing
8. To display a reference line, click Show Reference Line and enter the reference value. Create and
9. If your chart is a line chart and you want to display cumulative values, select Cumulative. Customize Reports
10. To add another measure of the same type, click + Measure and select the measure field to AND
add. For bar chart and column charts, you can add up to 3 additional measures. Report Builder
11. If your chart is a column chart, you can display the second measure as a line chart. Select Plot
as Line Chart. To display a separate axis for the line chart on the right, select Plot on Second
Axis. The measure for the second axis can be different than the measure for the first axis. For example, if the column chart shows
Amount, you can add Percentage as a line chart using a second axis.
12. After adding measures and modifying any other settings, click Run Report or Save.
In Salesforce Classic, to display multiple measures on the same chart, follow these steps:
1. Edit the chart for any summary or matrix report, or edit a dashboard component that displays a summary or matrix report.
2. Choose a chart type that allows combination charts:
• Bar chart
• Column chart
• Grouped column chart
• Stacked column chart
• Line chart
40
Analyze Your Data Reports
3. Select the Plot additional values checkbox. The chart preview updates as you configure your combination chart.
4. To plot on the chart, select a Value.
5. Choose a Display option. Available options differ based on your chart type and whether you're editing a chart or a dashboard
component.
• For columns or bars, click Add Bar or Add Column links to add up to three sets.
• When adding a line to a vertical column chart, select Use second axis to show a separate axis for the added line on the right
side of the column chart. A separate axis can be useful when the two values have different ranges or units.
Note: Selecting Use second axis makes more values available in the Value dropdown list. Without this option, you
can only pick from values of the same type as the primary Y axis—for example, number, currency, or percentage. This
option is only available for certain combination charts.
6. When you've finished setting up your report, click Run Report or Save.
Note:
• If you lose access to a field used in a chart, another field can be used in its place. If no other fields are available, the record
count is used.
• Don't set both the X axis and Y axis to Auto. If they're both set to Auto, you can’t plot the chart.
• Filtered drilldown doesn't work for combination charts in dashboards.
SEE ALSO:
Chart Types
Add a Chart to a Report
Combination Chart Examples
41
Analyze Your Data Reports
Line-on-Column
To show two chart types together, add a line to a column chart. Using a second axis allows you to add different types of values to
the chart.
To create the chart in this example, choose the Vertical Column chart type, set the opportunity sum of amount as the Y-Axis, and
set fiscal year as the X-Axis. Add the number of deals as a line chart plotted on a second axis.
You can now see both the total amount and number of deals for each year on a single chart.
Line-on-Line
To compare two continuous summary values, add a line to a line chart.
To create the chart in this example, first set up a custom summary formula that calculates a three-week moving average of opportunity
amounts. Then choose the Line chart type. Set the opportunity sum of amount as the Y-Axis and date as the X-Axis. Add the
calculated three-week moving average as a second line chart.
You can now compare sales against the moving average over time.
42
Analyze Your Data Reports
SEE ALSO:
Show Multiple Sets of Data in One Chart
Field Description
Chart Title Enter a name for the chart.
Title Color Select the color for the text of your chart title.
Title Size Select the font size for the text of your chart title. The maximum size is 18. Larger values are shown at
18 points.
Text Color Select a color for all the text and labels in your chart.
Text Size Select a font size for all the text and labels in your chart. The maximum size is 18. Larger values are shown
at 18 points.
Background Fade Choose a direction for a gradient color background. Also select a Start Color and End Color
for the gradient. Use white for both if you don’t want a background design.
Legend Position Choose a place to display the legend in relation to your chart.
Combine Small Combine all groups less than or equal to 3% of the total into a single “Others” wedge or segment. Deselect
Groups into to show all values individually on the chart. This setting applies only to pie, donut, and funnel charts.
“Others” This option is on by default for pie and donut charts, and off for funnel.
X- or Y-Axis Range Choose a manual or automatic axis range for bar, line, or column charts. If you choose manual, enter
numbers for the minimum and maximum axis values to be displayed. If there are data points outside
43
Analyze Your Data Reports
Field Description
the range that you set, the axis automatically extends to include those values when you generate the
chart.
Show Axis Labels Display labels for each axis of your chart. This setting applies only to bar and line charts.
Show Labels Display labels for your pie, donut, or funnel chart.
Show Group % Display the percentage value for each group in the chart.
Show X- or Y-Axis Display the values of individual records or groups on the chart axis. This setting applies only to certain
Values horizontal bar and vertical column charts.
Show Values Display the values of individual records or groups on the chart. This setting applies only to certain chart
types.
Show Wedge % Display the percentage value for each wedge of pie and donut charts.
Show Total Display the total value for the donut chart.
Show Segment % Display the percentage value for each segment of funnel charts.
Show Details on Display values, labels, and percentages when hovering over charts. Hover details depend on chart type.
Hover Percentages apply to pie, donut, and funnel charts only. Hover is disabled when viewing charts that have
more than 200 data points.
Chart Size Select a size for the chart, from Tiny to Extra Large.
SEE ALSO:
Add a Chart to a Report
44
Analyze Your Data Reports
SEE ALSO:
Highlight Data Ranges with Conditional Formatting
Limit Report Results
Show and Hide Report Details
Use a Tabular Report in a Dashboard
45
Analyze Your Data Reports
USER PERMISSIONS
To run reports:
• Legacy Folder Sharing
Run Reports
Enhanced Folder
Sharing
Run Reports
46
Analyze Your Data Reports
In Salesforce Classic, you can set up to three formatting rules. To set conditional highlighting, click Available in: Enhanced
Show > Conditional Highlighting in report builder, then set the breakpoint values and their Folder Sharing and Legacy
range colors as follows: Folder Sharing
High Color Select a color to represent data that falls above the High Breakpoint
value.
Notes:
• When you apply more than three conditional formatting rules to a report, conditional formatting can be viewed and edited only in
Lightning Experience.
• You can subscribe to reports with conditional highlighting, but conditional highlighting doesn't appear in the subscription email.
• The rounding of data values for conditional formatting differs slightly for Lightning Experience versus Salesforce Classic. The following
table shows some sample differences.
47
Analyze Your Data Reports
SEE ALSO:
Build a Report in Salesforce Classic
Add a Summary Formula Column to a Report
48
Analyze Your Data Reports
Note: Only the first 255 characters in a custom text field count for filtering purposes. For example, if you add a field filter to find
opportunities where the custom text field Customer notes includes the word “phone,” but “phone” appears after the 255th
character in the field, the filter doesn’t find the record. In standard text fields, all characters count, regardless of the length of the
field.
SEE ALSO:
Filter Across Objects with Cross Filters
49
Analyze Your Data Reports
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
50
Analyze Your Data Reports
b. From RANGE, enter the lower-bound and upper-bound breakpoints for ranges. The Report Builder
first number entered buckets values equal to or less than the number you enter. Each Enhanced Folder
subsequent number you enter buckets values greater than the prior number you enter. Sharing
The last number entered buckets values greater than the number you enter. Report Builder OR
c. From BUCKET, enter a name for the bucket. Report Builder
(Lightning
d. Optionally, to move all empty or null values to the bucket that contains the value zero, Experience)
select Treat empty values in the report as zeroes. If deselected, unbucketed values
appear as a dash (-).
Picklist
A picklist bucket contains items that can be selected from a list.
To get a generalized view of your accounts, bucket them by industry. Create buckets with industry names like Manufacturing,
Technology, and Media. Then, add accounts into the bucket that best represents their operation.
a. To create a picklist bucket, click Add Bucket. Then, give the new bucket a name.
b. To put values in a bucket, select the values you want to move, then click Move To and select bucket you want to move
them into. To move values into a new bucket, click Move To > New Bucket, enter a name for the new bucket.
51
Analyze Your Data Reports
c. To take values out of a bucket, click Move To > Unbucketed Values. Unbucketed values appear in the bucket column as
they would in a normal report column. You can put them all into a bucket named Other by enabling Bucket remaining
values as Other.
d. To rename a bucket, click . To delete a bucket, click .
Text
At first glance, text buckets seem to have the same options as picklist buckets. Values of the text column appear as though they
were values in a picklist, and you can add them into buckets in much the same way.
Unlike picklist fields, text fields feature the Enter Values button. If you know which value you want to bucket, you can use the
Enter Values function to quickly bucket it without searching. Entering values is useful if your report has a large number (such as
millions) of values and searching for a value is slow. You can also use this method to enter and bucket values that appear in the
report later.
6. Click Apply.
7. Click Save.
The bucket column appears in the report preview and in the Columns section. Like any other column in the report, you can sort, filter,
and group by the bucket column.
To edit the bucket column, find the column in the report preview and click > Edit Bucket Column. To delete the bucket column,
click > Delete Bucket Column.
As you prepare to add bucket columns to your report, take note of these limitations:
• Each report can include up to 5 bucket fields.
• Each bucket field can contain up to 20 buckets.
• Each bucket can contain up to 20 values.
• Bucket columns are available for use only in the report where they’re generated. To use a bucket in multiple reports, create the
bucket column for each report. Or create a separate formula field for the object that’s dependent on the bucket.
• Buckets and bucket fields aren’t available for reports that include external objects.
• If a bucket column’s source column has a custom index, and you filter by the bucket column, then the custom index performance
gains are lost.
• If a bucket column has a filter on it, modifying the values in the buckets removes any filters that refer to the bucket column.
• Bucket columns don’t support picklist values that contain a tab character.
52
Analyze Your Data Reports
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
53
Analyze Your Data Reports
USER PERMISSIONS
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
54
Analyze Your Data Reports
Report Builder
Summary Formulas Enhanced Folder
Summary formulas evaluate data in either a specified group, all groups, or all groups and the entire Sharing
report. If an opportunity report is grouped by Type and Stage, a summary function can apply Report Builder OR
to any of these places: Report Builder
(Lightning
• Just to Type Experience)
• Just to Stage
• Just to the grand total of all report data
• To Type, Stage and the grand total of all report data
Summary formulas are perfect for comparing grouped data to other groups or to report totals. For example, write a summary formula
to evaluate cases by source or product.
Write a summary formula to answer business questions like these:
• After deducting taxes and expenses, what are our net earnings?
55
Analyze Your Data Reports
56
Analyze Your Data Reports
USER PERMISSIONS
57
Analyze Your Data Reports
3. If you don't see the Summarize option, it means that the column isn’t numeric. To add a numeric column, expand the Fields pane
and either double-click a numeric field or drag it into the Columns list.
Each field's type is denoted by an icon directly to the left of the field name. Numeric fields are identified by a number sign ( ).
4. Optionally, there’s a second way to summarize a numeric field (2).
a. From the Columns section of the OUTLINE panel, click the numeric field you want to summarize.
b. Then, select the summary function you wish to calculate: Sum, Average, Max, Min.
c. Click Apply
58
Analyze Your Data Reports
For each group in the report, every summary you apply appears as a subtotal. At the bottom of the report, summaries appear as a total
(3). The report builder preview displays data for a limited number of records. Save and run the report to see everything.
When viewing the report on the run page, summaries also appear at the top of the report (4).
59
Analyze Your Data Reports
Example: After building a basic opportunity report grouped by Stage, you can find yourself wondering what the sum and
average amounts are for each stage.
No need to add amounts together. No need to write a formula. Instead, summarize the Amount column. Click > Summarize,
and then choose how you'd like to evaluate the data: Sum, Average, Max, Min. For this example, choose Sum and Average.
SEE ALSO:
Report Fields in Salesforce Classic
Subtotal Report Results in Salesforce Classic
To change an existing summary field, or add other summaries on that same field, click next to the summary field and choose
Summarize this Field.
Reorder sets of summary fields in matrix reports by dragging them. The summaries for each field move together when dragged. For
example, if your report contains the sum and average of Annual Revenue, and the max and min of Probability, you can drag
the Probability summaries before or after the Annual Revenue summaries, but not between. Summaries can't be placed
after custom summary formulas or Record Count.
60
Analyze Your Data Reports
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
61
Analyze Your Data Reports
USER PERMISSIONS
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
62
Analyze Your Data Reports
3. From the Edit Row-Level Formula Column window, enter a Column Name (2), choose a Formula Output Type (3), and write a
Formula (4). Optionally, enter a Description and set the number of Decimal Points.
To test your formula for errors, click Validate. If necessary, resolve any errors. Then, click Apply (5).
Tip: For a little row-level formula inspiration, see Examples: Evaluate Each Record in Reports with Row-Level Formulas on
page 70 in Salesforce Help.
To learn more about writing formulas, see Formula Operators and Functions by Context in Salesforce Help.
63
Analyze Your Data Reports
64
Analyze Your Data Reports
USER PERMISSIONS
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
65
Analyze Your Data Reports
3. From the Edit Row-Level Formula Column window, edit the Column Name (2), choose a Formula Output Type (3), and edit the
Formula (4). If applicable, edit the Description and change the number of Decimal Points.
To test your formula for errors, click Validate. If necessary, resolve any errors. Then, click Apply (5).
Tip: For a little row-level formula inspiration, see Examples: Evaluate Each Record in Reports with Row-Level Formulas on
page 70 in Salesforce Help.
To learn more about writing formulas, see Formula Operators and Functions by Context in Salesforce Help.
66
Analyze Your Data Reports
67
Analyze Your Data Reports
USER PERMISSIONS
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
68
Analyze Your Data Reports
3. If you mistakenly remove a row-level formula from the report, you can recover it by clicking .
4. To save and run the report, click Save & Run.
The row-level formula column is removed from the report and from the row-level formulas folder in the Fields pane.
69
Analyze Your Data Reports
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
70
Analyze Your Data Reports
3. From the Edit Summary-Level Formula Column window, write the formula.
a. In Column Name, enter Time to Close.
b. In Description, enter Time to Close in Days.
c. From Formula Output Type, select Number.
Even though this formula works with date values, number is the output type needed because the formula performs subtraction
and returns a number.
Note:
• CLOSE_DATE and CREATED_DATE are the API names of the Close Date and Created Date fields. Formulas work
with the API names of fields, not the display names. The easiest way to enter the API name of a field is to search for it
from the FIELDS menu, select it, and click Insert >.
• Because CLOSE_DATE's data type is date and CREATED_DATE's data type is datetime, we convert the
value of CREATED_DATE to the date data type with the DATEVALUE() function. The two values must have
a matching data type so that we can subtract one from the other. (Datetime and date are different data types
because datetime includes information about units of time smaller than a day - hours, minutes, seconds, and so
on - and DATE does not.)
f. To make sure that the formula is error-free, click Validate. If necessary, resolve errors.
g. Click Apply (5).
71
Analyze Your Data Reports
72
Analyze Your Data Reports
2. From the Edit Summary-Level Formula Column window, write the formula.
a. In Column Name, enter Mentions Widgets?.
b. In Description, enter Determines whether or a case subject includes the term "widget".
c. From Formula Output Type, select Text.
d. In Formula, write:
IF(CONTAINS(SUBJECT, "widget"), "Yes", "No")
Note:
• SUBJECT is the API name of the Subject field. Formulas work with the API names of fields, not the display names.
The easiest way to enter the API name of a field is to search for it from the FIELDS menu, select it, and click Insert >.
e. To make sure that the formula is error-free, click Validate. If necessary, resolve errors.
3. Click Apply.
4. Click Save.
The row-level formula appears as a report column named Mentions Widgets?. The Mentions Widgets? column evaluates
each case's subject field to determine whether it includes the text widget. If it does, the row-level formula returns Yes. If it doesn't,
the row-level formula returns No.
73
Analyze Your Data Reports
Get the Most Out of Row-Level Formulas: Tips, Limits, and Limitations
As you get ready to write row-level formulas, review these tips, limits, and limitations.
EDITIONS
• Each report supports 1 row-level formula.
• Each row-level formula can reference up to 5 unique fields. If the formula references the same Available in: Lightning
field 5 times, that counts as referencing 1 unique field. Experience
74
Analyze Your Data Reports
USER PERMISSIONS
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
Now you can easily incorporate after-tax earnings into fiscal quarter planning.
75
Analyze Your Data Reports
SEE ALSO:
Add a Summary Formula Column to a Report
Report Fields in Salesforce Classic
76
Analyze Your Data Reports
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
7. To see if your formula contains errors, click Check Syntax. Resolve any errors.
8. Optionally, enter a description for the formula.
9. If applicable, choose the number of decimal points.
77
Analyze Your Data Reports
10. Optionally, click FORMAT to choose how to format results, how many decimal points to show, and to change where the formula
gets applied.
11. Click Apply.
12. Click Save.
Add a Summary Formula Column in Salesforce Classic
1. Edit or create a report.
2. If necessary, group report data. Change the format to Summary, Matrix, or Joined, find the field you want to group by, and
drop it into the grouping field.
3. From the Fields pane, in the Formulas folder, click Add Formula.
4. Enter a name for your formula column. The label must be unique. Optionally, enter a description.
5. From the Format dropdown list, select the appropriate data type for your formula based on the output of your calculation.
6. From the Decimal Places dropdown, select the number of decimal places to display for currency, number, or percent
data types. This setting is ignored for currency fields in multicurrency organizations. Instead, the Decimal Places for your
currency setting apply.
7. Set the Where will this formula be displayed? option. The formula calculation displays in the report at the
level you select. To display the formula calculation at every level, including the Grand Total, select All summary levels.
8. Build your formula.
a. Select one of the fields listed in the Summary Fields dropdown list. This field’s value is used in your formula.
b. Select a summary type for use in your formula. This option isn't available for Record Count.
9. To see if your formula contains errors, click Check Syntax. If there are errors, the cursor highlights them.
10. Click OK.
11. Click Save.
78
Analyze Your Data Reports
SEE ALSO:
Build a Report in Salesforce Classic
Evaluate Groups and Totals with Summary Formulas
Get the Most Out of Summary Formulas: Tips, Limits, and Limitations
Add a Summary Formula to a Joined Report
79
Analyze Your Data Reports
80
Analyze Your Data Reports
8. To see if your formula contains errors, click Check Syntax. If there are errors, the cursor highlights them.
9. Click OK.
10. Click Save.
The summary formula column updates to reflect your edits.
81
Analyze Your Data Reports
3. Click Save.
USER PERMISSIONS
Delete a Summary Formula Column in Salesforce Classic
To create, edit, and delete
1. Edit or create a report.
summary formula columns
2. From the Fields pane, in the Formulas folder, find the summary formula column you want in private reports:
to delete and click • Legacy Folder Sharing
Create and
3. Click Save.
Customize Reports
The summary formula column is removed from your report. Enhanced Folder
In Lightning Experience, If you accidentally delete a formula column in Lightning Experience, undo Sharing
Create and
the deletion by clicking .
Customize Reports
In Salesforce Classic, you can’t undo a deletion. If you can’t undo the deletion, deleting a summary
formula column is permanent. To get it back, you’ll have to recreate it from scratch. To create, edit, and delete
summary formula columns
in public and private reports:
• Legacy Folder Sharing
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
82
Analyze Your Data Reports
Get the Most Out of Summary Formulas: Tips, Limits, and Limitations
Summary formulas are a powerful reporting technique, but they can be tricky. Here are some tips,
EDITIONS
limits, and limitations to keep in mind when working with them.
Functions for use with summary formulas in reports are available under the function category. Select Available in: both Salesforce
a function, then click Help on this function for information. Classic and Lightning
Experience
• Summary level formulas don’t support date or date-time functions or fields.
• A summary formula can't reference another summary formula. Nor can a summary formula Available in: Essentials,
reference a row-level formula. Group, Professional,
Enterprise, Performance,
• You can’t group report data by summary formula columns.
Unlimited, and Developer
• You can’t filter report data by summary formula columns. Editions
• You can’t reorder summary formula columns.
Available in: Enhanced
• Before adding a summary formula column, group report data at least one time. Folder Sharing and Legacy
• Summary formulas can contain 3900 or fewer characters. Folder Sharing
• Regardless of the summary formula data type, your summary formula can contain fields of
different data types, including: number, currency, percent, and checkbox (true/false) fields. For USER PERMISSIONS
example, a summary formula in an Opportunities with Partners report can reference opportunity
Amount or Stage Duration, as well as account Annual Revenue. To create, edit, and delete
summary formula columns
• In Salesforce Classic, dashboard and report charts that display values from summary formulas in private reports:
display decimal places using your default currency setting instead of what you specified for the • Legacy Folder Sharing
formula. For example, if the summary formula specifies zero decimal places, no decimal places
Create and
appear in columns, but chart values show the number of decimal places specified for your
Customize Reports
default currency (usually two decimal places). This limit applies to currencies, numbers, and
Enhanced Folder
percentages.
Sharing
• When a field is deleted or is unavailable (for example, because of field-level security), all summary Create and
formulas that contain the field are removed from the report. Customize Reports
• The summary types Sum, Largest Value, Smallest Value, and Average aren’t To create, edit, and delete
available for use with the Record Count field. summary formula columns
• The Smallest Value summary type includes blank (null) or zero values in the summary in public and private reports:
formula calculation if these values are present in your report data. • Legacy Folder Sharing
• The Largest Value summary type includes the largest blank (non-null) value present in Report Builder
your report data.
Enhanced Folder
• Percents are represented as decimals in summary formulas. 20% is represented as 0.20. Sharing
• Operators can be used to give fields in summary formulas a negative value. For example: Report Builder OR
{!EMPLOYEES:SUM} + - {!SALES:SUM}. Report Builder
(Lightning
• For summary formulas on reports that are grouped by rows and columns (matrix reports),
Experience)
Salesforce calculates results for all formulas where the Where will this formula
be displayed? option isn’t set to All summary levels. The formula determines
the value returned. If null is returned, the cell is empty.
• Summary fields can display up to 21 digits. If a summary field has more than 21 digits, an accurate result might not be displayed. If
“#Too Big!” appears in a report cell, check your formula for calculations that could result in more than 21 digits. Avoid multiplying
large numbers, raising a large number to a power, or dividing by a very small number.
• Formulas treat blank (null) report cells as zero values.
• “#Error!” displays on report cells whenever an error occurs while calculating a formula’s value. “#Error!” also displays when
formulas divide by zero. To resolve the error, check your formula and provide an alternative value.
83
Analyze Your Data Reports
SEE ALSO:
Add a Summary Formula Column to a Report
Summary Formulas with Joined Reports
Add a Summary Formula to a Joined Report
Report Builder
Enhanced Folder
Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
84
Analyze Your Data Reports
Use: For reports that are grouped by rows (summary) and for joined reports:
PARENTGROUPVAL(summary_field, grouping_level)
For reports that are grouped by rows and columns (matrix):
PARENTGROUPVAL(summary_field, parent_row_grouping,
parent_column_grouping)
Where summary_field is the summarized field value, grouping_level is
GRAND_SUMMARY or the API name of the parent level group for summary reports, and
parent_row_level and parent_column_level are the parent levels for matrix reports.
In reports with multiple grouping levels, you can set the grouping_level to be any group
level higher than the formula display level.
Example:
TOTAL_PRICE:SUM/PARENTGROUPVAL(TOTAL_PRICE:SUM, GRAND_SUMMARY)
This formula calculates, for each product, its relative size compared to the grand total. In this example,
the report is a summary of opportunities and their products, grouped by Product Name.
PREVGROUPVAL
Use this function to calculate values relative to a peer grouping. If there's no previous grouping, the function returns a null value.
Description: This function returns the value of a specified previous grouping. A “previous” grouping is one that
comes before the current grouping in the report. Choose the grouping level and increment. The
increment is the number of columns or rows before the current summary. The default is 1; the
maximum is 12. You can use this function only in custom summary formulas and at grouping levels
for reports, but not at summary levels.
Use:
PREVGROUPVAL(summary_field, grouping_level [, increment])
Example:
AMOUNT:SUM - PREVGROUPVAL(AMOUNT:SUM, CLOSE_DATE)
This formula calculates, for each month, the difference in amount from the previous month shown
in the report. In this example, the report is an opportunity matrix with columns grouped by Close
Date and rows by Stage.
85
Analyze Your Data Reports
SEE ALSO:
Add a Summary Formula Column to a Report
Evaluate Groups and Totals with Summary Formulas
Add a Summary Formula to a Joined Report
9. To add the function to your formula with the selected parameters included, click Insert
86
Analyze Your Data Reports
10. Add other parameters, functions, and operators to the formula as needed.
87
Analyze Your Data Reports
88
Analyze Your Data Reports
– Multi-select picklist
– Text area, including long text area and rich text area
89
Analyze Your Data Reports
Tip: You can show a joined report that includes a chart on a dashboard. Edit the joined report dashboard widget, and select Use
chart as defined in the source report.
SEE ALSO:
Build a Report in Salesforce Classic
How Joined Reports Work
Note: When you add a block to a joined report and the block has multiple entities in common with the report, only the first entity
(in alphabetical order) is shown. Only the fields from the first entity are shown in the common fields area.
90
Analyze Your Data Reports
Each joined report has a principal report type. By default, the principal type is the first one added to the report. For example, if you create
the joined report by selecting the Opportunities report type, and then add the Cases type, the Opportunities type is the principal report
type.
The principal report type controls how common fields are named. Some common fields have different names or appear in different
sections in different report types.
When a joined report contains multiple report types, some fields are identified as common fields. A field is a common field if it’s shared
by all report types or if all report types share a lookup relationship to the field. Common fields can be used to group report blocks. In
Lightning Experience, common fields are identified by the icon. In Salesforce Classic, common fields appear in the Common Fields
area in the Fields pane.
Joined reports are based on SQL outer join. Each row in the source blocks has a corresponding row in the joined report, regardless of
whether all the blocks that make up the joined report have matching data.
SEE ALSO:
Add a Report Type to a Joined Report
Add a Summary Formula to a Joined Report
Work with Blocks
91
Analyze Your Data Reports
3. The report opens in the report builder. To turn it into a joined report, click Tabular Format > Joined.
4. To add another report type, click Add Report Type.
a. Choose a report type.
b. Click OK.
92
Analyze Your Data Reports
c. The additional report type appears in a new block. To learn more about working with blocks, see Work with Blocks on page
97.
5. Customize the joined report with columns, groups, filters, and formulas.
6. Click Save and name the report.
7. Optionally, describe the report and click Select Folder to choose a report folder.
8. Click Save.
9. To run the report, click Run.
93
Analyze Your Data Reports
Keep the following in mind when working with custom summary formulas in joined reports. Available in: Enhanced
Folder Sharing and Legacy
• In Lightning Experience, formulas are automatically added to the block from which they're
Folder Sharing
created. In Salesforce Classic, the formulas aren't automatically added to the report when you
create them. To add a formula to a block in Salesforce Classic, drag it to a block with the same
report type.
94
Analyze Your Data Reports
• When you add custom summary formulas to a block, they appear to the right of the standard fields in the order in which you added
them to the block. If you also add cross-block custom summary formulas, they appear to the right of the standard ones.
• The results of custom summary formulas are affected by the filter options applied to the blocks they're included in. As a result, the
same formula can yield different results in different blocks.
• You can add up to 10 custom summary formulas to each block in a joined report. A joined report can have a total of 50 custom
summary formulas.
• Each custom summary formula must have a unique name. However, standard and cross-block custom summary formulas can have
the same name.
• Custom summary formula names can't include brackets (“[“ or “]”).
95
Analyze Your Data Reports
SEE ALSO:
Add a Summary Formula Column to a Report
Get the Most Out of Summary Formulas: Tips, Limits, and Limitations
Joined Report Examples
Add a Summary Formula to a Joined Report
5. Click OK.
96
Analyze Your Data Reports
SEE ALSO:
Evaluate Groups and Totals with Summary Formulas
Summary Formulas with Joined Reports
Get the Most Out of Summary Formulas: Tips, Limits, and Limitations
Joined Report Examples
97
Analyze Your Data Reports
Add a Block
Adding blocks to joined reports lets you create multiple views of the data included in a single report.
EDITIONS
Add a block to a joined report in Lightning Experience
Available in: both Lightning
1. Create or edit a joined report.
Experience and Salesforce
2. Click Add Block. Classic
3. Choose a report type. Available in: Enterprise,
4. If you'd like to include standard columns for this report type, leave Include default columns Performance, Unlimited,
checked. If you'd like to add an empty block, uncheck Include default columns. In either and Developer Editions
case, you can customize the block after adding it by adding or removing columns. Available in: Enhanced
5. Click Add Block. Folder Sharing and Legacy
Folder Sharing
6. Click Save.
Add a block to a joined report in Salesforce Classic
USER PERMISSIONS
1. Click and hold a field from the Fields pane, then drag it to the empty area of the Preview
pane. To create, edit, and delete
reports:
2. When you’ve added the block, notice that standard and field filters for the additional block
• Legacy Folder Sharing
are added to the Filters pane (1). Also, the new block appears in the Preview pane (2).
Create and
Customize Reports
AND
Report Builder
Enhanced Folder
Sharing
Create and
Customize Reports
AND
Report Builder
3. Click Save.
98
Analyze Your Data Reports
To delete a block, click in the block header, then click Remove Block.
SEE ALSO:
Add a Report Type to a Joined Report
Delete a Block
Add a Summary Formula to a Joined Report
Work with Blocks
Combine Different Types of Information in a Joined Report
Reorder Blocks
You can reorder blocks in joined reports. Reordering blocks affects the report’s appearance but
EDITIONS
doesn’t affect the data in the blocks.
When you reorder blocks, block numbers don't change. For example, if you have a report containing Available in: both Lightning
three blocks, and you move block 1 to a new position to the right of block 3, the blocks now display Experience and Salesforce
as block 2, block 3, and block 1. To avoid confusion, rename the blocks. Classic
When reordering a block, you move it to either the left or right of an existing block. Available in: Enterprise,
Reorder a block in Lightning Experience Performance, Unlimited,
and Developer Editions
1. From the Columns section of the Outline panel, click adjacent to the name of the block
you wish to reorder. Available in: Enhanced
Folder Sharing and Legacy
2. To move the block left, click Move Block Up. To move the block right, click Move Block Folder Sharing
Down.
3. Click Save.
USER PERMISSIONS
Reorder a block in Salesforce Classic
To create, edit, and delete
1. In the Preview pane, drag the block to either the left or right side of an existing block. A joined reports:
blue bar beside the block indicates an acceptable drop location. • Legacy Folder Sharing
2. Drop the block in the desired location. Create and
3. Click Save. Customize Reports
AND
SEE ALSO: Report Builder
Rename a Block Enhanced Folder
Sharing
Work with Blocks Create and
Customize Reports
AND
Report Builder
99
Analyze Your Data Reports
Rename a Block
You can rename blocks to provide more user-friendly descriptions of the information they contain.
EDITIONS
When you add a block to a joined report, it’s named automatically based on the report type and
the number of blocks in the report. For example, if your report contains two blocks and you add a Available in: both Lightning
block that’s based on the Opportunities report type, it’s named Opportunities block 3. Experience and Salesforce
Classic
Rename a block in Lightning Experience
1. Create or edit a joined report. Available in: Enterprise,
Performance, Unlimited,
2. From the preview panel, find the block you wish to rename and click next to the current and Developer Editions
block name.
Available in: Enhanced
3. Enter a new block name. Folder Sharing and Legacy
4. To keep the name, on your keyboard, press Enter. Folder Sharing
5. Click Save.
Rename a block in Salesforce Classic USER PERMISSIONS
1. Create or edit a joined report. To create, edit, and delete
joined reports:
2. Click the block’s name.
• Legacy Folder Sharing
3. Enter the new name.
Create and
4. To apply the name, press Enter on your keyboard or click outside the block. Customize Reports
5. Click Save. AND
Report Builder
SEE ALSO: Enhanced Folder
Sharing
Work with Blocks
Create and
Combine Different Types of Information in a Joined Report Customize Reports
AND
Report Builder
100
Analyze Your Data Reports
101
Analyze Your Data Reports
Delete a Block
When you no longer need a block, delete it.
EDITIONS
Delete a block from a joined report in Lightning Experience
Available in: both Lightning
1. From the Columns section of the OUTLINE panel, click adjacent to the name of the
Experience and Salesforce
block you wish to delete.
Classic
2. Click Remove Block.
Available in: Enterprise,
3. Click Save. Performance, Unlimited,
Delete a block from a joined report in Salesforce Classic and Developer Editions
1. To display the block menu, click , then click Remove Block. Or, click and hold in the Available in: Enhanced
block header, and drag the block to the Fields pane. Folder Sharing and Legacy
Folder Sharing
2. Click Save.
USER PERMISSIONS
SEE ALSO:
Work with Blocks To delete reports in My
Personal Custom Reports
Combine Different Types of Information in a Joined Report
folder:
• Legacy Folder Sharing
Create and
Customize Reports
Enhanced Folder
Sharing
Create and
Customize Reports
102
Analyze Your Data Reports
103
Analyze Your Data Reports
104
Analyze Your Data Reports
105
Analyze Your Data Reports
Block Filters
Block 1 Opportunity Status equals Closed
Date Field equals Close Date
Range equals Current and Previous FY
Stage equals Closed Lost
106
Analyze Your Data Reports
Block Filters
Block 3 Date Field equals Close Date
Range equals Next Month
Opportunity Status equals Open
107
Analyze Your Data Reports
6. Click the Formatting tab, and enter Actual versus Predicted Revenue as the chart title.
7. Click OK.
8. Click Save or Run Report.
SEE ALSO:
Add a Chart to a Report
Summary Formulas with Joined Reports
How Joined Reports Work
Work with Blocks
Combine Different Types of Information in a Joined Report
108
Analyze Your Data Reports
Note:
• For users to be able to create and edit joined reports, report builder must be enabled for your entire organization. When report
builder isn’t enabled, users can run joined reports, but can’t create them.
• Joined reports require that the new user interface theme is enabled. Users without the new theme are unable to create, edit,
or run joined reports.
• Internet Explorer 6 is not supported for joined reports.
• You can’t filter data on a joined report in dashboard view or add a filter to a dashboard that only has joined reports.
• When using the console in run mode, the Hide Details and Show Details buttons aren't available for joined reports. To use
the buttons, click Customize to enter edit mode.
• Joined reports aren't supported in console apps.
• Activities
– My Delegated Approval Requests*
• Administrative
– All Pending Approval Requests*
– API Usage Last 7 Days*
• Campaign
– Campaign Call Down*
– Campaign Member
– Campaign Member Analysis*
– Campaigns with Influenced Opportunities
• Contract
– Contract History
– Order History
• Customer Support
– Case History
– Self Service Usage
– Solution History
109
Analyze Your Data Reports
• Lead
– Lead All
– Lead History
– Lead Status*
• Opportunity
– Opportunities with Contact Roles and Products
– Opportunities with Opportunity Teams and Products
– Opportunity Field History
Note:
• You might not have access to all the report types listed here. Certain factors can affect the report types you see, such as which
features your organization has enabled and how your administrator has set up report folder visibility. Check with your
administrator if you think you should see a report type that you don’t.
• If your organization has renamed standard objects, the names of the standard report types will contain your organization’s
names instead of the original ones. For example, if your organization has renamed the “Opportunity” object as “Deal,” the
standard report type “Opportunity Field History” will be renamed “Deal Field History.”
• In this list, report types marked with an asterisk (*) aren’t available when you create a new report. Instead, you access them by
customizing standard reports, which are in folders on the Reports tab.
110
Analyze Your Data Reports
SEE ALSO:
Choose a Report Type in Salesforce Classic
Change the Principal Report Type
Combine Different Types of Information in a Joined Report
Standard Report Types
Note: Historical trend reports are also called historical tracking reports.
Note: Historical trend reports are also called historical tracking reports.
Tip: You can also create and customize historical trend reporting reports via the Metadata API and the Reports and Dashboards
REST API.
111
Analyze Your Data Reports
112
Analyze Your Data Reports
click Filters and then click Show Me to make your selection. To change the time Create and
Customize Reports
range for the close date comparison, click Close Date.
AND
3. Click Outline. Report Builder
The default value in the Snapshot Dates is Yesterday, and the Amount Enhanced Folder
(Historical) field shows yesterday’s date. Sharing
Create and
Tip: “Yesterday” is a rolling date value, meaning that it points to a date that is relative to Customize Reports
today’s date. If you run this same report tomorrow, Amount (Historical) shows
AND
today’s date.
Report Builder
4. To add a different start date for the snapshot comparison, click + and select the date. To remove
a snapshot date, click X.
5. In the report table, click the down arrow in the headers of the Amount (Historical) and the Amount columns. Click
Summarize, then select Sum.
6. In the report table, click the down arrow in the header of the Amount column. Click Show Change, then select Value.
7. Click Run Report.
8. In the Change column, observe the difference between the total value of the Amount (Historical) column and that of
the Amount column.
Tip: You can see changes at a glance by looking for values that are colored green or red.
113
Analyze Your Data Reports
You’ve created a simple historical trending report that can help you analyze your pipeline’s behavior.
SEE ALSO:
Opportunities with Historical Trending Report
You’ve created a simple report that pulls out all the deals that have were worth more than a given amount as of a given historical snapshot
date.
SEE ALSO:
Opportunities with Historical Trending Report
Set Up Historical Trend Reporting
114
Analyze Your Data Reports
SEE ALSO:
Opportunities with Historical Trending Report
115
Analyze Your Data Reports
If you don’t see the Opportunities with Historical Trending report type, enable Historical Available in: Enhanced
Trend Reporting for Opportunities in Setup. Folder Sharing
SEE ALSO:
Opportunities with Historical Trending Report
Set Up Historical Trend Reporting
116
Analyze Your Data Reports
Tip: To move Yesterday to the right side of the field, delete it, and then add it again from the dropdown menu.
If you’re using multiple forecast types, add a filter for Forecasting Type: API Name to prevent duplicate values from appearing
on the report.
3. Choose the data you want to monitor for historical changes. In this case, we're interested in the category in which the changes were
made and how the forecast amount changed.
a. In the Preview pane, change Tabular Format to Matrix Format.
b. To create a row grouping, drag the Owner: Full Name field from the Field area to the Preview pane.
c. Drag the Forecast Category field over to the right of Owner: Full Name to create another row grouping.
d. Drag the Forecast Amount (Historical) field to the matrix area of the Preview pane, below the yellow bar. In the
Summarize dialog, select Sum.
117
Analyze Your Data Reports
Select the fields that contain the data you want to track.
Columns appear for each of the historical dates you chose in the filters area that contain records.
4. The see what data you’ve gathered so far, click Run Report. Then click Customize to keep adjusting your filters and fields if necessary.
5. After you’ve defined the data you want to track, create a chart to show it graphically.
a. In the Preview area, click Add Chart and select the line chart icon.
b. On the Chart Data tab, choose Sum of Forecast Amount (historical) for the Y-Axis and Snapshot Date
for the X-Axis.
c. For Group By, choose Forecast Category, and select Cumulative.
d. Click OK, then click Run Report again.
6. Click Save As. Choose a name and folder for the report and click Save.
118
Analyze Your Data Reports
• Dynamic exchange rates aren’t supported. When you run a historical trend report, it uses a static exchange rate, which could be
outdated.
• Internet Explorer 6 isn't supported.
• You can’t subscribe to historical trend reports in Lightning Experience or Salesforce Classic. For matrix reports in Salesforce Classic,
the UI provides settings to subscribe, but the subscription emails aren't sent.
• The Report Wizard isn't supported. Historical trend reports can only be created with the Report Builder.
• Historical trend reporting with charts is supported in Lightning Experience, but tabular views of historical trend reports aren’t available.
• When you enable historical trending, data collection starts from when the record was last modified.
Important: If a picklist field is already being used in a historical trending data filter, think hard before changing any of its values.
You could make that field less useful for historical reporting in the future.
119
Analyze Your Data Reports
If Any Snapshot Date is selected for the historical date, then the filter returns results when the filter criteria are true for all of the snapshot
dates that are specified on the Outline tab under Snapshot Dates.
Example:
A Historical Opps report has two snapshot dates specified: Yesterday and 1 Month Ago.
120
Analyze Your Data Reports
For this report, the following report filter returns all records that had Probability greater than 80% in the Yesterday and 1 Month Ago
snapshots.
121
Analyze Your Data Reports
• Create and run custom reports from the target object. Available in: Professional,
• Create dashboards from the source report. Enterprise, Performance,
Unlimited, and Developer
• Define list views on the target object, if it's included on a custom object tab. Editions
For example, a customer support manager could set up a reporting snapshot that reports on the
open cases assigned to his or her team everyday at 5:00 PM, and store that data in a custom object
to build a history on open cases from which he or she could spot trends via reports. Then the customer support manager could report
on point-in-time or trend data stored in the custom object and use the report as a source for a dashboard widget. For the total number
of reporting snapshots you can create, see Salesforce Limits.
122
Analyze Your Data Reports
SEE ALSO:
Build a Salesforce Classic Dashboard
Create a Custom Report in Accessibility Mode
123
Analyze Your Data Reports
124
Analyze Your Data Reports
• When a reporting snapshot runs, it can add up to 2,000 new records to the target object. If the source report generates more than
2,000 records, an error message is displayed for the additional records in the Row Failures related list. You can access the Row Failures
related list via the Run History section of a reporting snapshot detail page.
SEE ALSO:
Report on Historical Data with Reporting Snapshots
Create a Custom Report in Accessibility Mode
125
Analyze Your Data Reports
The custom object you choose will receive the source report's results as records when the AND
reporting snapshot runs. Create on the target
object
If a record used for an reporting snapshot has no record type associated with it, the record type
of the running user is associated with the reporting snapshot by default.
7. Click Save to save the definition of your reporting snapshot, or click Save & Edit Field Mappings
to save your reporting snapshot and map its fields.
8. Map the fields on the source report to the fields on the target object.
SEE ALSO:
Standard Report Types
126
Analyze Your Data Reports
2. Select the name of the reporting snapshot whose fields you want to map. Available in: Professional,
Enterprise, Performance,
3. Click Edit on the Field Mappings section.
Unlimited, and Developer
4. For summary reports, select the Grouping Level at which summary data is extracted Editions
from the source report. Data loaded into the target object is taken from summary fields at the
grouping level you specify. The Grand Summary summarizes on the total for all grouping
levels.
USER PERMISSIONS
5. In the Fields from Source Report column, click a Load No Data drop-down list and select To create, save, and
a field from the source report to map to a custom object field in the Fields in Target Object schedule a reporting
column. Only summary fields can be mapped for reporting snapshots based on summary snapshot:
reports. Note that the fields for summary reports may vary depending on the grouping level • Manage Reporting
Snapshots
selected.
To run a reporting snapshot
6. Click Quick Save to save field mappings and continue mapping fields, or click Save to save as a running user and add
field mappings and return to the reporting snapshot's detail page. the results to a custom
7. Next, schedule the reporting snapshot to run. object, the running user
must have:
Consider these tips for mapping reporting snapshot fields. • Run Reports
• You must map at least one field from the source report to one field on the target object or data AND
will not load from the source report to the target object when the reporting snapshot runs. Create on the target
• You can only map fields with compatible data types. For example, you can map a currency field object
to a number field.
• A custom summary formula can be mapped only if the grouping level in the reporting snapshot
and the grouping level in the custom summary formula match.
• If you select Load No Data in the Fields from Source Report column, no data will load into the corresponding field in the Fields in
Target Object column when the reporting snapshot runs..
• The (No fields with compatible data type) field displays in the Fields from Source Report column when a field
on the target object does not match the data type of a field on the source report.
• The fields on the target object determine field mapping availability. For example, your source report may include ten fields, but if
your target object includes one field, then you can only map one field in your reporting snapshot.
• You cannot map fields from the source report to the following fields on the target object: Created By, Last Modified
By, Created Date, and Last Modified Date.
• When you map fields from the source report to the target object, some data may lose its context when loaded to the target object.
For example, if you map a date and time field from the source report to a text field on the target object, the date and time load to
the target object without the time zone.
• When executing a reporting snapshot, if the running user does not have “read” or “write” access to a mapped field in the target
object, that field is dropped from the mapping, but does not cause the execution to fail. If a required field in the target object is not
mapped, the execution fails. To ensure that fields are always mapped, make them required or set default values for them.
127
Analyze Your Data Reports
• To map a field in the source report to a lookup field on the target object, you must map to the ID of the object associated with the
lookup. For example, to map to an opportunity lookup field, you must map to the Opportunity ID. To get the Opportunity
ID in the source report, you may need to use a custom report type to include ID and other related fields.
SEE ALSO:
Report on Historical Data with Reporting Snapshots
Add a Summary Formula Column to a Report
5. Schedule the reporting snapshot to run. If you schedule multiple report snapshots for the same time slot (for example, from multiple
browsers), the report snapshot jobs may fail.
• In the Frequency field, select the frequency at which the reporting snapshot runs. When you click the Daily, Weekly,
or Monthly fields, more options display that allow you to refine frequency criteria.
128
Analyze Your Data Reports
If you schedule a reporting snapshot to run on a specific day of every month, the reporting snapshot will only run on months
that have that specific day. For example, if you schedule a reporting snapshot to run on the 31st day of every month, then the
reporting snapshot will only run on months that have 31 days. If you want a reporting snapshot to run on the last day of every
month, choose last from the On day of every month drop-down list.
• In the Start and End fields, specify the dates during which you wish to schedule the reporting snapshot to run.
• In the Preferred Start Time drop-down list, click the Find available options... link to choose a preferred start time
for the reporting snapshot to run.
– Your preferred start time may not be available if other users have already selected that time to run a reporting snapshot or
your organization has reached its reporting snapshot limit.
– Reporting snapshots run in the time zone of the user who schedules the run. For example, if the Time Zone field on your
user record is set to Pacific Standard Time, and you schedule a reporting snapshot to run every day at 2:00 PM, then the
reporting snapshot will run every day at 2:00 PM Pacific Standard Time.
– If you view and save a schedule in a time zone different from the one in which it was previously scheduled, the time slot
could potentially change.
– The reporting snapshot runs within an hour of the time you select in the Preferred Start Time drop-down list.
For example, if you select 2:00 PM as your preferred start time, the reporting snapshot may run any time in between 2:00
PM or 2:59 PM, depending on how many other reporting snapshots are scheduled to refresh at that time.
6. Click Save to schedule the reporting snapshot to run. When the reporting snapshot runs, it adds new records to the target object.
Optionally, once you have scheduled a reporting snapshot to run, you can perform the following actions after you click Edit on the
Schedule Reporting Snapshot section of a reporting snapshot detail page:
• Click Edit to update the notification and frequency settings of the reporting snapshot.
• Click Delete to permanently delete the existing schedule of when the reporting snapshot runs.
A reporting snapshot will fail during a scheduled run if:
• The source report includes more than 100 fields.
• The source report was changed from summary to tabular.
• The selected grouping level for a summary source report is no longer valid.
• The running user does not have access to the source report.
• The running user does not have the “Run Reports” permission.
• The target object has more than 100 custom fields.
• The target object contains validation rules.
• The target object is included in a workflow.
• The target object is a detail object in a master-detail relationship.
• The target object runs an Apex trigger when new records are created on it.
• The running user does not have the “Create” permission on the target object. If the target object's status is In Development,
the running user must have the “Customize Applications” permission.
• The reporting snapshot is scheduled with frequency set as Monthly and the run date is changed after the snapshot has run for the
current month. The snapshot doesn't run on the new day for the current month unless the snapshot frequency is changed to Daily.
To unschedule a reporting snapshot from Setup, enter “Reporting Snapshots” in the Quick Find box, then select Reporting Snapshots.
Click Edit for the snapshot and then click Unscheduled Snapshot. After unscheduling, you can set up another schedule as needed.
129
Analyze Your Data Reports
– Click Edit in the Schedule Reporting Snapshot section to schedule when to run the reporting snapshot.
The Schedule Reporting Snapshot section displays details about when the reporting snapshot is currently scheduled to run.
– The Run History section displays details about when the reporting snapshot ran. Details include:
• The date and time at which the reporting snapshot ran
• The name of the source report, target object, and running user
• The time it took for the reporting snapshot to run
• The total number of detail or summary rows in the source report, depending on the report type
130
Analyze Your Data Reports
SEE ALSO:
Report on Historical Data with Reporting Snapshots
• If field mappings failed, the snapshot still runs, but the run history shows that there was a partial To run a reporting snapshot
as a running user and add
error.
the results to a custom
A reporting snapshot could fail during a scheduled run for a number of reasons. This table lists the object, the running user
errors a failed run may display and how the errors can help you troubleshoot the reporting snapshot must have:
so that it will run successfully. • Run Reports
AND
Error Description Create on the target
object
Running user does not have The user in the Running User field does not have the
permission to run reports. “Run Reports” or “Create and Customize Reports”
permission. Choose a user with the appropriate permissions
or enable the appropriate permissions for the running user.
Cannot run reporting snapshot The report in the Source Report field was deleted
because source report has been and no longer available to run. Choose another source
deleted. report for your reporting snapshot or restore the deleted
report from the Recycle Bin.
131
Analyze Your Data Reports
Error Description
Running user does not have permission to access The user in the Running User field does not have access to the folder in
source report. which the source report is stored. Choose a user with access to the source report
or provide the existing running user with access to the folder in which the source
report is stored.
Source report definition is obsolete. The report in the Source Report field references a custom or external object
that is no longer available for reports or the relationships between the objects in
the report have changed.
Source report definition is invalid. The report in the Source Report field can't run because it contains invalid
formulas or filter criteria. Update the report so that it can run without errors.
Running user does not have permission to access The user in the Running User field does not have permission to access a
report type. report type associated with the report in the Source Report field. Choose
a running user that has the correct permissions or provide the existing running
user with the appropriate permissions.
Source report must be tabular. The report in the Source Report field is no longer in tabular format. Choose
a new source report or update the existing source report's format to tabular.
Source report last saved with details hidden on The report in the Source Report field was saved with its details hidden. To
report results. display the details of the source report, view the report, click the Show Details
button, and save the report.
Target object has been deleted or is inaccessible to The custom object in the Target Object field has been deleted or the user
running user. in the Running User field does not have permission to access the target
object. Restore the deleted custom object, choose a new target object, or provide
the existing running user with “Create” permissions to the custom object in the
Target Object field. Note that if the custom object's status is In
Development, the running user must have the “Customize Application”
permission to access the target object.
Running user does not have permission to edit The user in the Running User field does not have “Create” permissions on
target object. the custom object in the Target Object field. Choose a running user that
has such permissions or provide the existing running user with “Create”
permissions to the custom object in the Target Object field.
Target object must not be a detail object in a The custom object in the Target Object field is a detail object in a
master-detail relationship. master-detail relationship, meaning that a master object controls certain behaviors
on the target object's records. Choose a target object that is not included in a
master-detail relationship.
Target object must not be included in a workflow. The custom object in the Target Object field is included in a workflow.
Choose a target object that is not included in a workflow.
Target object must not include an insert trigger. An Apex trigger runs when new records are created for the custom object in the
Target Object field. Remove the Apex trigger or choose a target object for
which an Apex trigger does not run when new records are created.
Target object must not include validation rules. The custom object in the Target Object field contains validation rules.
Choose a target object that does not contain validation rules or delete validation
rules from the existing target object.
132
Analyze Your Data Reports
Error Description
Running user is inactive. The user in the Running User field is no longer active. Choose an active user.
One or more required fields on the target object are One or more required fields on the target object are not mapped. Map all required
not mapped. fields on the target object to fields on the source report.
Source report contains too many fields, has a The report in the Source Report field contains too many fields, criteria, or
formula field with too many functions, or contains functions within a formula field. Remove any unnecessary fields, criteria and
too many criteria. functions within formula fields from the source report.
Source report cannot have more than 100 selected The report in the Source Report field contains more than 100 fields. Remove
columns. any unnecessary fields from the source report.
Target object cannot have more than 100 custom The custom object in the Target Object field contains more than 100
fields. custom fields. Remove any unnecessary fields from the target object.
Your report exceeded the time limit for processing. The report in the Source Report field may contain too much data to process.
Reduce the amount of data the report processes when running by limiting the
report's date range and remove any unnecessary fields from the source report.
This Reporting Snapshot Unique Name already The new snapshot you are trying to create has the same unique name as that of
exists. Please choose a unique name. a existing snapshot.
A summary field did not return a valid number. A summary field in the results has not returned a valid number. For example, the
field may have attempted to divide by 0. Check your formulas and test for 0 and
“null” in calculations if they appear in your data.
There is a problem with this reporting snapshot. The The source report format was changed from tabular to summary, which made
source report format was changed from tabular to the field mappings in the reporting snapshot incorrect. To fix this error, either
summary. The field mappings in the reporting change the report format back to tabular or update the field mappings in the
snapshot are no longer correct. You can change the snapshot definition. This error only applies to reporting snapshots with summary
report format back to tabular or update the field reports.
mappings in the snapshot definition.
There is a problem with this reporting snapshot. The source report format must be either tabular or summary. Reports grouped
Source report must be tabular or summary. by rows and columns (matrix) can't be used with reporting snapshots.
The grouping level you specified in the reporting This error may result when the running user no longer has access to the field
snapshot is no longer valid. The running user may specified in the grouping level, or the grouping level was removed from the source
no longer have access to that field, the grouping report or was never set. This error only applies to reporting snapshots with
level may have been removed from the source summary reports. Make sure the running user has access to all necessary fields.
report, or the grouping level was never set.
A record cannot contain multiple fields with This error message is expected when records within the source report for a
different currency codes. Verify that all currency reporting snapshot contain multiple currencies. To prevent this snapshot failure,
fields in the source report rows have the same replace the Amount field with the Amount Converted field. To track a currency
currency code. field, always use the converted version of a field.
SEE ALSO:
Creating a Custom Report
133
Analyze Your Data Reports
Tip: You may not see some of these folders if your administrator has customized the visibility Available in: both Salesforce
of the Report tab folders. Classic and Lightning
Experience
If you can’t find a report to customize for your own needs, you can also create a custom report to
access exactly the right information. Available in: All Editions
except Database.com (The
edition determines which
1. Account and Contact Reports reports you see.)
Use account and contact reports to learn about active, neglected, or new accounts, as well as
accounts by account owner or partner. The two standard contact reports let you create a mailing
list of contacts or track opportunities by contact role. USER PERMISSIONS
134
Analyze Your Data Reports
SEE ALSO:
Search for Reports and Dashboards in Lightning Experience
Search for Reports and Dashboards from the Reports Tab in Salesforce Classic
Creating a Custom Report
135
Analyze Your Data Reports
• My account team accounts: Shows accounts where you are on the account team.
• My account team and my accounts: Shows accounts you own and those where you are on the account team.
• My team’s accounts: Shows your accounts and accounts owned by all of your subordinates in the role hierarchy.
• My territories: For organizations that use territory management, this option shows accounts that belong to the territories to
which you are assigned.
• My territory team’s accounts: For organizations that use territory management, this option shows accounts that belong to your
territories and your territories’ descendants.
• My team’s account team and their own accounts: For users who report to you in the role hierarchy, shows accounts they own
or for which they are on the account team.
• All visible accounts: Shows all accounts that you can view, as determined by your sharing model.
• Customer Portal: If your organization uses a Salesforce Customer Portal, add the Customer Portal Account field to
your account reports to view which accounts have contacts enabled to use the portal.
SEE ALSO:
Limit Report Results
Activity Reports
Activity reports are useful for gathering information about open activities, completed activities, multi-person events, or pending approval
requests for which you're a delegated approver.
Standard activity reports allow you to select the date range and status of the activities you want included. The standard activity reports
list your tasks and appointments for a selected date range or events with all invitees.
You can also create custom reports for activities by clicking the Reports tab, New Report, and choosing Activities as the type of data
on which to report.
Note: Click Show Hierarchy to see your org’s role hierarchy above the report results. You can use the role hierarchy to share
report data with people at different levels in the hierarchy. For example, if you see CEO > VP of Global Sales > Sales Operations
Director, you’re viewing data for the Sales Operations Director role. Click any role name to see and share the data that’s visible to
people in that role.
• The My Delegated Approval Requests report lists all the approval requests for which you're the approval proxy.
Note: The All Pending Approval Requests report is listed in the Activity Reports folder.
136
Analyze Your Data Reports
• In Professional, Enterprise, Unlimited, Performance, and Developer Edition organizations, to show the activities for users who
report to you, use the Hierarchy links in the Tasks and Appointments report.
Note: You can view only your own activities and activities owned by users below you in the role hierarchy.
• If your organization uses Shared Activities, reports (including custom report types and Tasks and Events reports) display different
results depending on your permissions. Say you’re reporting on events, and your report results include an event that is related
to two or more contacts and also has invitees. If you're an administrator, your report results show an event for the primary contact
plus a separate event for each invitee. If you're not an administrator, your report results show just one event, for the primary
contact.
A user can access an activity’s child event when one of the following guidelines is met:
– The user is the owner of the activity or higher up in the hierarchy than the owner.
– The user can access the who (parent record or contact) and the who count is one.
Report Types
• Using report builder, you can create activity reports that show activities related to another type of record. For example, a custom
Activity with Leads report shows activities associated with leads.
• Activities with Leads reports don't display data for the Address Line 1, Address Line 2, and Address Line
3 fields.
• When shared activities is enabled, custom reports created using Activities—such as Activities with Contact—don’t show child
event records because the report considers who relations only.
Reports such as Tasks and Events return both parent and child event records because the report considers all records, including
child events.
• If you receive an error message that your activity report has too many results, customize the report to include a filter on a picklist,
text, or date field. Alternatively, rerun the report using a different activity data type such as “Activities with Accounts” or “Activities
with Opportunities.”
137
Analyze Your Data Reports
• Activities that are captured using Einstein Activity Capture aren't included in the reports that you create on the Reports tab. To
view the activities that are captured with Einstein Activity Capture, open the Activities dashboard in CRM Analytics.
SEE ALSO:
Limit Report Results
Administrative Reports
Administrative reports help you analyze your Salesforce users, documents, and pending approval
EDITIONS
requests. You can report on the active Salesforce users and see who has been logging in.
Note: You can see the Administrative Reports folder on the Reports tab only if you have the Available in: Salesforce
“View Setup and Configuration” permission. You don't need this permission to view the Classic
Administrative Reports report type—all users can view it and manage any document reports Available in: Essentials,
associated with that type. To view other types of reports associated with that type, such as Group, Professional,
user and approval request reports, you must have the permission. Enterprise, Performance,
Unlimited, and Developer
Editions
Special Features of Administrative Reports
Consider the following when running administrative reports:
Standard Reports
• The All Active Users report lists the active users in your organization and when they last logged in.
• The Users Logged in This Week report lists all of the users who have logged in to Salesforce in the past seven days. If Communities
is enabled, you can add a Community column so that you can see which communities users have logged in to as well.
• The Documents report lists the documents within each document folder.
• The All Pending Approval Requests report lists the approval requests awaiting approval for each approval process. The My
Delegated Approval Requests report is listed in the Activity Reports folder.
• If your organization uses territories, the User Territory Report in the Territory Reports folder summarizes the territories to which
users have been assigned.
Report Types
• Create a custom report that lists your organization’s reports and the last time each report was used. Choose Administrative
Reports and select Reports as the report type.
• If your organization uses Communities, you can report on login history for external members of your communities.
1. Create a custom report.
2. Choose Administrative Reports.
3. Select Users as the report type.
4. Add Community to your report columns.
5. Add a filter that includes profiles of community users.
• If your organization uses a Salesforce Customer Portal, you can report on Customer Portal users:
1. Create a custom report.
2. Choose Administrative Reports.
3. Select Users as the report type.
138
Analyze Your Data Reports
4. Add License Type, Profile, and Role to your report columns. You can’t report on roles for high-volume portal
users because they don’t have roles.
You can also add the Customer Portal Account field to your account reports to view which accounts have contacts
enabled to use the portal.
• You can create custom report types from which users can report on your organization's reports and dashboards. When defining
a custom report type, select Reports or Dashboards from the Primary Object dropdown list on the New Custom Report Type
page.
Tips for Administrative Reports
• Users with the “Manage Internal Users” permission can create a custom user report that lists the details of users' login attempts.
The relevant fields—such as Login Date/Time, Source IP Address, and Login Status—are grouped in the
Login History section of the Select Columns step. The Client Type field shows whether the user logged in via a Web browser
or an alternate interface such as Connect for Lotus Notes or a partner portal. You can also see which users have never logged in
by setting report criteria: choose the Login Date/Time field and the “equals” operator and leave the third value blank.
SEE ALSO:
Limit Report Results
Campaign Reports
Use campaign reports to analyze your marketing efforts. You can report on the ROI of your campaigns, track who you targeted with your
campaigns and who has responded, or analyze which opportunities resulted from your campaigns.
Note: The Campaigns with Influenced Opportunities report respects sharing rules on accounts, contacts, and campaigns.
Objects with sharing rules set to private will not display in the report.
139
Analyze Your Data Reports
Report Types
• Use the Campaigns with Campaign Members custom report type to create a report that contains information about the leads
and contacts on multiple campaigns. Use the Campaign Call Down report to see contacts and leads for a specific campaign.
These reports are only available to users that have the “Read” permission on both contacts and leads.
• Use the Campaigns with Leads and Converted Lead Information report to view lead lifetime information sorted by a campaign
or campaigns.
• Use the Campaigns with Influenced Opportunities report to view opportunities that have been influenced by multiple campaigns.
Tips for Campaign Reports
• Some reports allow you to limit the data to one campaign by using the lookup icon to select a campaign. If the user running a
report no longer has access to view the selected campaign, the report does not show any results. This report behavior is similar
to what happens when a campaign is deleted.
• Member Status is the status of a lead or contact in reference to the campaign. The campaign owner can create up to 50
member status values. Sample Member Status values include, “Planned,” “Sent,” or “Attended.” Additionally, you can now add
the Member First Associated, Responded, and Member First Responded fields to campaign reports.
These fields allow you to see the date the member was added to the campaign, whether the member responded to the campaign,
and the date the member initially responded to the campaign.
• The Last Activity of a campaign is the most recent due date of an activity on the record. The following past or future
activities set this date:
– Any event
– Closed tasks
SEE ALSO:
Limit Report Results
140
Analyze Your Data Reports
Library Administrators
View the number of files, content packs, Google Docs, and Web links in each library as well as the total amount of file storage used
by each library.
Library Content
View the number of files, content packs, Google Docs, and Web links in each library as well as the total amount of file storage used
by each library.
Most Content Downloads
Determine which files and content packs are downloaded most frequently and which Web links and Google Docs are opened most
frequently.
Most Content Subscriptions
Determine which files, content packs, Google Docs, and Web links have the most subscribers.
Stale Content
Determine which files haven’t been downloaded or revised recently.
Field Description
Archived Flag that indicates whether a file has been archived. Archiving a file removes it from its library
but doesn’t permanently delete the file from Salesforce CRM Content. Archived files can be
restored as needed.
Content Created By Contributor who published the file, content pack, Google Doc, or Web link.
Content ID Identifier that enables you to group by file rather than version. The Content Title isn’t
guaranteed to be unique because multiple versions of the same file can have different titles.
Content Published Date Date a file, content pack, Google Doc, or Web link was first published.
Content Title Title of a file, content pack, Google Doc, or Web link.
Record Type Title of the record type associated with the file, content pack, Google Doc, or Web link.
Individual Content Size Size of an individual file, exclusive of other versions of the same file.
(MB)
Last Subscribed Date Date on which the content was subscribed to most recently.
Num Downloads Number of times a file has been downloaded or the total number of downloads in a library.
The number of times a Google Doc or Web link has been opened is also included in this
count.
Tip: To see which users have downloaded a certain file, go to the file’s content details
page and click the Downloads tab.
141
Analyze Your Data Reports
Field Description
Num Positive Ratings Number of thumbs-up votes.
Num Subscriptions Number of users who are subscribed to a file, content pack, Google Doc, or Web link, or the
total number of subscriptions in a library.
Num Versions Number of times a new version of a file has been published.
Overall Rating The number of positive votes minus the number of negative votes. For example, if a file has
two positive votes and no negative votes, its Overall Rating is 2.
Tag Salesforce CRM Content tag assigned to a file, content pack, Google Doc, or Web link.
Total Content Size (MB) Size of a file, inclusive of all the file's versions.
Version Revised Date Date and time a new version of the file was published.
Library Created Date Date and time the library was created.
Field Description
Administrator Flag that indicates whether the user is a library administrator.
Group Flag that indicates whether the library member is a single user or a public group.
Field Description
Archived Flag that indicates whether a file has been archived. Archiving a file removes it from its library
but doesn’t permanently delete the file from Salesforce CRM Content. Archived files can be
rested as needed.
Created By User who uploaded the file, content pack, Google Doc, or Web link.
142
Analyze Your Data Reports
Field Description
Download User Type Profile type of the user who downloaded the file.
ID Identifier that enables you to group by file rather than version. The Title isn’t guaranteed
to be unique because multiple versions of the same file can have different titles.
Last Revised By Last user to edit or upload a new version of the file.
Likes Number of times file posts have been liked. This number doesn’t count likes applied to
comments on the file post.
Links Number of external file links that have been generated. External links are generated when a
user shares a file using Share via link or when a user shares content from a library using a
content delivery.
Posts Number of times the file has been posted to a feed. This number doesn’t count the number
of times the file has been attached to comments on posts.
Published Date Date a file, content pack, Google Doc, or Web link was first published or uploaded.
Shares Number of times the file has been posted to a user’s feed, shared using Share with people,
and shared using Share with groups.
SEE ALSO:
Limit Report Results
143
Analyze Your Data Reports
Note: If you increase the report’s time span and your company contains many leads or contacts in each cadence, the report
may take longer to run. To improve the performance, use filtering to limit the result set returned by the report. For instance,
reduce the time span to cadences less than the default 30-day setting.
Cadence Engagement
Shows which cadence and which outreach step is the most effective for each type of prospect engagement, such as total calls or
email delivery rate.
Lead Conversion
Shows how many leads sales reps are converting, the dollar value of the related opportunities, and who the top sales performer is.
Call Activity
Shows which sales reps are making the most phone calls, and what the results are.
Call Script Engagement
Shows how prospects responded to calls based on your call scripts. See exactly how many calls were successful.
Email Template Engagement
Shows how prospects responded to emails based on your email templates. See exactly how many prospects replied to each email.
Lead Reports
Use lead reports to show information about the source and status of leads, how long it takes to respond to leads, neglected leads, and
the history of lead fields.
Standard Reports
Choose the Lead History report type to track the history of standard and custom fields on leads where field histories are set to tracked.
Use this report to see tracked fields' old and new values.
Tip: If you have the “Create and Customize Reports” permission, you can use the View drop-down on a Lead History Report to
view lead history data by My Leads, My Team's Leads, User Owned Leads, Queue Owned Leads, and All Leads.
144
Analyze Your Data Reports
• Lead reports can show all leads, both converted and unconverted. To limit your report to just unconverted leads, enter filter criteria
of “Converted equals 0.”
• The Last Activity of a lead is the most recent due date of an activity on the record. The following past or future activities set
this date:
– Any event
– Closed tasks
• You can create a report of your lead information, export that data to Excel, and then do a mass mail merge using Microsoft® Word.
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunity reports provide information about your opportunities, including owners, accounts, stages, amounts, and more. The default
settings show you the most commonly used information from each object, but you can customize a report to view other information,
such as primary campaign source, forecast category, and synced quote.
SEE ALSO:
Limit Report Results
145
Analyze Your Data Reports
– Last Activity—The most recent due date of an activity on the opportunity record, including any opportunity event or closed
task.
• Not all Opportunity Product fields are available in report filters. For example, the Product Family field is not available in
Opportunity Product report filters because it is related to that object through the Pricebook Entry object. To make the Product
Family field available in Opportunity Product report filters—for cross-sell or upsell reporting—create a custom formula field to
store its contents and use that formula field in your filter. From the object management settings for opportunities, go to the fields
area, then create a custom field of type Formula, making sure to use Text for your formula return type and
TEXT(PricebookEntry.Product2.Family) for your formula.
• In Professional, Enterprise, Unlimited, Performance, and Developer edition organizations, the Hierarchy links let you browse report
results based on the role or territory hierarchies.
• You can include the Primary Campaign Source field on all standard opportunity reports. This field is controlled by field-level
security.
• Use the View filter to limit your opportunity report results. View options vary depending on your organization's Edition and setup.
– My opportunities—Shows only your opportunities.
– My team-selling opportunities—Shows opportunities for which you are on the opportunity team.
– My team-selling and my opportunities—Shows your opportunities and opportunities for which you are on the opportunity
team.
– My team’s opportunities—Shows your opportunities and opportunities owned by all of your subordinates in the role hierarchy.
– My team’s team-selling and their opportunities—For users who report to you in the role hierarchy, this shows opportunities
that they own or for which they are on the opportunity team.
– My territories—For organizations that use Enterprise Territory Management, this option shows opportunities that belong to the
territories to which you are assigned.
– My territories’ opportunities—For organizations that use Enterprise Territory Management, this option shows opportunities that
belong to the territories to which you are assigned.
– My territory team’s opportunities—For organizations that use Enterprise Territory Management, this option shows opportunities
that belong to the territories to which you are assigned and their child territories.
– All opportunities—Shows all opportunities that you can view.
SEE ALSO:
Opportunity Reports
Opportunity Report Types
Standard Opportunity Reports
146
Analyze Your Data Reports
Opportunities with Opportunity and Product Splits Opportunities with opportunity split rollups and product split
details for opportunity team members.
Custom fields are included for Opportunity Line Item Split records,
but not for Opportunity Split records. The Split Owner Team Role
field is available only for Opportunity Split records.
Opportunity Pipeline with Splits Opportunities summarized by split information such as assigned
user and percentage.
Opportunity Product Report with Splits Split assignments and percentages for each product. You can
also summarize information by these fields:
• Split Total Price–Split percentage multiplied by
Total Price.
• Split Expected Product Amount–Split Total
Price multiplied by Probability.
Opportunity Product Schedules with Opportunity and Product Opportunity splits by month, including opportunity rollup split
Splits percentages and product split percentages for opportunity team
members. To access this report, product schedules must be
enabled for your organization.
Custom fields are included for Opportunity Line Item Split records,
but not for Opportunity Split records. The Split Owner Team Role
field is available only for Opportunity Split records.
Opportunity Schedule Report with Splits Opportunities by month, including split percentages for the
opportunity team. To access this report, product scheduling must
be enabled for your organization.
You can also summarize information by these fields:
• Split Total Price–Split percentage multiplied by
Total Price.
• Split Schedule Amount–Split percentage multiplied
by Schedule Amount.
147
Analyze Your Data Reports
Stuck Opportunities Open opportunities grouped by stage and then sorted by age.
SEE ALSO:
Opportunity Reports
Opportunity Report Types
Tips for Working with Opportunity Reports
Opportunities Reports
View standard information about your opportunities, including owners, accounts, stages, amounts, and more. The default settings
show you the most commonly used information from each object, but you can customize the report to view other information, such
as primary campaign source, forecast category, and synced quote.
Opportunities with Contact Roles Report
View information about the contacts associated with your opportunities, including name, title, and role.
Opportunities with Contact Roles and Products Report
View information about the contacts and opportunities associated with a selected product. You must select a product to filter results
by when you run the report. This report isn’t supported in Lightning Experience. In Lightning Experience, select a different report
type.
Opportunities with Competitors Report
View information about your company's competitors for opportunities, including their strengths and weaknesses.
148
Analyze Your Data Reports
SEE ALSO:
Choose a Report Type in Salesforce Classic
Opportunity Reports
Tips for Working with Opportunity Reports
Opportunities Reports
View standard information about your opportunities, including owners, accounts, stages, amounts, and more. The default settings show
you the most commonly used information from each object, but you can customize the report to view other information, such as primary
campaign source, forecast category, and synced quote.
Note: Click Show Hierarchy to see your org’s role hierarchy above the report results. You can use the role hierarchy to share
report data with people at different levels in the hierarchy. For example, if you see CEO > VP of Global Sales > Sales Operations
Director, you’re viewing data for the Sales Operations Director role. Click any role name to see and share the data that’s visible to
people in that role.
The default settings for this report are:
Format
Tabular
149
Analyze Your Data Reports
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Contact Roles Report
View information about the contacts associated with your opportunities, including name, title, and role.
The default settings for this report are:
Format
Tabular
Selected Columns
150
Analyze Your Data Reports
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Contact Roles and Products Report
View information about the contacts and opportunities associated with a selected product. You must select a product to filter results
by when you run the report. This report isn’t supported in Lightning Experience. In Lightning Experience, select a different report type.
The default settings for this report are as follows.
Format
Tabular
Selected Columns
151
Analyze Your Data Reports
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Competitors Report
View information about your company's competitors for opportunities, including their strengths and weaknesses.
The default settings for this report are:
Format
Summary
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Historical Trending Report
The Opportunities with Historical Trending report is a custom report type designed to help you analyze historical trends in your sales
pipeline.
We've selected some of the most useful Opportunity fields for you in the default report:
Amount
Estimated total sale amount. For organizations using multiple currencies, the amount is shown in your personal currency by default.
Change the Opportunity Currency picklist to track the amount in another currency.
152
Analyze Your Data Reports
Close Date
Date when you plan to close the opportunity. You can enter a date, or choose a date from the calendar that displays when you put
your cursor in the field.
Stage
Current stage of opportunity based on selections you make from a predefined list, for example, Prospect or Proposal.
Probability
Percentage of estimated confidence in closing the opportunity.
Forecast Category
Forecast category name that is displayed in reports, opportunity detail and edit pages, opportunity searches, and opportunity list
views. The setting for an opportunity is tied to its Stage.
Note: If you edit this report type, it is no longer automatically updated. If you remove this report type, it will not be regenerated.
Note: You must enable and set up field history tracking and select fields in order to use the Field History Tracking report.
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunity History Report
View information about the history of your opportunities, including stages and close date.
The default settings for this report are:
Format
Summary
153
Analyze Your Data Reports
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Opportunity Teams Report
View information about the members of your opportunity teams and their roles, organized by opportunity.
To be able to use this report, enable team selling.
The default settings for this report are:
Format
Tabular
Selected Columns
If your admin has created custom opportunity team fields, you can include them in this report.
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Opportunity Teams and Products Report
154
Analyze Your Data Reports
View information about your opportunity team members and their products, organized by opportunity. You must specify either a product
or an opportunity team member to filter results by when you run the report.
The default settings for this report are:
Format
Tabular
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Partners Report
View information about the partners you team with on your opportunities, including opportunity name, amount, and partner role.
The default settings for this report are:
Format
Summary
Selected Columns
155
Analyze Your Data Reports
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Products Report
View information about the products associated with your opportunities, including product name and opportunity stage.
The default settings for this report are:
Format
Matrix
Summary Fields
Total Price (sum)
Selected Columns
156
Analyze Your Data Reports
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunity Trends Report
View information about trends shared by the opportunities in your pipeline.
The default settings for this report are:
Format
Matrix
Groupings
The default report shows rows grouped by Historical Stage and columns grouped by As of Date.
Note: The As of Date on an Opportunity Trends report is a snapshot of Opportunity data taken at 0:00 GMT on the last
day of every month for the following month. This functionality cannot be adjusted. To view specific snapshot dates, consider
setting up historical trending Set Up Historical Trend Reporting as an alternative to the Opportunity Trends Report.
Summary Fields
Historical Amount (sum)
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Quotes and Quote PDFs Report
View details about the quote PDFs created for each quote associated to an opportunity. The default settings show you the most commonly
used information from each object, but you can customize the report to view other information, such as who created or last modified
each listed quote PDF.
The default settings for this report are:
Format
Summary
157
Analyze Your Data Reports
Grouping
The default report shows quotes and quote PDFs grouped by Opportunity Name.
Selected Columns
SEE ALSO:
Limit Report Results
Opportunity Reports
Opportunities with Quotes and Quote Line Items Report
View details about the quotes associated with opportunities, and the line items for each quote. The default settings provide the most
commonly used information from each object, but you can customize the report to see any opportunity, quote, or quote line item field.
If your organization uses multicurrency or advanced currency management, you have additional options for customizing this report.
When you select report columns, you can select the “converted” version of an amount or total column to show its value converted to a
different currency. Select the currency you want to convert to under Advanced Settings when you select your report criteria.
The default settings for this report are:
Format
Summary
Summary Fields
Amount (sum)
Quote Discount (sum)
Groupings
The default report shows you results grouped first by Opportunity Name and then by Quote Name. Each quote line item
is listed beneath its associated quote.
Selected Columns
158
Analyze Your Data Reports
SEE ALSO:
Limit Report Results
Opportunity Reports
SEE ALSO:
Limit Report Results
159
Analyze Your Data Reports
Self-Service Reports
Self-Service reports help you analyze the effectiveness of your Self-Service portal. Find out how
EDITIONS
many cases are being viewed, how many customers are logging in, or what customers think of the
solutions you’re offering. Available in: Salesforce
Note: Starting with Spring ’12, the Self-Service portal isn’t available for new Salesforce orgs. Classic
Existing orgs continue to have access to the Self-Service portal. Available in: Professional,
Standard Reports Enterprise, Performance,
Unlimited, and Developer
• The Self-Service Usage Report gives you information on how many cases are viewed and Editions
logged, the number of comments that have been added, and the number of searches
Self-Service users have performed.
• The Self-Service User Report provides information about the customers who are logging into your Self-Service portal, including
the associated account and last login date. You can also include Self-Service fields in any custom contact report.
• The Helpful Solutions report displays statistics from Self-Service portals that display solutions. On each Self-Service solution page,
customers can indicate whether the solution is helpful. You can use the results of this survey when choosing the top five solutions
for your Self-Service Home page and to verify that customers are able to find the solutions they need.
SEE ALSO:
Limit Report Results
SEE ALSO:
Limit Report Results
Cases
Field Description
Last Activity This field for the Cases report type is populated from the Last Activity field in
the Contacts object. The Cases report type doesn't include a Last Activity field
from the Cases object.
160
Analyze Your Data Reports
Cases
Field Description
# Cases Submitted The number of cases submitted by Self-Service users via the Self-Service portal.
(Self-Service Usage Report)
# Cases Viewed The number of cases viewed by Self-Service users via the Self-Service portal.
(Self-Service Usage Report)
# Comments Added The number of comments added to all cases by Self-Service users via the Self-Service
portal.
(Self-Service Usage Report)
Entitlement Process Start The time the case entered an entitlement process.
Time This field displays if an entitlement process applies to the case.
Entitlement Process End Time The time the case exited an entitlement process.
This field displays if an entitlement process applies to the case.
Super User A contact enabled to view case information, add comments, and upload attachments
for all cases anyone in the company submitted via the Self-Service portal.
(Self-Service User Report)
Self-Service Commented A checkbox showing a comment was added to a case via the Self-Service portal.
New Self-Service Comment A checkbox showing someone added a comment to a case via the Self-Service that the
case owner didn’t review yet.
Is Incoming A checkbox showing a case was received by email via the Email-to-Case or On-Demand
Email-to-Case feature.
(Cases with Emails Report)
Age The age of an open case is the elapsed time from creation to the present. The age of a
closed case is the elapsed time from creation to the closing time of the case. Age can
be expressed in days, hours, or minutes. Note that the age of a case does not take into
account any holidays that are associated with the case's business hours. Holidays
suspend business hours during specified dates and times.
Public Case Commented A checkbox showing a case has comments that may be displayed via the Self-Service
portal.
161
Analyze Your Data Reports
Cases
Field Description
Old Value The value in a tracked case or solution field before it was changed.
(Case History Report and Solution History Report)
New Value The value in a tracked case or solution field after it was changed.
(Case History Report and Solution History Report)
Business Hours The number of business hours that have elapsed since a case was last updated. Note
that holidays are not taken into account for this field. Holidays suspend business hours
during specified dates and times.
(Case History Report)
Business Hours Since Similar The number of hours that elapsed since the same field on a case was last updated. Note
Change that holidays are not taken into account for this field. Holidays suspend business hours
during specified dates and times.
(Case History Report)
History ID The unique identifier for each change tracked on a specified case or solution field.
(Case History Report and Solution History Report)
Account Name The account associated with the contact on the case.
Parent Case ID The ID of a parent case, which can be used to access a parent case via the API.
Field Description
# Solution Searches The number of solution searches performed by Self-Service users via the Self-Service
portal.
(Self-Service Usage Report)
Self-Service Access Count The number of times a solution was viewed in the Self-Service portal.
Self-Service Answer Count The number of times the survey question “Does this Solution help you answer your
question?” is answered, either positively or negatively, on a solution in the Self-Service
portal.
Self-Service Positive Count The number of times the survey question “Does this Solution help you answer your
question?” is answered positively on a solution in the Self-Service portal.
Author The name of the user who originally created the solution.
Num Related Cases The number of cases associated with the solution.
Reviewed Checkbox that indicates whether the solution has a reviewed status.
162
Analyze Your Data Reports
Field Description
Old Value The value in a tracked case or solution field before it was changed.
(Case History Report and Solution History Report)
New Value The value in a tracked case or solution field after it was changed.
(Case History Report and Solution History Report)
History ID The unique identifier for each change tracked on a specified case or solution field.
(Case History Report and Solution History Report)
Out of Date Checkbox that indicates that the translated solution may need translating to match its
master solution.
(Translated Solutions report)
Master Solution Title The title of the master solution. Displays up to 250 characters.
Translated Solution Title The title of the translated solution. Displays up to 250 characters.
Master Solution Details The solution details of the master solution. Displays up to 1000 characters.
Translated Solution Details The solution details of the translated solution. Displays up to 1000 characters.
163
Analyze Your Data Reports
Note: Pre-designed custom report types are not the same as standard report types. Available in: both Salesforce
Classic and Lightning
Experience
1. Salesforce CRM Call Center Reports
Available in: Essentials,
Call Center reports help you analyze the Salesforce CRM Call Center phone calls that were Group (View Only),
handled by you and your team. Professional, Enterprise,
2. Create a Custom Report Type for Approval History Performance, Unlimited,
Before you can run reports on executed and in-progress approval processes and their steps, and Developer Editions
you must create a custom report type for approval process instances. Available in: Enhanced
3. Create a Custom Report Type in Collaborative Forecasts Folder Sharing and Legacy
Folder Sharing
To make a forecasting report available to users, administrators must create a custom report
type. A report type defines the set of records and fields available to a report based on the
relationships between a primary object and its related objects. Reports display only records USER PERMISSIONS
that meet the criteria defined in the report type.
To create, edit, and delete
4. Preparing Sales Leaders to Report on Forecasts reports:
Unlock details about forecasts with and without adjustments, overall planned revenue, and • Legacy Folder Sharing
quota attainment when you create custom report types for Collaborative Forecasts. When you
Create and
create a custom report type, choose the primary and related objects carefully, because they Customize Reports
determine the forecast types you can report on.
AND
5. Idea Reports
Report Builder
Create custom report types so users can create reports about ideas, idea comments, and votes.
Enhanced Folder
6. Report on Salesforce Knowledge Articles Sharing
Use Salesforce Knowledge custom reports to track how articles are created, maintained, and Create and
delivered. Customize Reports
AND
7. Chat Session Reports
Use Chat Session reports to consolidate data about agents’ activities while they chat with Report Builder
customers–for example, how long agents are online or how many chat requests are assigned to run reports:
to them. • Legacy Folder Sharing
8. Report on Partners Run Reports
Some opportunities involve partner relationships. Use this report to identify and analyze those Enhanced Folder
relationships. Sharing
9. Enable the Account Owner Report Run Reports
The Account Owner report lists all accounts and who owns them.
10. Report on File Search Activity
Use a report to determine the top 300 search term queries for file searches and to identify which content is missing or needs to be
renamed based on users’ search terms and the click-rank.
11. Report on Chatter Top 100 Feed Item Views with Interaction Count Report
Get a report on the top 100 feed item views in your organization or community with the primary object Interaction Count Report.
Knowing the posts that people are looking at most is a great way to get insight into current Chatter trends. Actions counted as views
include liking, commenting, and viewing a feed item detail. View counts aren’t unique. For example, a user can add three comments
to a post, and that is counted as three views. After you set up the report, it’s run weekly.
164
Analyze Your Data Reports
165
Analyze Your Data Reports
Report Type Name Enter a unique name for the report type.
Deployment Status When you're ready to let all users access the
report type, select Deployed.
4. Click Next.
5. Click the box under the primary object.
6. Select Process Instance Node.
A process instance node represents an instance of an approval step. A new process instance node is created each time a record
enters a step in an approval process. No process instance node is created when the record doesn’t meet the step criteria or if the
approval process instance is otherwise completed without entering the step.
166
Analyze Your Data Reports
Option Description
Each "A" record must have at least one related The report includes only process instances that enter at least one approval step
"B" record. to create a process instance node.
The report excludes process instances for records that were submitted for
approval but that didn't meet any step criteria.
"A" records don't always have related "B" records. The report includes all process instances.
8. Click Save.
After the report type is deployed, notify the relevant users with the names of the category folder and the custom report type, so that
they can start creating and running approval history reports.
SEE ALSO:
Approval History Reports
Create a Custom Report Type
Build a Report in Salesforce Classic
2. For Primary Object, select Forecasting Items or Forecasting Quotas. Available in: Professional,
Performance, and
3. For Store in Category, select Forecasts.
Developer Editions and in
4. Let your reps know the locations and names of the report types. Enterprise and Unlimited
Editions with the Sales Cloud
USER PERMISSIONS
167
Analyze Your Data Reports
Forecasting Custom Viewing the forecast compared to external data that’s available in a custom
Data with Forecasting forecast column. For example, create a report that shows how your sales
Items as a related team is performing versus last year’s performance. Create a custom field
object that contains data about last year’s total revenue, and select that field in
a custom column for your active forecast type. Create the custom report
type that uses Forecasting Custom Data as the primary object and uses
Forecasting Items as a related object. When you create the report, include
the forecast owner, the team’s commit value, closed value, and the custom
column.
168
Analyze Your Data Reports
Forecasting Items with Viewing opportunity revenue or quantity forecasts. View opportunity information for specific forecasting
Opportunities as a related line items. For example, you can create a summary report for each of your subordinates that includes
object the opportunity names and last activity dates for their forecasting items and final forecasts. To include
forecast adjustments, either use the Forecasting Items report type, or use the Forecasting Item with
or without opportunities option.
For opportunities with no opportunity products specified, this report type includes two forecasting
items: one for the opportunity revenue forecast type and one with product family grouping. These
product family forecasting items roll up into the Products Not Specified row of the product family
forecast.
Forecasting Items with Viewing opportunity splits or custom split field forecasts. View opportunity split or custom split field
Opportunity Splits as a related information for specific forecasting line items. For example, you can create a summary report for each
object of your subordinates that includes the opportunity split amounts and percentages for their forecasting
items, with adjustment information and final forecast amounts.
Forecasting Items with Viewing product family forecasts. View product family information for specific forecasting line items.
Opportunity Product as a For example, you can create a summary report for each of your subordinates that includes the product
related object
169
Analyze Your Data Reports
Forecasting Items with Viewing opportunity product split forecasts that contain items that aren’t split. For example, create a
Product Splits: Items with summary report for each of your subordinates that shows the opportunities included in a forecast that
Products No Split and don’t include split amounts or percentages.
Opportunity Product Splits as To see the entire product splits forecasts, create a joined report that includes this report type and these
related objects report types.
• Forecasting Items as the primary object with Product Splits: Items without Products as a related
object
• Forecasting Items as the primary object with Product Splits: Items with Product Splits and
Opportunity Product Splits as related objects
Forecasting Items with Viewing opportunity product splits forecasts that contain items that are split. For example, create a
Product Splits: Items with summary report for each of your subordinates that includes the opportunity product split amounts
Product Splits and and percentages for their forecasting items, with adjustment information and final forecast amounts.
Opportunity Product Splits as To see the entire opportunity product splits forecasts, we recommend creating a joined report that
related objects includes this report type and these report types.
• Forecasting Items as the primary object with Product Splits: Items with Products No Splits and
Opportunity Product Splits as a related object
• Forecasting Items as the primary object with Product Splits: Items without Products as a related
object
Forecasting Items with Viewing opportunity product split forecasts that contain items that don’t include a product designation.
Product Splits: Items without For example, create a summary report for each of your subordinates that shows the opportunities
Products as a related object included in a forecast that aren’t grouped with a product.
To see the entire product splits forecasts, create a joined report that includes this report type and these
report types.
• Forecasting Items as the primary object with Product Splits: Items with Products No Splits and
Opportunity Product Splits as related objects
• Forecasting Items as the primary objects with Product Splits: Items with Product Splits and
Opportunity Product Splits as a related object
Forecasting Quotas Viewing data about individual or team quotas. We recommend including all the default fields in the
report type. For example, you can include lookup fields, such as the full name of the owner. When
running the report, you can filter by your name to see quotas that you created and their related accounts
and owners.
Forecasting Quotas with Viewing quota attainment. For example, you can use Forecasting Quotas and Forecasting Items to
Forecasting Items as a related create the custom report type. Then, when you create the report, include a team’s quotas and forecast
object revenue for closed forecasts, and create a formula field to show the attained quota percentage.
170
Analyze Your Data Reports
Note: If you delete a forecast type, reports that use that forecast type don’t run.
Idea Reports
Create custom report types so users can create reports about ideas, idea comments, and votes.
EDITIONS
As an administrator, you can create custom report types so users can analyze what happens to
ideas. Custom report types are the only way to make idea reports available for your users—Salesforce Available in: Salesforce
does not provide sample idea reports or a standard report folder for ideas. Classic (not available in all
orgs)
To create a folder of idea reports for your users:
1. Create a custom report type for ideas. If you create a custom report type that uses Ideas as the Available in: Professional,
primary object and Votes as the secondary object, child (merged) ideas will not appear in the Enterprise, Performance,
Unlimited, and Developer
report unless you select "A" records may or may not have related "B"
Editions
records. Child ideas have no votes because their votes are transferred to the master idea.
This means child ideas do not appear in a report if the Votes object is required.
2. Create a new public folder for idea reports. This step requires the “Manage Public Reports” USER PERMISSIONS
permission. To create, update, and
3. Using your custom report type, create one or more new custom reports for ideas. Assign the delete custom report types:
reports to the new idea reports folder you created. • Manage Custom Report
Types
After completing these steps, a folder of idea reports will be available to your users on the Reports
home page.
171
Analyze Your Data Reports
Tip: The Knowledge Base Dashboards and Reports AppExchange package provides over two Salesforce Knowledge is
dozen reports that help you monitor the knowledge base and analyze usage metrics. available in Essentials and
the Unlimited Edition with
Service Cloud.
1. Create a Folder for Article Reports
Create a public folder where you can store article reports for your users. Salesforce Knowledge is
available for an additional
2. Create a Report Type for Article Reports cost in: Professional,
Create a custom report type to report on Salesforce Knowledge article data. Enterprise, Performance,
3. Create an Article Report and Developer Editions. For
more information, contact
Run your custom report on your Salesforce Knowledge articles and save them to your article
your Salesforce
reports folder.
representative.
4. Fields Available on Salesforce Knowledge Reports
The fields you can use in a knowledge report depend on the type of information you are reporting
USER PERMISSIONS
on.
To create or update custom
report types:
• Manage Custom Report
Types
To create a public reports
folder:
• Manage Public Reports
172
Analyze Your Data Reports
Select read/write if you want users to be able to add and remove reports.
Salesforce Knowledge is
5. Choose a folder visibility option. available in Essentials and
the Unlimited Edition with
6. Click Save. Service Cloud.
Reports you store in this folder are available on the Reports tab. Salesforce Knowledge is
available for an additional
cost in: Professional,
Enterprise, Performance,
and Developer Editions. For
more information, contact
your Salesforce
representative.
USER PERMISSIONS
173
Analyze Your Data Reports
Salesforce Knowledge is
Primary Object Related Objects Description
available in Essentials and
Knowledge Compare information, such as creation Unlimited Editions with
• Knowledge Versions
(Lightning dates, audience visibility, and the Service Cloud.
• Feed: Knowledge
Knowledge) number of associated cases across record Salesforce Knowledge is
types. To access history and custom available for an additional
fields, add Knowledge Versions as a cost in: Professional,
secondary object. Enterprise, Performance,
and Developer Editions. For
If you changed the name of your
more information, contact
knowledge base, the custom label shows
your Salesforce
here.
representative.
174
Analyze Your Data Reports
Report types for the search, view, vote, and version history objects don’t have secondary relationships.
Table 2: Report Types for Search, Views, Votes, and Version History
Primary Object Description
Knowledge Search Activity • Analyze the number of searches per day, month, or year for
each channel and language.
• For each search, see the date, ID, and title of the article that
was clicked.
• See which keywords users are looking for in your knowledge
base.
• For each keyword, see the average number of results, and
articles that appear in the search results.
• For each article, see the average number of clicks, and unique
users who clicked it.
Knowledge Keyword Search See which keywords users are looking for in your knowledge
base. Keyword data is only available for Salesforce Classic.
Article Version History Compare information about individual article versions, such as
their creation dates, published channels, and number of
associated cases.
Knowledge Article Views Analyze the number of views per day, month, or year for each
channel and role.
Knowledge Article Votes Analyze the number of votes per day, month, or year for each
channel and role.
Knowledge Article Searches Analyze the number of searches per day, month, or year for each
channel and role. Searches aren’t differentiated between internal
and external, and all searches are logged as Internal App. Searches
in Experience Cloud sites aren’t checked.
Knowledge Article Searches’ report results are limited to searches
performed using Classic Knowledge.
175
Analyze Your Data Reports
In the Store in Category dropdown menu, we recommend choosing Customer Support Reports or Other Reports. This category
is where users find the custom report type on the Reports tab.
Note: An article’s score is calculated slightly differently in the API than it is in a custom report. We recommend standardizing on
one or the other and not attempting to use both.
Limitations and Considerations
• It takes 24 hours for a report to generate.
• Based on relevancy, your report only shows up to 300 results daily and up to the past 30 days of the current month. See How Search
Results are Ordered.
– After a new month, past daily data aggregates to the top 300 results per month for the current year. After a new year, past
monthly data aggregates to the top 300 results per year.
• Fields and custom report types are supported for Knowledge Search Activity. See Fields Available on Salesforce Knowledge Reports
• You can add and remove fields in custom reports. See Design the Field Layout for Reports Created from Your Custom Report Type
176
Analyze Your Data Reports
177
Analyze Your Data Reports
Important: Where possible, we changed noninclusive terms to align with our company Available in: Salesforce
value of Equality. We maintained certain terms to avoid any effect on customer Classic (not available in all
orgs) and Lightning
implementations.
Experience
The following tables list the available fields by primary object for Salesforce Knowledge reports.
Fields Available on Article types (Knowledge in Salesforce Classic) Reports Salesforce Knowledge is
available in Essentials and
The Article Type primary object allows you to add a secondary object of the article type version. the Unlimited Edition with
Service Cloud.
Table 3: Article Type Report Primary Object Fields
Salesforce Knowledge is
Field Description
available for an additional
Archived By User who archived the article. cost in: Professional,
Enterprise, Performance,
Archived Date Date the article was archived. and Developer Editions. For
more information, contact
Article Number Unique number automatically assigned to the article.
your Salesforce
Article Type ID The ID associated with the article type. representative.
Custom fields Any custom fields created on the article types. Add the article type's
version as a secondary object to access any custom fields for the
article type.
Last Modified Date the article was last changed. The last modified date of a draft
Date article is the time the draft was saved. The last modified date of a
published article is time the article was most recently published.
178
Analyze Your Data Reports
Field Description
Next Review Date The date when the article must next be reviewed for accuracy.
Note: Currently you can’t use Knowledge Article Version and Last Modified Date in the same report.
Created Date Date the current article version was created. If the article has been published more than one
time, Created Date is the latest draft date. To create reports that use the original article
creation date, first create a Custom Report Type that joins the Knowledge Article (__ka) and
Knowledge Article Version (__kav) objects for a given article type to allow for use of the created
date on the record in the Knowledge Article object, rather than the one for the Knowledge
Article Version record.
Custom fields Any custom fields created on the article types. Add the article type's version as a secondary
object to access any custom fields for the article type.
File fields aren't supported for reports and report types with Knowledge.
Is Primary Language Indicates that the article is not a translation, but the original article.
Last Modified Date Date the article was last changed. The last modified date of a draft article is the time the draft
was saved. The last modified date of a published article is time the article was most recently
published.
Out of Date Indicates that the primary article has been updated since this translation was published.
Publication Status Indicates whether the article or translation is in progress (draft), published, or archived.
179
Analyze Your Data Reports
Field Description
Translation Exported Date the article was exported for translation.
Date
Visible in Customer Indicates that the article is published in the Customer Portal.
Visible in Internal App Indicates that the article is published in the internal app (Articles tab).
Visible in Partner Indicates that the article is published in the partner portal.
Visible in Public Indicates that the article is published in the public knowledge base.
Knowledge Base
Field Description
Article Number Unique number automatically assigned to the article.
Created Date Date the current article version was created. If the article has been published more than one
time, Created Date is the latest draft date. To create reports that use the original article
creation date, first create a Custom Report Type that joins the Knowledge Article (__ka) and
Knowledge Article Version (__kav) objects for a given article type to allow for use of the created
date on the record in the Knowledge Article object, rather than the one for the Knowledge
Article Version record.
Last Modified Date Date the article was last changed. The last modified date of a draft article is the time the draft
was saved. The last modified date of a published article is time the article was most recently
published.
180
Analyze Your Data Reports
Field Description
Published Version Owner The user or queue that owns the published version of an article.
Visible in Customer Indicates that the article is published in the Customer Portal.
Visible in Internal App Indicates that the article is published in the internal app (Articles tab).
Visible in Partner Indicates that the article is published in the partner portal.
Visible in Public Indicates that the article is published in the public knowledge base.
Knowledge Base
Field Description
Channel The channel that’s applicable to the article. Possible values are All Channels, Internal
App, Customer, Partner, and Public Knowledge Base.
Count The number of article searches applicable to the duration shown (day, month, or year).
Cumulative Count The total number of article searches for the history of the record.
Date Last date on which an article search took place for the record. All rows represent a date, channel,
and role combination.
Duration The time period the search count is applied to. Possible values are Daily, Monthly, and
Yearly. For example, a record where the Count is 70 and the Duration is Monthly indicates
that 70 searches took place over the past month. Totals are aggregated daily for the current
month, monthly from the past full month through the past full year, and yearly beyond that.
Related Role Name of the role that applies to the record. Each row in the report represents searches per
channel per role.
Field Description
Archived By User who archived the article.
181
Analyze Your Data Reports
Field Description
Article Type The article type associated with the article.
Created Date Date the current article version was created. If the article has been published more than one
time, Created Date is the latest draft date. To create reports that use the original article
creation date, first create a Custom Report Type that joins the Knowledge Article (__ka) and
Knowledge Article Version (__kav) objects for a given article type to allow for use of the created
date on the record in the Knowledge Article object, rather than the one for the Knowledge
Article Version record.
Is External Data Indicates that the article came in from (or: was sourced from) an external system.
Is Primary Language Indicates that the article is not a translation, but the original article.
Last Modified Date Date the article was last changed. The last modified date of a draft article is the time the draft
was saved. The last modified date of a published article is time the article was most recently
published.
Date the article was last published. Date the article was last published.
Next Review Date The date when the article must next be reviewed for accuracy.
Out of Date Indicates that the primary article has been updated since this translation was published.
Owner The user or queue that owns a published, draft, or archived version of an article.
Publication Status Indicates whether the article or translation is in progress (draft), published, or archived.
182
Analyze Your Data Reports
Field Description
Translation Imported Date the translation was imported.
Date
Visible in Customer Indicates that the article is published in the Customer Portal.
Visible in Internal App Indicates that the article is published in the internal app (Articles tab).
Visible in Partner Indicates that the article is published in the partner portal.
Visible in Public Indicates that the article is published in the public knowledge base.
Knowledge Base
Field Description
Channel The channel that’s applicable to the article. Possible values are All Channels, Internal
App, Customer, Partner, and Public Knowledge Base.
Count The number of article views applicable to the duration shown (day, month, year).
Cumulative Count The total number of article views for the history of the record.
Date Last date on which an article view took place for the record. All rows represent a date, channel,
and role combination.
Duration The time period the search count is applied to. Possible values are Daily, Monthly, and
Yearly. For example, a record where the Count is 70 and the Duration is Monthly indicates
that 70 searches took place over the past month. Totals are aggregated daily for the current
month, monthly from the past full month through the past full year, and yearly beyond that.
Score The article's average view rating. Scores take into account a half-life calculation. Every 15 days,
if an article has not been viewed its average rating moves up or down. This calculation ensures
that over time, older or outdated articles don't maintain artificially high or low ratings compared
to newer, more frequently viewed articles.
183
Analyze Your Data Reports
Field Description
Channel The channel that’s applicable to the article. Possible values are All Channels, Internal
App, Customer, Partner, and Public Knowledge Base.
Count The number of article votes applicable to the duration shown (day, month, year).
Cumulative Count The total number of article votes for the history of the record.
Date Last date on which an article vote took place for the record. All rows represent a date, channel,
and role combination.
Duration The time period the search count is applied to. Possible values are Daily, Monthly, and
Yearly. For example, a record where the Count is 70 and the Duration is Monthly indicates
that 70 searches took place over the past month. Totals are aggregated daily for the current
month, monthly from the past full month through the past full year, and yearly beyond that.
Field Description
Channel The channel that’s applicable to the article. Possible values are All Channels, Internal
App, Customer, Partner, and Public Knowledge Base.
Count The number of keyword searches applicable to the duration shown (day, month, year).
Date Last date on which a keyword search took place for the record. All rows represent a date, channel,
and role combination.
Duration The time period the search count is applied to. Possible values are Daily, Monthly, and
Yearly. For example, a record where the Count is 70 and the Duration is Monthly indicates
that 70 searches took place over the past month. Totals are aggregated daily for the current
month, monthly from the past full month through the past full year, and yearly beyond that.
Found Indicates whether the keyword shown was found during a search of the knowledge base.
Keyword Search term used to search published articles in the knowledge base.
Field Description
Average Click Rank The order in which the article appeared in search results when results are sorted by relevance
and when readers clicked it from the list of results.
Channel The channel that’s applicable to the article. Possible values are All Channels, Internal
App, Customer, Partner, and Public Knowledge Base.
Clicked Article Title The title of the clicked article taken when the search results are sorted by relevance by the reader.
184
Analyze Your Data Reports
Field Description
Duration The time period the search count is applied to. Possible values are Daily, Monthly, and
Yearly. For example, a record where the Count is 70 and the Duration is Monthly indicates
that 70 searches took place over the past month. Totals are aggregated daily for the current
month, monthly from the past full month through the past full year, and yearly beyond that.
Activity totals are collected nightly and aren’t in real time.
Number of Results The number of search results that were returned for the search term. If Duration is also included,
this value is aggregated based on the time period specified.
Number of Searches The number of searches for the duration that’s shown (day, month, or year).
Number of Users The number of individual users who clicked the article.
Search Term The first 100 characters of the search term that was used to search published articles in the
knowledge base.
Assistance Flags Lowered Number of times an agent lowered an assistance flag during a
(Agent) Chat Session.
Assistance Flags Lowered Number of times a supervisor lowered an assistance flag during
(Supervisor) an agent’s Chat Session.
Assistance Flags Raised Number of times an agent raised an assistance flag during a Chat
Session.
185
Analyze Your Data Reports
Chat Requests Declined (Push Timeout) Number of chat requests that timed out while assigned to an agent.
Chat Requests Engaged Number of chats in which an agent was engaged during the session.
Created By: Full Name Full name of the creator of the session record.
Last Modified By: Full Name Full name of the person who last modified the session record.
Last Modified Date Date the session record was last modified.
Login Time Time and date the agent logged in to the session.
Logout Time Time and date the agent logged out of the session.
Time Idle Total amount of time in seconds an agent was not engaged in chats during a session. The
following formula indicates how an agent’s idle time is calculated: (Time Spent Online +
Time Spent Away) - Time Spent in Chats = Time Idle.
Time Spent at Capacity Total amount of time in seconds in which an agent’s queue was full.
Time Spent Away Total amount of time in seconds an agent spent in “Away” status.
Time Spent in Chats Total amount of time in seconds an agent spent engaged in chats.
Time Spent Online Total amount of time in seconds an agent spent online.
Report on Partners
Some opportunities involve partner relationships. Use this report to identify and analyze those
EDITIONS
relationships.
To report on all partnerships or primary partnerships within opportunities: Available in: Salesforce
Classic
1. From the Reports tab, choose the Partner Opportunities report.
2. Choose Customize to change the report and view only primary partner relationships. Add a Available in: Essentials,
field filter where Primary equals 1. Professional, Enterprise,
Performance, Unlimited,
In any other opportunity report, when you customize the report to display the Partner column, only and Developer Editions
the primary partner displays.
You can also run the Partner Accounts report to analyze the partnerships of your accounts.
USER PERMISSIONS
To report on partners:
• Read on accounts or
opportunities
AND
Run Reports
186
Analyze Your Data Reports
Custom report types are the only way to make reports about file search activity available for your users—Salesforce does not provide
sample file search activity reports or a standard report folder.
Note: Activity totals are collected nightly and aren’t in real time.
187
Analyze Your Data Reports
Field Description
Average Click Rank The order in which the file appeared in search results when users
clicked it from the list of results.
Average Number of Results The number of search results that were returned for the search
term. If Duration is also included, this value is aggregated based
on the time period specified.
Duration The time period the search count is applied to. Possible values are
Daily, Monthly, and Yearly. For example, a record where the Count
is 70 and the Duration is Monthly indicates that 70 searches took
place over the past month. Totals are aggregated daily for the
current month, monthly from the past full month through the past
full year, and yearly beyond that.
Number of Searches The number of searches for the duration that’s shown (day, month,
or year).
Number of Users The number of individual users who clicked the file.
Search Terms The first 100 characters of the search term that was used to search
published files.
SEE ALSO:
Access to Report Folders
Creating and Editing Folders
Create a Custom Report Type
Build a Report
Report on Chatter Top 100 Feed Item Views with Interaction Count Report
Get a report on the top 100 feed item views in your organization or community with the primary
EDITIONS
object Interaction Count Report. Knowing the posts that people are looking at most is a great way
to get insight into current Chatter trends. Actions counted as views include liking, commenting, Available in: Salesforce
and viewing a feed item detail. View counts aren’t unique. For example, a user can add three Classic (not available in all
comments to a post, and that is counted as three views. After you set up the report, it’s run weekly. orgs) and Lightning
Experience
User Permissions Needed
Available in: Essentials,
To create or update custom report types: “Manage Custom Report Types” Group, Professional,
Enterprise, Performance,
To create a public reports folder: “Manage Public Reports” Unlimited, and Developer
Editions
Custom report types are the only way to make reports about the 100 top feed item views. Salesforce
doesn’t provide sample top view activity reports or a standard report folder.
188
Analyze Your Data Reports
Note: Reports on feed activities don’t include information about system-generated posts, such as feed tracked changes.
Field Description
Comment Count The number of comments on a post
Days for interval How often the report is run—currently 7, for every seven days
(fixed value)
FeedElement parent The ID of the group, profile, record, or other entity that is the parent
to the feed where the content is posted
NetworkScope The scope of the network where this feed item is available.
This field always has a value. For the default network, it’s
00000000000000. If it’s posted in a community, it has the ID of the
community (also known as the NetworkId). If the value contains
an "I," the post is parented by a record, like an account, an
opportunity, or some other record type.
Start interval Date The date that marks the start of the seven-day run interval
SEE ALSO:
Characteristics of Chatter Counts
189
Analyze Your Data Reports
190
Analyze Your Data Reports
191
Analyze Your Data Reports
192
Analyze Your Data Reports
193
Analyze Your Data Reports
The Update Preview Automatically switch doesn’t affect the report run page.
Available in: Essentials, Group, Professional, Enterprise, Performance, Unlimited, and To run reports in shared
folders:
Developer Editions
• Run Reports AND Access
Available in: Enhanced Folder Sharing to the shared folder
Review key report metrics in the header of the report run page in Lightning Experience. The Lightning Experience report header displays
up to 8 metrics, in the order that they appear in the report, from left to right. These metrics include summaries such as average amounts,
grand totals, subtotals, record counts, and formula column results.
194
Analyze Your Data Reports
To quickly view or hide a report’s count of rows, detail rows, subtotals, or grand total record, use the toggles in the report footer. For
reports grouped by rows and columns (matrix), the footer includes the option to switch between stacked and unstacked summaries
view. Stacked summaries appear together, whereas unstacked summaries appear in distinct columns.
Get even more done with the tools in the report header. Using the tools, you can:
195
Analyze Your Data Reports
Viewing jumbo-sized reports in the run page? Column headers are sticky, so, they don’t go out of sight as you page through report
records.
You can further customize how the records in the report display. From a column’s action menu, you can sort and group records, and
even remove the column. You can also sort by various metrics from a grouping column.
196
Analyze Your Data Reports
Want to take a closer look at records from a report that's grouped by rows (summary) or grouped by rows and columns (matrix)? On the
report run page, select the box next to a primary grouping value you want to drill down. Click Drill Down. Specify the field you want to
group the results by, and click Apply.
197
Analyze Your Data Reports
You can also view the record detail rows behind a report that's grouped by rows and columns (matrix). To do so, click the appropriate
record in the summary table on the report run page. You can even click in the Total row.
Let’s say you’re looking at the Accounts grouped by Industry report in the run page. If you want to review the records for just a specific
industry, click the count for that industry in the summary table.
Want a more convenient view of summarized metrics in reports that are grouped by rows and columns (matrix)? For a viewer-friendly
version of the report with less scrolling required, enable Stacked Summaries in the report footer.
198
Analyze Your Data Reports
To resize a column width, hover over the column header’s right edge. When the resize cursor appears, drag the edge until the data fits
right for you. When you’re done, click the cursor to set the new width.
199
Analyze Your Data Reports
Updating Multiple Fields Inline on the Report Run Page in Lightning Experience
Keep records up to date by editing field values directly on tabular, summary, and matrix reports.
EDITIONS
A column is editable when these conditions are met for Object Permissions, Field Level Security,
and Page Layout. Available in: Lightning
Experience
• You have edit access to the associated object.
• You have edit access to the associated field. Available in: Essentials,
Group, Essentials,
• The associated field is included and editable in the page layout assigned to your profile.
Professional, Enterprise,
Inline editing isn’t supported for these columns. Performance, Unlimited,
• Opportunity Amount and Developer Editions
• Polymorphic fields, such as an Owner field, fields from a Person Account record, or an activity’s Available in: Enhanced
Related To field Folder Sharing
• Columns associated with objects that Record Types aren’t available for, such as User
• Lookup fields that are entirely null (have no values) in the report results USER PERMISSIONS
• Columns that are directly associated with junction objects
To create, edit, and delete
These data types are supported. reports in private folders:
• Create and Customize
• Text
Reports
• Text Area
To create, edit, and delete
• Phone reports in public and private
• Email folders:
• Report Builder OR Report
• URL
Builder (Lightning
• Checkbox Experience)
• Number
• Percent
• Currency
• Date
• Picklist
• Picklist (Multi-select)
These guidelines apply when editing field values inline.
• To enable inline editing on the report run page, select Enable Field Editing.
• When you apply an edit to a cell, the background color changes to indicate that a new value is stored locally. Change one or more
values, and then save your changes.
• You can edit a maximum of 100 values at one time across multiple rows and columns.
• In each row, you can edit a maximum of 12 report columns at one time.
• There can be additional restrictions on inline editing of multiple fields based on the underlying Salesforce objects, custom settings,
and dependencies among the fields you’re modifying.
• Lookup filters aren’t applied to picklist field values. Be sure to select values that are valid for the record that you’re editing.
• You can edit state and country/territory fields if state and country/territory picklists are enabled. See Enable and Disable State and
Country/Territory Picklists.
• If you edit a cell that has related cells and the report requires a refresh to obtain up-to-date values, the related cells are marked
Pending. When you save your changes, the cells update with the new values.
200
Analyze Your Data Reports
• If you change a field value and then change another value that’s related to the first value through a lookup, a warning message
appears. It indicates that if you continue, you overwrite your first change.
For example in this Opportunities report, the number of employees changed for the Acme Threads account.
You realize that the account name isn’t correct, and enter an inline edit to change it.
201
Analyze Your Data Reports
With this change, there’s a conflict between the modified number of employees and the number of employees associated with the
new account name. A message window shows you that if the edits are saved, the original change in the number of employees is
discarded.
202
Analyze Your Data Reports
203
Analyze Your Data Reports
204
Analyze Your Data Reports
Filter a report by value when you want to define the filter criteria yourself. For example, filter for
USER PERMISSIONS
opportunities worth more than $50,000.00, cases that mention word "widgets" in the subject, or
Accounts located in California. To add or edit a filter:
In Salesforce Classic, filter your report from the report builder. • Legacy Folder Sharing
Create and
In Lightning Experience, there are two ways to filter reports: either from the Report Builder or while
Customize Reports
viewing a report. To add or edit report filters, use the Report Builder. To edit existing, unlocked
report filters while you’re reading a report, run the report and then edit filters directly from the filters AND
pane ( ). You can edit existing filters from the filters pane, but you can’t add new ones. Report Builder
Enhanced Folder
Each report supports up to 20 field filters.
Sharing
Note: In Lightning Experience, these filters are available in the Report Builder, but aren’t Create and
Customize Reports
shown in the filter panel when viewing a report. Even though the filters aren’t shown, they
still filter the report. AND
• Filter Logic to customize how existing filters apply to your report. Each filter is assigned a To edit a filter while viewing
a report in Lightning
number. To get your report to return records that meet the criteria of Filter 1 and either
Experience:
Filter 2 or Filter 3, use this filter logic: Filter 1 AND (Filter 2 OR Filter
• Run Reports
3). Filter logic requires at least one field filter.
To add filter logic in the Lightning Experience report builder, click > Add Filter Logic.
• Cross Filter to filter on one object’s relationship to another object. Cross filter on Accounts with Opportunities
so that your report only returns Accounts that have Opportunities. Add a subfilter to a cross filter to further filter by the second
object. For example, the Opportunity subfilter Amount greater than 50000 causes your report to return Accounts
that have Opportunities worth more than $50,000.00.
Cross filters aren’t available in the Lightning Experience report builder.
• Row Limit to limit the number of report results in tabular reports. To see which five Accounts have the largest annual revenue,
set a row limit of Top 5 Accounts by Annual Revenue.
Row limit filters aren’t available in the Lightning Experience report builder.
205
Analyze Your Data Reports
Standard filters, such as date filters, are applied by default to most objects. Look for them underneath the Add dropdown menu and
customize them as necessary. Different objects have different standard filters.
3. Optionally, to prevent people from editing a field filter while reading your report in Lightning Experience, check Locked.
4. Click Save.
5. To read your filtered report, click Run Report.
Example: Say that you want your team to call new leads at companies with more than 100 employees located in California,
Arizona, or Nevada. You have a leads report with fields like Lead Status, Number of Employees, and State. Your
report gives a complete overview of your entire company’s leads. But you only want to see new leads that have more than 100
employees and are located in California. Apply these filters to your report:
1. Lead Status equals New
2. Number of Employees greater than 100
3. State includes California, Arizona, Nevada
Now your leads report returns only the leads you need.
206
Analyze Your Data Reports
207
Analyze Your Data Reports
Field-to-field filters let you filter a report by comparing the values of two different report fields. For
USER PERMISSIONS
example, see cases modified after closing date by filtering on cases with a last modified date after
the closed date. To add or edit a filter:
Add a field-to-field filter while editing a report. • Legacy Folder Sharing
Create and
1. From the Lightning Experience report builder, click Filters. Then, choose a field from the Customize Reports
Add filter... picklist.
AND
2. If the field you chose to filter on supports field-to-field filters, then set the Type dropdown to Report Builder
Field. If the field doesn’t support field-to-field filtering, then the Type dropdown doesn’t appear.
Enhanced Folder
3. Enter filter criteria. Sharing
For help with entering filter criteria, see Filter Operators and Filter Logic. Create and
Customize Reports
4. Optionally, to prevent people from editing a field filter while reading your report in Lightning AND
Experience, check Locked. Report Builder
5. Click Save.
To lock or unlock filters so
6. To read your filtered report, click Run Report. that users can’t edit them
while viewing a report in
Report data filters based on the criteria you set.
Lightning Experience:
Example: Say that you want opportunities worth less than projected. You have an • Legacy Folder Sharing
opportunity report with fields like Amount and Projected Amount, and State. Create and
Apply a field-to-field filter to your report that compares values between Amount and Projected Customize Reports
Amount. AND
1. Click Add filter.... Report Builder
2. Select Amount. Enhanced Folder
Sharing
3. Set Operator to less than, Type to Field, and Value to Projected Amount. If necessary, Create and
clear the default Value by clicking X. Customize Reports
4. Click Apply. AND
5. Click Save. Report Builder
Now your report has a field-to-field filter (1) that returns opportunities worth less than projected To edit a filter while viewing
(2). a report in Lightning
Experience:
• Run Reports
208
Analyze Your Data Reports
Get the Most out of Field-To-Field Filters Tips, Limits, and Limitations
As you get ready to add field-to-field filters, review these tips, limits, and limitations.
• Each report supports up to 4 field-to-field filters.
• Field-to-field filters only support these field types:
– Date
– Datetime
– Numeric
Note: Currency fields are numeric, but if your org has enabled multiple currencies, then you can’t use currency fields
(such as Amount) in field-to-field filters.
• Field-to-field filters only compare fields of the same data type. For example, a datetime field can only be compared with another
datetime.
• Don’t use the Equals or Not Equals to filter standard date fields such as Closed Date. The field values are stored with precise date
and timestamps, and comparisons of the values often yield unexpected results.
• Joined reports don’t support field-to-field filters. To convert a report with field-to-field filters into a joined report, first remove the
field-to-field filter.
• Historical tracking reports support field-to-field filters, but the filter must be based on a history field.
• Field-to-field filters must compare two different fields.
• When a field-to-field filter compares a null value with a non-null value, it returns false or 0. If two null values are compared, then
the filter returns true or 1.
209
Analyze Your Data Reports
• Field-to-field filters aren't available in Salesforce Classic. You can't run or edit reports with field-to-field filters in Salesforce Classic.
3. Click Save.
Now your report shows Banking industry Accounts in California, Arizona, and Nevada with any amount of revenue, and any Account
with annual revenue above $1,000,000.00.
Note:
• Filter logic isn't available for all filters. For example, you can’t use a filter for rollup summary fields.
210
Analyze Your Data Reports
• On reports where object A may or may not have object B, you can't use the OR condition to filter across multiple objects. For
example, if you select Account Name starts with M OR Contact First Name starts with M, an
error message informs you that your filter criteria are incorrect.
• You can't use filter logic if your field filters use these fields:
– Topics
– Description
– Any Address Line 1, Address Line 2, or Address Line 3 fields
– Forecast Category
– Campaign: Member Type
– User: Profile Name
– Login Status
– Custom long-text area fields
– Old Value or New Value fields
– Composite fields, such as Full Name
SEE ALSO:
Notes about Filtering on Types of Fields and Values
211
Analyze Your Data Reports
212
Analyze Your Data Reports
213
Analyze Your Data Reports
d. Enter a value.
7. Click OK.
8. Click Save.
The report filters based on the primary-secondary object relationship and any additional filters on the secondary object.
Note: In Lightning Experience, although cross filters still filter the report, they don’t appear in the Filters panel on the report run
page. If you have permission to edit a report, you can view cross filters in the report builder.
SEE ALSO:
Example: Multiple Cross Filters and a Subfilter
Example: Use WITH in Cross Filters
Example: Use WITHOUT in Cross Filters
214
Analyze Your Data Reports
3. Click OK.
4. To save the report, click Save.
The report filters based on the primary-secondary object relationship and any additional filters on the secondary object.
Note: In Lightning Experience, although cross filters still filter the report, they do not appear in the Filters panel on the report run
page. If you have permission to edit a report, you can view cross filters in the report builder.
215
Analyze Your Data Reports
Note: In Lightning Experience, although cross filters still filter the report, they do not appear Report Builder
in the Filters panel on the report run page. If you have permission to edit a report, you can Enhanced Folder
view cross filters in the report builder. Sharing
Report Builder OR
Report Builder
(Lightning
Experience)
216
Analyze Your Data Reports
Find Accounts with Cases in the Lightning Experience Report Builder Available in: Enterprise,
1. Edit or create a report based on the Accounts report type. Performance, Unlimited,
and Developer Editions
2. Create a filter where Billing State/Province equals CA and click OK.
Available in: Enhanced
Now your report shows all accounts in California. To see Californian accounts with cases, Folder Sharing and Legacy
let’s add a cross filter: Accounts with Cases. Folder Sharing
3. Click > Add Cross Filter.
USER PERMISSIONS
4. From the Show Me dropdown, select Accounts.
5. From the Operator dropdown, select with. To add edit, or delete a
cross filter in private reports:
6. From the Secondary Object dropdown, select Cases. • Legacy Folder Sharing
7. Click Apply. Create and
8. Click Save. Customize Reports
Enhanced Folder
Find Accounts with Cases in the Salesforce Classic Report Builder
Sharing
1. Edit or create a report based on the Accounts report type. Create and
Customize Reports
2. Create a field filter where Billing State/Province equals CA and click OK.
Now your report shows all accounts in California. To see Californian accounts with cases, To add edit, or delete a
cross filter in private and
let’s add a cross filter: Accounts with Cases.
public reports:
3. From the Filters pane, click Add > Cross Filter. • Legacy Folder Sharing
4. From the Primary Object dropdown (left of the operator), choose Accounts. Report Builder
5. From the operator dropdown, choose with. Enhanced Folder
Sharing
6. From the Secondary Object dropdown (right of the operator), choose Cases.
Report Builder OR
7. Click OK. Report Builder
8. Click Save. (Lightning
Experience)
When you run the report, the results include only California accounts with associated cases.
SEE ALSO:
Create a Cross Filter
217
Analyze Your Data Reports
SEE ALSO:
Create a Cross Filter
218
Analyze Your Data Reports
219
Analyze Your Data Reports
7. Click OK.
Now, add another cross filter so that the report shows only Accounts without Activities.
SEE ALSO:
Create a Cross Filter
220
Analyze Your Data Reports
221
Analyze Your Data Reports
Note: Role hierarchy filters are available for reports based on these standard report types: Available in: Essentials,
Group, Professional,
• Activity Enterprise, Performance,
• Task Unlimited, and Developer
• Event Editions
While Editing a Report in the Lightning Experience Report Builder To edit a filter while viewing
a report in Lightning
1. Edit or create a report.
Experience
2. From the FILTERS tab, click Show Me. • Run Reports
3. From the Show Me menu, filter by a role.
4. Further filter the report by narrowing the results by a person in your selected role. Narrowing by a person shows records that
belong to that person, and to people in roles that report to that person.
5. To reset your selection, click Clear Selection.
6. Click Done.
7. Click Save.
While Viewing a Report
1. To filter a report, on the report run page, click to open the Filters panel.
2. In the Filters panel, click Role Hierarchy, and filter by a role.
If you select a role above your role in the hierarchy, such as CEO, the report results doesn’t show records that you don’t have
permission to view. You only see records you’re allowed to view based on your role.
222
Analyze Your Data Reports
3. Further filter the report by narrowing the results by a person in your selected role. Narrowing by a person shows records that
belong to that person, and to people in roles that report to that person.
Note: If you remove the View Roles and Role Hierarchy permission, users can still view the hierarchy information in Salesforce
Classic reports.
3. Append &fv0=Filter Value to the end of the report’s URL, substituting your parameters.
a. The & indicates a new parameter in the URL. If the base URL doesn’t already include a ? to indicate other parameters, use ?
instead of &.
b. For fv0, substitute 0 for the numerical order in which the filter appears in the report.
The first filter is 0, the second filter is 1, and so on. For example, to set the value of the fifth filter in the report, specify fv4. For
all reports, the first three filters are standard filters. However, you can’t filter standard filters with URL parameters, so they don’t
count in this order.
The order in which filters appear in Lightning Experience on the report run page isn’t necessarily the order that filters appear in
the report. Locked filters are listed beneath unlocked filters on the run page, but aren't necessarily ordered after all the unlocked
filters. To see the order of filters in your report, check their order in the report builder. Alternatively, make a GET call to
/services/data/v39.0/analytics/reports/<report ID>/describe and note their order in the JSON
response.
223
Analyze Your Data Reports
c. For Filter Value, enter the criteria that the filter operates on.
The filter value must be URI encoded, so certain characters (such as spaces) must be written in a format that URLs can understand.
For example, a space is %20 when URI encoded.
Example: To stay on top of your opportunities, you check your report periodically throughout the day. You always open the
report and edit a filter to show either Existing Business or New Business. (The Type filter includes these filters by default.)
Each time that you check you have to load the report, edit the filter, and reload the report. Instead, to save time, create two URLs
that you can bookmark: one with the filter value parameter set to New Business, and another with the filter value parameter set
to Existing Business.
To set up the filter URL, identify the URL for the report. This example URL is from a report that’s opened from the Reports tab.
https://MyDomainName.my.salesforce.com/lightning/r/Report/00OB0000003TFr2MAG/view?queryScope=userFolders
Edit the URL to set the Type filter value to New Business by appending the parameter &fv0=New%20Business. Use
URI encoding for the parameter value. For example, here the space between "New" and "Business" is written as %20. The complete
bookmarked URL reads:
https://MyDomainName.my.salesforce.com/lightning/r/Report/00OB0000003TFr2MAG/view?queryScope=userFolders&fv0=New%20Business
When you navigate to your opportunity report using the URL, the report opens filtered and ready to read.
224
Analyze Your Data Reports
• Only the equals operator is supported. You can't create filter URLs with operators such as less than, starts with,
or contains.
• You can’t change the field being filtered using URL parameters.
• You can assign at most one value per filter. For example, you can include fv0=Acme in a filter URL but not
fv0=Acme&fv0=Universal.
• You can't add new filters to reports using filter value URL parameters. You can only modify existing filters.
• You can’t delete filters from reports using filter value URL parameters. Setting a blank value removes the filtering from the URL,
but doesn’t delete the filter.
• You can’t use filter value URL parameters with historical tracking reports.
• Report filter URLs aren't supported in Salesforce Classic.
225
Analyze Your Data Reports
226
Analyze Your Data Reports
Field history reports let you track changes in fields by adding an “Old Value” and a “New Value”
USER PERMISSIONS
column. With a field history report, each report row represents a change to a record. By filtering a
field history report, you can answer questions like “Which opportunities have we closed so far this To add or edit a filter:
financial quarter?” • Legacy Folder Sharing
Before filtering on Old Value and New Value, ensure that field tracking is turned on for your Salesforce Create and
org. If you don’t see any field history report types (such as Opportunity Field History), or if your field Customize Reports
history report isn’t returning any records even though you know that records have changed, then AND
ask your admin to turn on field history tracking. For information about field tracking, including how Report Builder
to set it up, see Field History Tracking in Salesforce help.
Enhanced Folder
All filters on the Old Value and New Value fields are text filters, which sometimes means that special Sharing
consideration is needed. Even if New Value captures a change to, say, a numeric field - like Amount Create and
- it captures the number as text. That means that filter operators like “greater than” and “less than” Customize Reports
won’t work like you’d expect. If a field is represents a currency - like USD 1,000.50 - and you filter AND
the report to show New Value equals USD 1,000.50, then the filter may not return Report Builder
any records for a colleague who works in a different locale. For example, for your colleague in Paris
to get the same report results, the filter would probably need to read New Value equals To lock or unlock filters so
USD 1 000,50 because numer formats vary widely by locale. that users can’t edit them
while viewing a report in
To see which opportunities closed this financial quarter, create an report based on the report type Lightning Experience:
Opportunity Field History, then add these filters: • Legacy Folder Sharing
• Ensure that the Edit Date standard filter is set to Current FQ. Create and
Customize Reports
• New Value contains Closed
AND
• Old Value does not contain Closed
Report Builder
Enhanced Folder
Sharing
Create and
Customize Reports
AND
Report Builder
227
Analyze Your Data Reports
Available in:
Salesforce Knowledge is
available in Essentials and
Unlimited Editions with
Service Cloud.
Salesforce Knowledge is
available for an additional
cost in: Professional,
Enterprise, Performance,
and Developer Editions. For
more information, contact
your Salesforce
representative.
228
Analyze Your Data Reports
Return information about entire categories and subcategories of knowledge articles with category
USER PERMISSIONS
filters.
Say you have categories defined by geographic region. The root category lists countries like United To add or edit a filter:
States, Mexico, and Canada. Under United States, categories include individual states like Arizona, • Legacy Folder Sharing
California, and Oregon. Under each state, categories include cities. Category filters have their own Create and
operators: Customize Reports
• above—Return knowledge articles above and in the specified category. Report Builder
• below—Return knowledge articles below and in the specified category. Enhanced Folder
Sharing
• above or below—Return all knowledge articles above, below, and in the specified category. Create and
If there is more than one root category, then the filter returns only knowledge articles that are Customize Reports
part of the parent root category. AND
So with a category filter on United States below Arizona, your report returns knowledge Report Builder
articles about cities like Tucson and Phoenix. Or, with a category filter on United States
above Arizona, your report instead excludes knowledge articles about cities in Arizona. To lock or unlock filters so
that users can’t edit them
Add a category filter while editing a Knowledge report. while viewing a report in
1. From the Lightning Experience report builder, open the filter menu by clicking Lightning Experience:
Filters.
• Legacy Folder Sharing
2. Click > Add Category Filter (1). Create and
Customize Reports
A category filter section appears in the filter pane (2).
AND
3. Choose a category to filter by (3). Report Builder
4. Choose an operator. Options are: Enhanced Folder
• at—Return knowledge articles in the specified category. Sharing
Create and
• above—Return knowledge articles above and in the specified category. Customize Reports
• below—Return knowledge articles below and in the specified category. AND
• above or below—Return all knowledge articles above, below, and in the specified category. Report Builder
229
Analyze Your Data Reports
Field Filter Field filters are available for reports, list views, workflow rules, and other areas of the application.
For each filter, set the field, operator, and value. For all report types except joined reports, you
can add a report filter by dragging a field from the Fields pane to the Filters pane.
Filter Logic Add Boolean conditions to control how field filters are evaluated. Add at least 1 field filter before
applying filter logic.
Cross Filter Filter a report by the child object using WITH or WITHOUT conditions. Add subfilters to further
filter by fields on the child object. For example, if you have a cross filter of Accounts with
Opportunities, click Add Opportunity Filter and create the Opportunity Name
equals ACME subfilter to only include those opportunities.
Row Limit For tabular reports, select the maximum number of rows to display, then choose a field to sort
by and the sort order. You can use a tabular report as the source report for a dashboard table
or chart widget, if you limit the number of rows it returns.
To add a report with a row limit filter, specify a "name" and "value" in Dashboard Settings in the Report Builder.
230
Analyze Your Data Reports
Operator Uses
equals Use for an exact match. For example, “Created equals today.”
less than Use for results that are less than the value you enter. For example, “Quota less
than 20000” returns records where the quota field ranges from 0 to 19,999.99.
greater than Use when you want results that exceed the value you enter. For example, “Quota
greater than 20000” returns records where the quota amount begins at 20,000.01.
less or equal Use for results that match or are less than the value that you enter.
greater or Use for results that match or exceed the value that you enter.
equal
231
Analyze Your Data Reports
Operator Uses
not equal to Shows results that don’t have the value that you enter. This operator is useful for eliminating empty fields. For
example, “Email not equal to <blank>.”
If evaluating more than one value, none of the specified values can exist on the record. For example, if you
specify not equal to A & C, only records where the value is neither A nor C are returned.
contains Use for fields that include your search string, but sometimes also include other information. For example,
“Account contains California” finds California Travel, California Pro Shop, and Surf California. Keep in mind that
if you enter a short search string, it can match a longer word. For example, “Account contains pro” finds California
Pro Shop and Promotions Corporation. This operator isn’t case-sensitive except when it's used in roll-up summary
(RSF) field filters. For example, you have this filter criteria for an RSF field: Opportunity name contains widgets.
The query that creates the RSF field value only returns records with a name value that contains widgets. Records
with name values that contain Widgets or WIDGETS aren’t included.
does not contain Eliminates records that don’t contain the value you enter. For example, “Mailing Address Line 2 does not contain
P. O. Box.”
When specifying filter criteria on roll-up summary fields, does not contain uses “or” logic on
comma-separated values. On list views, reports, and dashboards, does not contain uses “and” logic.
This operator isn’t case-sensitive except when it's used in roll-up summary (RSF) field filters.
starts with Use when you know what your value starts with, but not the exact text. This operator is a narrower search term
than “contains.” For example, if you enter “Account starts with California,” you find California Travel and California
Pro Shop, but not Surf California.
includes Available when you choose a multi-select picklist as the selected field. Use this operator to find records that
include one or more of the values that you enter.
For example, if you enter “Interests includes hockey, football, baseball,” you find records that have only hockey
selected, and records that have two or three of the values entered. Results don’t include partial matches of
values.
excludes Available when you choose a multi-select picklist as the selected field. Use this operator to find records that
don’t contain any values that match the ones entered.
For example, if you enter “Interests exclude wine, golf,” your report lists records that contain any other values
from that picklist, including values that are blank. Results don’t include partial matches of values.
Enter values on separate lines.
between Available for dashboard filters only. Use to filter on ranges of values. For each range, the filter returns results
that are greater than or equal to the minimum value and less than the maximum value.
For example, if you enter “Number of Employees from 100 through 500,” your results include accounts with
100 employees up to those with 499 employees. Accounts with 500 employees aren’t included in the results.
within Available when you create list views based on a geolocation custom field. Shows results that are within the
specified radius from a fixed latitude and longitude. For example, if you enter “Warehouse location within 50
miles 37.775° –122.418°,” your list view includes all warehouses within a 50–mile radius of San Francisco,
California.
232
Analyze Your Data Reports
• The drill down option for reports in Lightning Experience works only if the date field is grouped by any of the options available in
the list of relative date filters in the following table. For example, if the date field on the report is grouped by Fiscal Period or Fiscal
Week, you cannot drill down in the report.
TODAY Starts at 12:00:00 AM on the current day and continues for 24 hours.
TOMORROW Starts at 12:00:00 AM. on the day after the current day and continues for 24 hours.
LAST WEEK Starts at 12:00:00 AM on the first day of the week before the current week and
continues for seven days.
THIS WEEK Starts at 12:00:00 AM on the first day of the current week and continues for seven
days.
NEXT WEEK Starts at 12:00:00 AM on the first day of the week after the current week and
continues for seven days.
LAST n WEEKS Starts at 12:00:00 AM on the first day of the week that started n weeks before the
current week, and continues up to 11:59 PM on the last day of the week before
the current week.
NEXT n WEEKS Starts at 12:00:00 AM on the first day of the week after the current week and
continues for n times seven days.
n WEEKS AGO Starts at 12:00:00 AM on the first day of the week that started n weeks before the
start of the current week and continues for seven days.
233
Analyze Your Data Reports
THIS MONTH Starts at 12:00:00 AM on the first day of the current month and continues for all
the days of that month.
NEXT n MONTHS Starts at 12:00:00 AM on the first day of the month after the current month and
continues until the end of the nth month.
LAST n MONTHS Starts at 12:00:00 AM on the first day of the month that started n months before
the current month and continues up to 11:59 PM on the last day of the month
before the current month.
n MONTHS AGO Starts at 12:00:00 AM on the first day of the month that started n months before
the start of the current month and continues for all the days of that month.
NEXT MONTH Starts at 12:00:00 AM on the first day of the month after the current month and
continues for all the days of that month.
LAST n DAYS Starts at 12:00:00 AM n days before the current day and continues up to the
current second. (The range includes today. Using this date value includes records
from n + 1 days ago up to the current day.) In standard filters, n can be 7, 30,
60, 90, or 120.
NEXT n DAYS For standard date filters, starts at 12:00:00 AM on the day that the report is run
and continues for n days. (The range includes today.) In standard filters, n can be
7, 30, 60, 90, or 120.
For custom field filters, starts at 12:00:00 AM on the next day and continues for
the next n days. (The range does not include today.)
n DAYS AGO Starts at 12:00:00 AM on the day n days before the current day and continues for
24 hours. (The range does not include today.)
LAST QUARTER Starts at 12:00:00 AM on the first day of the calendar quarter before the current
calendar quarter and continues to the end of that quarter.
THIS QUARTER Starts at 12:00:00 AM on the first day of the current calendar quarter and continues
to the end of the quarter.
NEXT QUARTER Starts at 12:00:00 AM on the first day of the calendar quarter after the current
calendar quarter and continues to the end of that quarter.
LAST n QUARTERS Starts at 12:00:00 AM on the first day of the calendar quarter n quarters ago and
continues to the end of the calendar quarter before the current quarter. (The range
does not include the current quarter.)
NEXT n QUARTERS Starts at 12:00:00 AM on the first day of the calendar quarter after the current
quarter and continues to the end of the calendar quarter n quarters in the future.
(The range does not include the current quarter.)
n QUARTERS AGO Starts at 12:00:00 AM on the first day of the calendar quarter n quarters before
the current calendar quarter and continues to the end of that quarter.
234
Analyze Your Data Reports
THIS YEAR Starts at 12:00:00 AM on January 1 of the current year and continues through the
end of December 31 of the current year.
NEXT YEAR Starts at 12:00:00 AM on January 1 of the year after the current year and continues
through the end of December 31 of that year.
n YEARS AGO Starts at 12:00:00 AM on January 1 of the calendar year n years before the current
calendar year and continues through the end of December 31 of that year.
LAST n YEARS Starts at 12:00:00 am on January 1, n+1 years ago. The range ends on December
31 of the year before the current year.
NEXT n YEARS Starts at 12:00:00 AM on January 1 of the year after the current year and continues
through the end of December 31 of the nth year.
LAST FISCAL QUARTER Starts at 12:00:00 AM on the first day of the fiscal quarter before the current fiscal
quarter and continues through the last day of that fiscal quarter. The fiscal quarter
is defined on the Fiscal Year page in Setup.
Note: None of the FISCAL literal date values are supported when creating
mobile custom views.
THIS FISCAL QUARTER Starts at 12:00:00 AM on the first day of the current fiscal quarter and continues
through the end of the last day of the current fiscal quarter. The fiscal quarter is
defined on the Fiscal Year page in Setup.
NEXT FISCAL QUARTER Starts at 12:00:00 AM on the first day of the fiscal quarter after the current fiscal
quarter and continues through the last day of that fiscal quarter. (The range does
not include the current quarter.) The fiscal quarter is defined on the Fiscal Year
page in Setup.
LAST n FISCAL QUARTERS Starts at 12:00:00 AM on the first day of the fiscal quarter n fiscal quarters ago and
continues through the end of the last day of the previous fiscal quarter. (The range
does not include the current fiscal quarter.) The fiscal quarter is defined on the
Fiscal Year page in Setup.
NEXT n FISCAL QUARTERS Starts at 12:00:00 AM on the first day of the fiscal quarter after the current fiscal
quarter and continues through the end of the last day of the nth fiscal quarter.
(The range does not include the current fiscal quarter.) The fiscal quarter is defined
on the Fiscal Year page in Setup.
n FISCAL QUARTERS AGO Starts at 12:00:00 AM on the first day of the fiscal quarter n fiscal quarters before
the current fiscal quarter and continues through the end of the last day of that
fiscal quarter.
LAST FISCAL YEAR Starts at 12:00:00 AM on the first day of the fiscal year before the current fiscal year
and continues through the end of the last day of that fiscal year. The fiscal quarter
is defined on the Fiscal Year page in Setup.
235
Analyze Your Data Reports
NEXT FISCAL YEAR Starts at 12:00:00 AM on the first day of the fiscal year after the current fiscal year
and continues through the end of the last day of that fiscal year. The fiscal quarter
is defined on the Fiscal Year page in Setup.
LAST n FISCAL YEARS Starts at 12:00:00 AM on the first day of the fiscal year n fiscal years ago and
continues through the end of the last day of the fiscal year before the current fiscal
year. (The range does not include the current fiscal year.) The fiscal quarter is
defined on the Fiscal Year page in Setup.
NEXT n FISCAL YEARS Starts at 12:00:00 AM on the first day of the fiscal year after the current fiscal year
and continues through the end of the last day of the nth fiscal year. (The range
does not include the current fiscal year.) The fiscal quarter is defined on the Fiscal
Year page in Setup.
n FISCAL YEARS AGO Starts at 12:00:00 AM on the first day of the fiscal year n fiscal years ago and
continues through the end of the last day of that fiscal year.
Note: Case reports and Lead reports are affected by the discrepancy between Full Name and Middle Name described
in this article. Other reports may also be affected, but not all reports are.
236
Analyze Your Data Reports
• Field formatting for names in list view differs between Classic and Lightning. In Classic, names use the format "Lastname,
Firstname". In Lightning, names use the format Firstname Lastname.
• If your organization uses record types, the lookup dialog lists picklist values for all record types. Use the “equals” or “not equal to”
operators for these filters.
Note: If you change the label for a picklist value that’s used as a filter criterion, the picklist value is automatically removed
from the filter criteria. For example, if your report contains a filter where Lead Source equals Email or Web and
you change the picklist value Web to Referral, your report filter changes to Lead Source equals Email. If the changed
picklist value was the only value specified for a particular filter, it continues to show up in your filters, but an error appears.
• To limit results to records that are blank or contain “null” values for a particular field, choose the field and the “equals” or “not equal
to” operators, leaving the third field blank. For example, Amount equals returns records with blank amount fields. You can
search for blank values or other specified values at the same time. For example, Amount equals 1,,2 returns records where
the Amount is blank or contains the value “1” or “2”.
SEE ALSO:
Relative Date Filter Reference
237
Analyze Your Data Reports
• All amounts are converted to the corporate currency for comparison. For example, Annual Revenue greater than USD
50000000 finds accounts with revenue greater than 50 million U.S. dollars. This would include an account with revenue of 114
million Australian dollars, which is the equivalent of 60 million U.S. dollars, assuming a conversion rate of 1.9.
• Amounts in reports are shown in their original currencies, and report totals are displayed in your personal currency. You can change
the currency used for report totals by clicking Show > Currencies. For any amount, you can also choose to display the “converted”
column (for example, “Annual Revenue (converted)”), which will show amounts in the currency you select from the Display Currencies
Using drop-down list.
SEE ALSO:
Notes about Filtering on Types of Fields and Values
238
Analyze Your Data Reports
1. From the Reports tab or from the report run page, select Available in: Essentials,
> Subscribe.
Group, Platform,
2. In the Edit Subscription window, set the subscription schedule. Professional, Enterprise,
3. To have the report results delivered as an attached file, click Attach File. Performance, Unlimited,
and Developer Editions
a. Select Formatted Report (.xlsx format) or Report Details (.csx format). For .csx attachments,
it’s optional to change the encoding type.
USER PERMISSIONS
b. Click Save.
To subscribe to reports:
4. Add recipients or remove yourself.
• Subscribe to Reports
You’re automatically added as a recipient.
To subscribe other people to
a. Click Edit Recipients. reports:
b. Select from the available entity types and start typing to see all the matching names. • Subscribe to Reports:
Add Recipients
Only the users, groups, or roles with permission to access the report are listed.
To subscribe other people to
c. Select from the matching options and click Add. reports by groups or roles:
• Subscribe to Reports:
d. Close the Edit Recipients window. Send to Groups and
When the subscription emails the refreshed report to each recipient, it sends it to the email Roles
address set in Settings > Email > My Email Settings. If no email is set in My Email Settings To specify who runs the
the refreshed report is sent to the recipient’s email address set on their Salesforce User record. report in a report
subscription:
5. Under Run Report As, specify whose perspective is used when running the report. • Subscribe to Reports: Set
• Me—You run the report, and recipients see the same report data that you see. Running User
• Another Person—Recipients see the same report data as the person you select. The person
must have permission to run reports and have access to this report.
Important: Recipients see the same report data as the person running the report. It’s possible that they see more or less data
than they normally see in Salesforce.
239
Analyze Your Data Reports
6. Optionally, add conditions. The conditions are evaluated when the report is run according to the schedule you set. The report is
emailed only if all conditions are met. For each condition, select an aggregate measure, an operator, and a value to match. You can
add up to 5 conditions.
7. Click Save.
The report subscription starts, and recipients begin receiving report results by email according to the schedule and conditions you set.
For considerations, review Reports and Dashboards Limits and Allocations on page 464.
240
Analyze Your Data Reports
When subscribing to a report, choose to receive report results as a formatted spreadsheet (.XLSX) or a comma-separated (.CSV) file
attached to the subscription email.
1. From the Reports tab or from the report run page, click > Subscribe.
2. Click Attach File.
3. Choose to attach a Formatted Report (.XLSX) or a Details Only (.CSV) file.
4. If attaching a details only (.CSV) file, optionally choose an encoding.
241
Analyze Your Data Reports
5. Click Save.
The Edit Subscription menu shows that report results are included as an attachment.
6. Click Save.
The subscription email arrives with an attached file containing report results.
Limits, Limitations, and Allocations
The attached report can include up to 15,000 rows, 30 columns, and 3-MB file size. Extra data is clipped or not sent. To view the
entire report in Salesforce, click the report title in the formatted report email or sign in to Salesforce and search for the report.
SEE ALSO:
Let Users Attach Files to Report Subscriptions
242
Analyze Your Data Reports
6. Make sure that the subscription is active if you’re ready to start receiving notifications.
7. To schedule the notifications, click Save.
Example: A report is scheduled to be run every weekday at 7 a.m. If the sum of the amount is less than 1,000,000, a Salesforce
app notification is sent and a Chatter post is made.
SEE ALSO:
Schedule Reports in Salesforce Classic
SEE ALSO:
Combine Subscriptions, Actions, and Conditions in One Report
Subscription Reporting Objects
Cron Expressions for Subscription Schedules
243
Analyze Your Data Reports
To create, update, and delete custom report Manage Custom Report Types Available in: Salesforce
types: Classic and Lightning
Experience
To view Lightning Report subscriptions: Subscribe to Reports
Available in: Essentials,
To view Lightning Dashboard subscriptions: Subscribe to Dashboards
Group, Professional,
To view CRM Analytics lens, dashboard Subscribe to CRM Analytics Assets Enterprise, Performance,
widget, and collection subscriptions: Unlimited, and Developer
Editions
To view Einstein Discovery model quality Manage Einstein Discovery
notifications: CRM Analytics lens,
dashboard widget, and
collections are available with
To view the details of analytic subscriptions, create a joined report that shows the subscription CRM Analytics, which is
available for an extra cost in
owners, schedules, recipients, and triggering conditions. The joined report is based on two custom
Enterprise, Performance,
report types. You can filter the report by subscription and notification source.
and Unlimited Editions. Also
Several objects are involved when reporting on subscriptions. available in Developer
• The Analytic Notification object contains information about subscriptions and their owner, Edition.
source, schedule, and the user they’re running as. Einstein Discovery model
• The Analytic Notification Action Configurations object includes details about subscription quality notifications are
recipients, attachments, and actions. available with CRM Analytics
Plus or Einstein Predictions,
• The Analytic Notification Conditions object stores the trigger conditions for subscriptions and
which are available for an
notifications.
extra cost in Enterprise,
To include all the details, two custom report types are needed. Combine these custom report types Performance, and
in a joined report to create a resource for subscription management. Unlimited Editions. Also
available in Developer
Edition.
SEE ALSO:
Report on Subscriptions and Notifications
244
Analyze Your Data Reports
b. For Object B, select Analytic Notification Thresholds and select Each “A” record must have at least one related “B” record.
c. For Object C, select Analytic Notification Actions and select Each “B” record must have at least one related “C” record.
d. For Object D, select Analytic Notification Action Configurations and select “C” records may or may not have related “D”
records.
245
Analyze Your Data Reports
b. For Object B, select Analytic Notification Thresholds and select Each “A” record must have at least one related “B” record.
c. For Object C, select Analytic Notification Conditions and select “B” records may or may not have related “C” records.
246
Analyze Your Data Reports
247
Analyze Your Data Reports
d. Click Add Block, and select the subscription conditions report type that you previously created.
e. Click Add Block.
3. Click Save.
4. Enter a name, description, and folder
248
Analyze Your Data Reports
5. Click Save.
6. To run the report, click Run.
Subscriptions
Subscriptions are built from five related objects.
Analytic Notification
The primary notification object.
Analytic Entity
Depending on which analytic entity a subscription is associated with, a value populates one of these report columns.
• Analytic Asset Collection
• Dashboard
• Discovery Goal
• Lens
• Report
Analytic Notification ID
The ID of the notification.
249
Analyze Your Data Reports
250
Analyze Your Data Reports
• Post to Slack
• Send Email
• Watchlist Results
• Execute Custom Apex
Configuration Data
If the Action Type is Execute Custom Apex, this field contains the Apex class.
251
Analyze Your Data Reports
Considerations
You can add fields from Reports and Dashboards by lookup from the Analytic Notification object. You can’t add fields from CRM Analytics
or Einstein Discovery objects by lookup.
SEE ALSO:
Report on Subscriptions and Notifications
Hours 0–23 , - * /
Day_of_month 1–31 , - * ? / L
Month 1–12 , - * /
Designates Jan–Dec
252
Analyze Your Data Reports
Special Characters
L Specifies the end of a range. 0 0 12 L */1 ? means “12:00 PM on the last day of the
Read as “last”. month” (*/1 means that this repeats on a monthly cycle).
253
Analyze Your Data Reports
SEE ALSO:
Report on Subscriptions and Notifications
254
Analyze Your Data Reports
Select To
To me Send the report to your email address specified on your
user profile.
You can send reports only to email addresses included on Salesforce user records. When portal users receive emailed reports, they
see the same data as the running user set in the report schedule. If you have information you’d rather not share, schedule the report
to run with a portal user as the running user.
Note: Portal users receive report and dashboard refresh email notifications when the Allow Reports and
Dashboards to Be Sent to Portal Users option is enabled.
5. Set the frequency, duration, and time for running the report:
• In the Frequency field, select Daily, Weekly, or Monthly and then refine the frequency criteria.
• Using the Start and End fields, specify the dates during which you want to schedule the report. To enter the current date,
click the link showing the date.
• Next to Preferred Start Time, click Find available options to choose a start time.
Your preferred start time isn’t available if other users have already selected that time to schedule a report.
255
Analyze Your Data Reports
Choose To
Save report modifications with this schedule Save both the report schedule and changes you made to the report.
Discard report modifications Save the schedule only. Changes you made to the report are discarded.
Report recipients can click the report name in emailed reports to log in to Salesforce and view the report directly.
Example: Example
A report is scheduled to run every Friday at midnight, and its results are emailed to a selected group and user.
1. All users, including portal users, viewing the scheduled report see the report data that Sales Director Chet’s access level allows.
2. Report run results are set to be emailed to a public user group calledAll Internal Users and the admin user. You can only send
emails to users and groups with access to the report folders. The Search dropdown displays all available categories based
on your search criteria in the Running User field.
3. The report is scheduled to run every Friday.
4. The report run is scheduled to start on the current date.
5. The schedule is saved without saving prior changes made to the report.
SEE ALSO:
Manage a Report’s Schedule
256
Analyze Your Data Reports
To see the icon and information, users need the Schedule Reports permission. Available in: Professional,
Enterprise, Performance,
• To see a report's run schedule on the Schedule Report page: Unlimited, and Developer
1. Click a scheduled report name on the Reports tab. Editions
2. Click Schedule Future Runs from the Run Report dropdown menu.. Available in: Enhanced
Folder Sharing and Legacy
• To see all scheduled reports for your organization, from Setup, enter Scheduled Jobs in
Folder Sharing
the Quick Find box, then select Scheduled Jobs.
Only users with the “View Setup and Configuration” permission can view this information.
USER PERMISSIONS
257
Analyze Your Data Reports
Additional scheduled reports are sometimes available for purchase. Available in: Enhanced
Folder Sharing and Legacy
Folder Sharing
SEE ALSO:
Schedule a Report for Refresh
USER PERMISSIONS
258
Analyze Your Data Reports
USER PERMISSIONS
259
Analyze Your Data Reports
USER PERMISSIONS
To schedule reports:
• Legacy Folder Sharing
Schedule Reports
Enhanced Folder
Sharing
Schedule Reports
260
Analyze Your Data Reports
• The report runs within 30 minutes of the time you select for Preferred Start Time. For example, if you select 2:00 PM as
your preferred start time, the report runs anytime between 2:00 PM and 2:29 PM, depending on how many other reports are scheduled
at that time.
• Scheduling reports isn’t tracked in the audit trail history.
Note: Previously, Chatter Free users could receive scheduled reports by email, even though they can’t access the report in
Salesforce. Scheduled reports that were set up to email Chatter Free users continue to email to Chatter Free users.
• Emailed reports don’t include report charts. To email a chart of the report, create a dashboard and schedule a dashboard refresh.
• Reports display only the first 2,000 records (same as in a browser).
• Outlook 2007 limitation: Report emails containing tables more than 22 inches (56 cm) wide or with more than 63 columns don’t
always display properly.
• The maximum size for emailed reports is 10 MB. Try the following techniques to reduce the amount of data in your report:
– Filter for your own records, rather than all records.
– Limit the scope of the data to a specific date range.
– Exclude unnecessary columns from your report.
– Hide the report details.
SEE ALSO:
Schedule a Dashboard Refresh in Salesforce Classic
Manage a Report’s Schedule
261
Analyze Your Data Reports
Export a Report
You can export report data to a spreadsheet.
EDITIONS
• When exporting a report in Salesforce Classic using the Details Only option or in Lightning
Experience as an .xls or .csv file, you can export an unlimited number of rows and columns. Available in: Salesforce
However, most spreadsheet tools have row and column limits. Common limits are 1,048,576 Classic (not available in all
rows by 16,384 columns, or 65,536 rows by 256 columns. orgs) and Lightning
Experience
• When exporting a report in Lightning Experience using the Formatted Report option or as
an .xlsx file using the Details Only option, you can export up to 100,000 rows and 100 columns. Available in: Essentials,
Long text and rich text fields are truncated to 255 characters. The performance for a large export Group, Professional,
varies depending on where your org resides, the time of the day, the CPU utilization, and the Enterprise, Performance,
characteristics of the report. Unlimited, and Developer
Editions
SEE ALSO:
Attach Files to Report Subscriptions USER PERMISSIONS
Run Reports in the Background To export reports:
Print a Report • Export Reports
Formatted Report Export the report as it appears in Salesforce, with the report header, groupings, and filter details.
You can export the data only to an .xlsx file.
Details Only Export each row without formatting. Use this option if you want to do calculations in the
spreadsheet.
If you're exporting to an .xls or .csv file, select the encoding option appropriate for your language
and locale.
3. Click Export.
If you don't have the export option, ask your Salesforce admin for help.
262
Analyze Your Data Reports
4. Click Export.
If you don't have the export option, ask your Salesforce admin for help.
USER PERMISSIONS
263
Analyze Your Data Reports
Organize Reports
Keep your reports at your fingertips by sorting them into folders and deleting unused reports. If
EDITIONS
you have a lot of reports, you can use the search field to find the one you need.
Available in: Salesforce
1. Search for Reports and Dashboards in Lightning Experience Classic (not available in all
When using the report and dashboard search in Lightning Experience, look for a report by name. orgs) and Lightning
To refine your results, sort or search within a selected folder. Experience
2. Search for Reports and Dashboards from the Reports Tab in Salesforce Classic Available in: Essentials,
When using the report and dashboard search, look for a report by name, description, or who Group, Professional,
created it or modified it last. Filter, sort, or search within a selected folder to refine your results. Enterprise, Performance,
Unlimited, and Developer
3. Get the Information You Need from the Reports Tab List View in Salesforce Classic Editions
You can resize, hide, reorder, and sort columns, and select the number of records to display in
Available in: Enhanced
your list view on the Reports tab.
Folder Sharing and Legacy
4. Customize Report and Dashboard Lists in Lightning Experience Folder Sharing
You can customize the columns in the list on the Reports or Dashboards tab.
5. Rename a Report
What’s in a name? A report by any other name still answers your business questions. When it’s time to change the name of a report,
do so from report properties.
6. Describe a Report
Give your report a description to help people (and yourself) distinguish it.
264
Analyze Your Data Reports
7. Print a Report
Print a report from the run page of a report using your browser’s print function.
8. Keep Favorite Report Folders in View
Pin your most-used report and dashboard folders to the top of the folder list so you don’t have to scroll down every time you need
them.
9. Hide Unused Report Types
If your users use only a subset of the available standard report types, you can hide the ones they don’t need.
10. Run Reports in the Background
Run large reports in the background so you can keep working in Salesforce without waiting for results to display. This is a good way
to run data-intensive reports that might otherwise time out due to the large number of report results.
11. Deliver Your Report
To get the information in your report to the people who need it, you can share the report’s URL, make the report available for Chatter
feeds, or export the data to another tool, such as Excel. You can also set the report to run on a schedule so that viewers always have
the latest information.
12. Embedded Report Charts
Typically, users have had to navigate to the Reports tab to find data. But you can give them valuable information directly on the
pages they visit often. To do that, embed report charts in detail pages for objects. When users see charts on pages, they can make
decisions based on the data they see in the context of the page without going elsewhere. For example, an opportunity record shows
important data directly on its detail page.
13. Delete a Report
You can delete a selected report from the Reports tab or from its run page.
265
Analyze Your Data Reports
Search for Reports and Dashboards from the Reports Tab in Salesforce Classic
When using the report and dashboard search, look for a report by name, description, or who created
EDITIONS
it or modified it last. Filter, sort, or search within a selected folder to refine your results.
1. On the Reports tab, type in the search box below All Folders. Available in: Salesforce
Classic (not available in all
Search looks up all folders. Filters are set to All Items and All Types to display all the
orgs)
folder’s contents.
Salesforce searches these fields: Name, Description, Last Modified By, or Created By. Results Available in: Group,
are based on an exact match of what you typed with those fields. Professional, Enterprise,
Performance, Unlimited,
If tagging is enabled and added to a custom report or dashboard, search by its tag in the global and Developer Editions
search box at the top of every page.
Sorting Click for the column and select Sort Ascending or Sort
Descending. Sorting applies to all items in the list view, including
the ones on subsequent pages.
266
Analyze Your Data Reports
Get the Information You Need from the Reports Tab List View in Salesforce Classic
You can resize, hide, reorder, and sort columns, and select the number of records to display in your
EDITIONS
list view on the Reports tab.
• Customize your list view as follows: Available in: Salesforce
Classic (not available in all
Option Description orgs)
To sort a column Click for the column and select Sort Ascending or Sort USER PERMISSIONS
Descending. Sorting applies to all items in the list view, including
the ones on subsequent pages. To view the Reports tab:
• Legacy Folder Sharing
To change the number of Click in the lower left corner of the list and select the desired
Run Reports
records displayed per page setting. You can view 10, 25, 50, 100, or 200 records at a time.
When you change this setting, you return to the first page of list Enhanced Folder
results. Sharing
Run Reports in Public
After the setting is applied, you view the same number of records Folders
throughout the list. The record display setting on the Reports
tab doesn’t affect list views elsewhere in Salesforce.
Note: If you’ve resized the columns in the Reports or Dashboards list, scroll to the right if necessary see .
267
Analyze Your Data Reports
Rename a Report
What’s in a name? A report by any other name still answers your business questions. When it’s time
EDITIONS
to change the name of a report, do so from report properties.
1. Edit a report. Available in: both Salesforce
Classic and Lightning
2. Open the properties menu.
Experience
In Lightning Experience, next to the Save button, click > Properties.
Available in: Group,
In Salesforce Classic, click Report Properties. Essentials, Professional,
Enterprise, Performance,
3. Under Report Name, enter a new name for the report. Unlimited, and Developer
4. Click Save. Editions
The report is renamed. Available in: Enhanced
Folder Sharing
USER PERMISSIONS
268
Analyze Your Data Reports
Describe a Report
Give your report a description to help people (and yourself) distinguish it.
EDITIONS
1. Edit a report.
Available in: both Salesforce
2. Open the properties menu.
Classic and Lightning
In Lightning Experience, next to the Save button, click > Properties. Experience
In Salesforce Classic, click Report Properties. Available in: Group,
Essentials, Professional,
3. Under Report Description, give your report a helpful description. Enterprise, Performance,
4. Click Save. Unlimited, and Developer
Editions
The report’s description is updated.
Available in: Enhanced
Folder Sharing
USER PERMISSIONS
269
Analyze Your Data Reports
Print a Report
Print a report from the run page of a report using your browser’s print function.
EDITIONS
• Click Printable View from the report’s run page.
• From the browser dialog, do one of the following: Available in: Salesforce
Classic (not available in all
– Open the report with your browser and use your browser’s print function. orgs)
– Save the file in Excel and use the print option in Excel.
Available in: Essentials,
Group, Professional,
SEE ALSO: Enterprise, Performance,
Unlimited, and Developer
Export a Report
Editions
USER PERMISSIONS
To print reports:
• Legacy Folder Sharing
Run Reports
AND
Export Reports
Enhanced Folder
Sharing
Run Reports
AND
Export Reports
270
Analyze Your Data Reports
USER PERMISSIONS
271
Analyze Your Data Reports
Hidden report types don’t show up when you use the search box on the Create New Report page.
If you hide all the report types in a folder, the folder is also hidden. However, if you later unhide the report type in the “Select Report
Types to Hide” dialog box, users can see the folder.
272
Analyze Your Data Reports
273
Analyze Your Data Reports
Note: Running reports in the background is only supported in the Report Wizard. The Report Builder doesn’t support running
reports in the background.
1. From Setup, enter Background Report Exports in the Quick Find box, then select Background Report Exports.
The background report exports list appears.
2. View the details of a report exported to the background, such as its name, status, and location, by clicking the name of a report in
the Job Name column.
3. To cancel a pending export or to delete a report from the background report exports list, click Cancel or Del next to the name of a
report .
274
Analyze Your Data Reports
When a report exported to the background finishes running, it’s available for viewing in the background report exports list for 48
hours. After 48 hours, the report is automatically deleted.
Important: Reports deleted from the background report exports list are permanently deleted and not sent to the Recycle
Bin.
4. To view any reports that have been exported to the background since you began viewing the background report exports list, click
Refresh List .
SEE ALSO:
Export a Report
Schedule a Report for Refresh
275
Analyze Your Data Reports
USER PERMISSIONS
276
Analyze Your Data Reports
4. In the Quick Find box, type the name of the report and click to find and select the report chart.
You can browse up to 200 recently viewed reports by chart type in the Report Charts palette.
SEE ALSO:
Customizing a Report Chart in a Page Layout
Example of Report Charts on an Account Page
Limits on Report Charts in Pages
Find Object Management Settings
Page Layouts
277
Analyze Your Data Reports
2. Filtering Report Charts to Show Data Relevant to the Page Available in: Essentials,
Charts usually filter to show relevant data when the chart’s report type has a matching ID field Group, Professional,
for the record, such as Account ID for an account record. Occasionally, charts show data Enterprise, Performance,
Unlimited, and Developer
unfiltered. But you can set up a chart to be filterable if its report type has a lookup to the
Editions
matching ID field.
3. Refreshing Report Chart Data Available in: Enhanced
Folder Sharing and Legacy
Normally, charts refresh data once every 24 hours. But you can change a chart to refresh each
Folder Sharing
time someone opens the page it’s on. The refresh option is under the Chart Properties dialog
box of the page layout editor. However, we recommend daily refresh over selecting the option,
because users will soon reach the refresh limit or will wait for chart data to show until refresh USER PERMISSIONS
is complete.
To create, edit, and delete
reports:
• Legacy Folder Sharing
Create and
Customize Reports
AND
Report Builder
Enhanced Folder
Sharing
Create and
Customize Reports
AND
Report Builder
278
Analyze Your Data Reports
279
Analyze Your Data Reports
Note: Charts can’t filter for relevant data if the source report has reached the limit of 20 field filters.
280
Analyze Your Data Reports
Charts refresh data once every 24 hours. If within that time users want the latest, they can click Available in: Essentials,
Refresh on the chart. Group, Professional,
Enterprise, Performance,
Unlimited, and Developer
Refresh When User Opens the Page Editions
To change a chart’s normal refresh, select Refresh each time a user opens the page in the Chart Available in: Enhanced
Properties dialog box of the page layout editor. This option triggers a chart refresh each time Folder Sharing and Legacy
someone opens the page the chart is on. Selecting the option is not recommended for two reasons. Folder Sharing
• There’s a risk of reaching the chart refresh limit faster. Refreshes count towards the hourly limit
for each user and organization.
USER PERMISSIONS
• For reports that take longer to run, selecting this option can make users wait to see chart data.
To create, edit, and delete
reports:
• Legacy Folder Sharing
Create and
Customize Reports
AND
Report Builder
Enhanced Folder
Sharing
Create and
Customize Reports
AND
Report Builder
281
Analyze Your Data Reports
USER PERMISSIONS
282
Analyze Your Data Reports
1. The pipeline chart shows opportunities for the account in various stages including two that were won. The account executive can
hover on the chart to get the value of each opportunity (Values are highlighted if the source report chart has hover enabled). She’s
able to click the chart, go to the report, and get more details for these opportunities.
2. From the charts on open cases, she can see there are a couple of unresolved support issues for the account. She can click the chart,
drill into the report for case details and follow up with the support engineers to get them resolved before a crucial meeting with the
client.
283
Analyze Your Data Reports
284
Analyze Your Data Reports
Delete a Report
You can delete a selected report from the Reports tab or from its run page.
EDITIONS
1. Delete a report.
Available in: Salesforce
Option Description Classic (not available in all
orgs) and Lightning
To delete from the Reports tab Next to the report, select > Delete. Experience
To delete from the report’s run page Click Delete. Available in: Essentials,
Group, Professional,
Enterprise, Performance,
2. Click OK.
Unlimited, and Developer
Deleted reports are moved to the Recycle Bin. You can’t delete reports in other’s personal folders. Editions
You also can’t delete reports used by dashboard widgets or reporting snapshots unless you
first delete the dashboard widget or reporting snapshot.
USER PERMISSIONS
To delete reports in My
Personal Custom Reports
folder:
• Create and Customize
Reports
To delete reports in public
folders:
• Manage Reports in
Public Folders
• Einstein Discovery for Reports produces descriptive insights for report data in Tabular and Note: Einstein Discovery for
Summary reports. To make predictions and improvements, or to analyze CRM Analytics Reports requires the CRM
datasets, see Explain, Predict, and Take Action with Einstein Discovery. Analytics Plus license, which
is available for an extra cost.
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of Jerusalem.
Represented exclusively by Greenlight.
285
Analyze Your Data Reports
286
Analyze Your Data Reports
Note: If the Analyze button is visible but disabled, then be sure to enable Detail Rows at the bottom of the run page. The
Insights button is enabled only when Detail Rows is enabled.
If there are no existing analyses on a report, Einstein Discovery for Reports automatically runs an initial analysis. Einstein counts the
number of values (frequency count) in the report and looks for statistically significant occurrences of values in the report data.
287
Analyze Your Data Reports
You can initiate a new insight by clicking the Einstein icon and move on to Step 3.
288
Analyze Your Data Reports
When you finish scrolling through the Occurrences insights, click Home on the toolbar to create other analyses.
289
Analyze Your Data Reports
If you see a My Past Analyses for this report, you can click one to run a past analysis, and then skip the next two steps.
3. If you want, change the focus of Einstein’s analysis. From I Want to Analyze, select a different outcome from the list of candidate
report columns, or select Occurrences if you want to analyze the number of times (frequency count) a value has occurred. From
with a goal to dropdown, select whether you want Einstein’s analysis to Maximize or Minimize the outcome. If you can’t find the
variable you want, edit the report and add the desired column. Outcomes can be numeric fields (measures) or text fields with two
values (such as w/lost, churn/not-churn, or public/private).
4. Click Create Analysis.
Einstein begins analyzing your report data. When finished, Einstein shows you a summary of the findings (1) and the report columns
(2), ranked by correlation to the goal you selected.
290
Analyze Your Data Reports
• If this analysis was run previously, Einstein displays a change summary that shows you the net difference between versions. To
compare versions side-by-side, click the summary.
• The higher the correlation, expressed as a percentage, the stronger the statistical relationship, and the more likely it's worth a
closer look.
291
Analyze Your Data Reports
Note: Keep in mind that correlation is not causation. Correlation merely describes the strength of association between
variables, not whether they causally affect each other.
5. Scroll down to review the list of insights that Einstein uncovered in its analysis.
Einstein lists insights in order of statistical significance, starting with the insights that have the highest impact on the goal.
292
Analyze Your Data Reports
Each insight contains a name, a chart, a summary headline, and descriptive text (insight title and supporting details).
To display details about a particular segment in the chart, hover over it.
293
Analyze Your Data Reports
• By default, the only insights you see are the most statistically significant insights. To see all insights, scroll to the bottom of the
insights list, and click Show insights that are not significant.
8. To refresh your analysis and create an analysis version, click the refresh button.
Einstein begins analyzing your report data. When finished, Einstein updates the list of insights resulting from its analysis.
294
Analyze Your Data Reports
Capabilities
Einstein Discovery for Reports can analyze up to 500,000 rows and 50 columns of report data.
Report Scope
Einstein Discovery for Reports analyzes:
• All the data in your report, not just the maximum of 2,000 rows that are displayed.
• All the data within the scope of your report, and ignores any data that is outside of its scope. Therefore, be sure to include everything
you’re interested in. For example, if you create a report that evaluates all opportunities, then Einstein analyzes all opportunities as
well. If you filter the report so that it doesn’t return open opportunities, then Einstein doesn’t analyze open opportunities.
Other Considerations
• You can encounter NaN in place of numerical values, indicating that the value is “Not a Number”. This value is often returned when
Einstein’s calculation produces an undefined number, like dividing a number by 0.
• Einstein Discovery for Reports is supported on Summary and Tabular reports. It is not currently supported on Matrix reports or Joined
reports.
• Trend Reports are shown on a monthly basis. They are currently not shown by fiscal quarter, fiscal year, or other time period.
295
Analyze Your Data Reports
SEE ALSO:
Einstein Discovery for Reports: Limits and Allocations
Limits
Limit Number
Maximum number of report rows analyzed 500,000
Allocations
Allocation Number
Maximum number of EDR analysis creations per person per day 50
Maximum number of EDR analysis creations per org per day 1,000
If you have questions about your allocations, contact your Salesforce representative.
Usage Statistics
Einstein monitors usage statistics in real time. To learn more, see Monitor Usage Statistics for Einstein Discovery for Reports on page 297.
SEE ALSO:
Monitor Usage Statistics for Einstein Discovery for Reports
Report Tips for Einstein Discovery for Reports
296
Analyze Your Data Reports
Note: Before you begin, Analytics must be enabled in your org. To enable Analytics, see Available in Lightning
Basic Analytics Platform Setup on page 664. Experience
USER PERMISSIONS
To monitor Einstein
Discovery for Reports usage
statistics:
• Customize Application
Note: Times and dates are based on your org’s default time zone.
Statistic Description
Number of analysis created today Total number of analyses created in your org since 12:00am
today.
Number of analysis currently being created Total number of analyses that are currently being run in your
org.
SEE ALSO:
Einstein Discovery for Reports: Limits and Allocations
297
Analyze Your Data Reports
Troubleshoot Reports
Use these tips to help solve problems that arise when you’re working with reports.
EDITIONS
1. Why can’t I run a report on a custom or external object? Available in: Salesforce
Sometimes an object, its report types, or your access isn’t set up completely. Classic (not available in all
orgs) and Lightning
2. Why do my chart labels overlap? Experience
Sometimes the labels for your charts can overlap and be difficult to read. There can be too much
data in the same space, or the segments or wedges of the chart can be too small. Available in: Essentials,
Group, Professional,
3. Why doesn’t my report return any data? Enterprise, Performance,
Check with your administrator to make sure that you have access to the records you’re trying Unlimited, and Developer
to report on. If you’re still not seeing any results in your report, try casting a wider net. Editions
4. Why can't I see formula options in report builder? Available in: Enhanced
If you can't see the Add Formula or Add Summary Formula option in the Fields pane of the Folder Sharing and Legacy
report builder, add a row grouping to the report. (In Salesforce Classic, change your report Folder Sharing
format to summary, matrix, or joined.) Formulas require at least one row grouping.
5. Why doesn’t my report return the data I expect?
Check your filters, groupings, fields, report type, and role or user hierarchy to make sure that you are asking the right questions of
your data.
6. What are some common report limits?
Here’s a full list of limits that apply to reports and dashboards.
7. Why am I getting an “obsolete report” error message?
It’s possible that you’re trying to report on data that isn't available.
8. Why is an old role name appearing in the "role hierarchy" trail of my report?
Changes to role names aren't automatically updated in reports. To see the latest role name, change the Role name as
displayed on reports field for the role record.
9. Why aren't middle names appearing in full name fields on reports?
If your org has Enable Middle Names for Person Names turned on, which adds a "Middle Name" field to standard objects like
users, leads, and contacts, then you may notice that the "Full Name" field on reports excludes middle names.
SEE ALSO:
Reports
298
Analyze Your Data Reports
299
Analyze Your Data Reports
Fields After checking your groupings, check your fields. If your report contains multiple related records—for
example, an account, its opportunities, and their products—look at the detail pages for the account record,
opportunity record, and product line item to ensure that the fields contain data. If the data isn't available
in the format you want, work with your Salesforce administrator to add formula fields to get the data. When
formula fields are added to an object, they appear in record detail pages and in reports.
Report Type The report type selected isn't appropriate or the records anticipated don't share the relationship between
objects required for the report type. When choosing a report, be sure you understand which fields are
available in the report type.
If your report type includes both parent and child objects, but no child fields are used in a report, the report
shows parent records whether they have a child record or not.
Hierarchy Hierarchy options let you drill down to different datasets based on the role or user hierarchy. The selected
hierarchy level, or its default role, can affect the data shown.
Hierarchy applies to activity and opportunity reports.
External Objects If your report includes an external object, the results probably don’t reflect the full dataset. External objects
behave similarly to custom objects, except that they map to data that’s stored outside your Salesforce org.
A report that includes an external object fetches up to 20,000 records for the primary object and can
encounter callout limits while fetching external object data. If the report results in few or no rows, try
customizing the report to obtain more relevant external object rows.
300
Analyze Your Data Reports
Scheduled dashboard
N/A 12 22 N/A
refreshes
1
These allocations apply to the report builder. If you’re using the report wizard, the allocation is 10.
2
Up to 200 total.
3
Off-peak hours (between 6 PM and 3 AM local time) only.
4
Limited to one preferred start time per day.
5
Limited to three preferred start times per day.
Salesforce retains historical data for the previous three months, plus the current month.
The following Salesforce Reports and Dashboards limits, limitations, and allocations apply to all supported editions.
301
Analyze Your Data Reports
– Matrix reports that return more than 2,000 rows don’t show details. If you click Show Details, nothing happens. You can only
view the report with details hidden.
– Because a matrix report includes multiple groupings, the maximum of 2,000 values is typically reported in fewer than 2,000
groups.
– Row counts and summaries can be inaccurate in a joined report with more than 2,000 rows, where one of the blocks takes up
most of the rows.
• Up to five metrics display in the Lightning Experience report header. Metrics such as summarized fields appear in the order that they
appear in the report, left to right. The grand total, when shown, always displays.
• When reports that have groupings are viewed in the Salesforce mobile app, they’re converted to tabular reports.
• The Salesforce mobile app supports a maximum of 25 report columns.
• By default, reports time out after 10 minutes.
• In a non-joined report, if you click a bar in a report chart, the report results are filtered according to the selected bar. In a joined report,
clicking a bar doesn’t apply the filter.
• When searching for reports, if you filter on a long text area field, such as Description or Solution Details, only the first 1,000 characters
of the field are searched.
• Some filters, such as date range, are constructed using multiple custom filters, each of which counts toward the total of 20.
• You can enter up to 1,333 characters for filter criteria, including commas used as OR operators.
• Field-to-field filtering isn’t available on currency fields for orgs that have multiple currencies enabled.
• The first 999 characters in a standard rich text area or a long text area are displayed in a report. For custom fields, only the first 255
characters are displayed.
• Summary fields on tabular, summary, and matrix reports can display up to 21-digits.
• You can’t filter reports by custom long text area fields.
• Filter logic doesn’t support locked filters. If you apply filter logic to a locked filter, the lock is removed.
• Forecast reports include only opportunities that are set to close within the forecast period.
• The maximum value allowed for report metrics is 999999999999999. The minimum value allowed is -99999999999999.
• The State/Province picklist filter converts the selected state or province to a two-digit code (example: MO for Missouri). If a state or
province in another country covered by the report has the same code (example: MO for Morales, Mexico), filtering on one of the
states or provinces can return data for the other.
• HTML code isn’t supported in report charts.
302
Analyze Your Data Reports
• Custom report types based on the Service Appointments object don’t support these fields:
– Parent Record
– Owner
• Object references can be used as the main four objects, as sources of fields via lookup, or as objects used to traverse relationships.
Each referenced object counts toward the maximum limit even if no fields are chosen from it. For example, if you do a lookup from
account to account owner's role, but select no fields from account owner, all the referenced objects still count toward the limit of
60.
• Reports run from custom report types that include cases don’t display the Units dropdown list, which lets users view the time values
of certain case fields by hours, minutes, or days.
• Report types associated with custom objects in the Deleted Custom Objects list count against the maximum number of custom
report types you can create.
• Reports on feed activities don’t include information about system-generated posts, such as feed tracked changes.
• Custom report type names support up to 50 characters. If you enter a name that is longer than 50 characters, the name gets truncated.
• Custom report type descriptions support up to 255 characters. If you enter a name that is longer than 255 characters, the name gets
truncated.
• When a lookup relationship is created for a standard or custom object as an Opportunity Product field, and then a custom report
type is created with that primary object, Opportunity Product isn’t available as a secondary object for that custom report type.
303
Analyze Your Data Reports
• You can add up to 10 custom summary formulas to each block in a joined report. A joined report can have a total of 50 custom
summary formulas.
• Each joined report can have up to 10 cross-block custom summary formulas.
• You can add the chart from a joined report as a dashboard component, but you can’t add the full report. Filtering isn’t supported
for components with a joined report chart.
• Internet Explorer 6 isn’t supported for joined reports.
Note: These limits don’t apply to the use of Other as permitted within the bucket field’s setup.
• Buckets and bucket fields aren’t available for reports that include external objects.
• If a bucket field’s source column has a custom index, and you filter by the bucket field, then the performance gains from the custom
index are lost.
• You can add a report with a bucket field to a dashboard, but you can’t filter on the field that’s bucketed.
304
Analyze Your Data Reports
• Up to 5 million rows of historical trending data can be stored for each object. Historical data capture stops when the limit is exceeded.
The admin is alerted by email when any object reaches 70 percent of the limit, and again if the limit is exceeded.
• Each historical trend report can contain up to 100 fields. In Opportunities reports, the fields include standard preselected fields, which
can’t be disabled.
• For historical trend reports in Lightning Experience, you must set the snapshot date as the primary row grouping.
• Formula fields aren’t supported.
• Row limit filters aren’t supported.
• The summary report format isn’t supported.
• You can specify up to five historical snapshot dates in each historical trend report.
• You can use up to four historical filters on each historical trend report.
• These field types are supported: Number, Currency, Date, Picklist, Lookup.
• Dynamic exchange rates aren’t supported. When you run a historical trend report, it uses a static exchange rate, which could be
outdated.
• Internet Explorer 6 isn’t supported.
• You can’t subscribe to historical trend reports.
• The Report Wizard isn’t supported. Historical trend reports can only be created with the Report Builder.
• Historical trend reporting with charts is supported in Lightning Experience, but tabular views of historical trend reports aren’t available.
• Historical trending reports can’t be exported.
305
Analyze Your Data Reports
Why is an old role name appearing in the "role hierarchy" trail of my report?
Changes to role names aren't automatically updated in reports. To see the latest role name, change the Role name as displayed
on reports field for the role record.
Note: Case reports and Lead reports are affected by the discrepancy between Full Name and Middle Name described
in this article. Other reports may also be affected, but not all reports are.
306
Analyze Your Data Reports
307
Analyze Your Data Reports
SEE ALSO:
Filter Report Data
Relative Date Filter Reference
Filter Operators Reference
SEE ALSO:
Build a Report in Lightning Experience
Design the Field Layout for Reports Created from Your Custom Report Type
Show and Hide Report Details
308
Analyze Your Data Reports
For example, you have a report that lists accounts and you want to add a formula field that calculates the average number of cases
per account. Before adding the formula field, check whether the report type includes the Cases object. If it doesn’t, add the formula
field to a report type that has both Accounts and Cases. Then create a report using that report type.
• Use row-level formulas sparingly—A row-level formula is a good tool for evaluating each record in a report, but it can slow down
processing. If you have a slow-running report that has a row-level formula, redesigning the report without a row-level formula can
improve performances.
If you have a slow-running report that groups by row-level formulas, speed it up by removing the row-level formula groups.
Filtering by a row-level formula also slows down reports. You can improve performance by removing row-level formula filters.
In addition, some common equations are built into the report builder and don’t require row-level formulas. For instance, finding the
sum, min, max, or average value doesn’t require a row-level formula. You can add a summary function from the column heading
dropdown. Or, if a more sophisticated formula is needed, consider adding a formula field to the report type.
SEE ALSO:
Calculate Field Values with Formulas
Set Up a Custom Report Type
Evaluate Each Record in Reports with Row-Level Formulas
Workflow Rules
SEE ALSO:
Categorize Data with Bucket Columns
SEE ALSO:
Control Who Sees What
309
Analyze Your Data Reports
In some cases, even if records have been emptied from the recycle bin, a log of the deleted records still exists, and reports can query it.
If many records have been recently deleted, querying this log could slow report performance.
SEE ALSO:
Knowledge Article: Delete Unwanted Data in an Organization
SEE ALSO:
Schedule and Subscribe to Reports
310
Analyze Your Data Creating a Custom Report
USER PERMISSIONS
To run reports:
• Legacy Folder Sharing
Run Reports
Enhanced Folder
Sharing
Run Reports
To schedule reports:
• Legacy Folder Sharing
Schedule Reports
Enhanced Folder
Sharing
Schedule Reports
311
Analyze Your Data Create a Custom Report in Accessibility Mode
Note: On the Select Grouping page, if you set Group Dates By to "Calendar Month in Year" or "Calendar Day in
Month," you can’t drill down to those date groupings in reports or dashboards. Users are taken to the unfiltered report
instead.
• Summarize Data—On the Select Columns to Total page, choose the types of summary information to display for numeric fields.
• Build Custom Summary Formulas—On the Select Columns to Total page for summary and matrix reports, create custom summary
formulas to calculate additional totals based on existing report summaries. A formula is an algorithm that derives its value from
other fields, expressions, or values. See Add a Summary Formula Column to a Report on page 77.
• Choose Fields—On the Select Columns page, choose the fields to display in the report. You can display only those fields that
are visible in your page layout and field-level security settings. If you choose the Description field or any other long text
field, only the first 255 characters are displayed.
• The first 999 characters in a standard rich text area or a long text area are displayed in a report. For custom fields, only the first
255 characters are displayed. If you download the report as Details Only, the entire field is available.
• Order Columns—On the Order Columns page, select the order for displaying the chosen fields.
• Limit Report Results—On the Select Criteria page, choose the appropriate settings from the dropdown lists, then use the filter
options to limit the report to records with specific data.
The report wizard supports up to 10 filters. On reports with more than 10, additional filters are dropped and the report shows
an error for any filter logic.
312
Analyze Your Data Edit a Numeric Bucket Field
Tip: To use a tabular report on a dashboard, first limit the row count by setting the Rows to Display option, the
sort column, and the order on the Select Criteria page of the report. You can't use gauge or metric widgets on dashboards
using tabular reports.
• Chart Settings—On the Select the Chart Type and Report Highlights step of the report wizard, set chart properties to display
your report data in a chart. Charts are available only for summary and matrix reports.
5. Click Run Report to view the report, or click Export Details to save the report as an Excel file or other format.
Tip: Customizing your reports can require running them a few times as you adjust the report criteria and options. We recommend
using a filter that gives you a smaller sampling of data until you’re finished customizing the report and ready to save.
4. To move all empty values to the bucket containing the value zero, enable Treat empty USER PERMISSIONS
source column values in the report as zeros.
If this setting is disabled, unbucketed values appear as a dash (-) in the column. To create, edit, and delete
reports:
5. Click OK. • Legacy Folder Sharing
In a report, numeric bucket columns are sorted by range values. Create and
Customize Reports
313
Analyze Your Data Numeric Bucketing Example: Deal Size
6. Click Add and enter 25000 in the second row. This represents the maximum for a medium-size Available in: Enhanced
deal. Name this range Medium. Folder Sharing and Legacy
Folder Sharing
7. By default, the last range is any amount over the previous range. You don’t need to enter a
number for this range. Name this range Large.
8. Click OK. USER PERMISSIONS
With numeric bucket fields, each range is greater than the lower number, up to and including the To create, edit, and delete
higher number. Once you’ve set up this bucket field, amounts will be bucketed as follows: reports:
• Legacy Folder Sharing
Amounts Bucket Create and
Customize Reports
1000 or less Small
AND
1001 to 25000 Medium Report Builder
25001 or more Large Enhanced Folder
Sharing
Create and
Customize Reports
AND
Report Builder
314
Analyze Your Data Numeric Bucketing Example: Deal Size
SEE ALSO:
Edit a Numeric Bucket Field
315
Analyze Your Data Edit a Picklist Bucket Field
7. Click OK.
In a report, picklist bucket columns are sorted by the bucket position as shown in the Edit Bucket Field dialog box, followed by “Other”
if Show unbucketed values as “Other” is enabled, or the unbucketed picklist item names if Show unbucketed
values as “Other” is disabled.
SEE ALSO:
Picklist Bucketing Example: Industry Types
316
Analyze Your Data Picklist Bucketing Example: Industry Types
317
Analyze Your Data Picklist Bucketing Example: Industry Types
SEE ALSO:
Edit a Picklist Bucket Field
318
Analyze Your Data Edit a Text Bucket Field
3. To create a bucket, click New Bucket and enter a bucket name. Create multiple buckets to Create and
Customize Reports
group your report records.
AND
4. To find a particular value in the list of values, type all or part of its name in the Search for
values... box and click Search, or leave the box empty and click Search. Report Builder
6. To move all unbucketed values into a bucket named “Other,” enable Show unbucketed values as “Other”. If this is
disabled, unbucketed values appear in the bucket column with the value name.
7. Click OK.
In a report, text bucket columns are sorted in alphanumeric order.
SEE ALSO:
Enter Values for Text Buckets
Text Bucketing Example: Strategic Accounts
319
Analyze Your Data Enter Values for Text Buckets
320
Analyze Your Data Text Bucketing Example: Strategic Accounts
5. Click New Bucket and name the bucket IBM. Available in: Enterprise,
Performance, Unlimited,
6. Click New Bucket and name the bucket Dell.
and Developer Editions
7. Click New Bucket and name the bucket HP.
Available in: Enhanced
8. To show the available values, leave the Search for values... box empty and click Search. Folder Sharing and Legacy
9. Select values and drag them into the appropriate buckets. Folder Sharing
321
Analyze Your Data Text Bucketing Example: Strategic Accounts
SEE ALSO:
Edit a Text Bucket Field
322
Analyze Your Data Use a Summary Function in a Custom Summary Formula
USER PERMISSIONS
323
Analyze Your Data Run and Read a Report
324
Analyze Your Data Considerations for Data Cloud Reports on Calculated Insights
Feature Limits
Row-level Formulas Each Data Cloud report supports 5 row-level formulas.
325
Analyze Your Data Considerations for Data Cloud Reports on Calculated Insights
326
Analyze Your Data Considerations for Data Cloud Reports on Calculated Insights
327
Analyze Your Data Billing for Data Cloud Reports and Dashboards
Type Description
Data Queries Usage is calculated based on the number of records processed.
For more information on how Data Cloud usage is billed, refer to your contract or contact your account executive.
328
Analyze Your Data Dashboards
Dashboards
Dashboards help you visually understand changing business conditions so you can make decisions
EDITIONS
based on the real-time data you’ve gathered with reports. Use dashboards to help users identify
trends, sort out quantities, and measure the impact of their activities. Before building, reading, and Available in: Salesforce
sharing dashboards, review these dashboard basics. Classic (not available in all
orgs) and Lightning
Note: Dashboards don’t support localization.
Experience
As you prepare to curate your Salesforce data with dashboards, keep these tips in mind:
Available in: Essentials,
• Reports provide all the data shown in a dashboard. Dashboards can show data from more than Group (View Only),
one report. Professional, Enterprise,
• When refreshing a dashboard, all the data-providing reports must run. If the reports take a long Performance, Unlimited,
and Developer Editions
time to run, then the dashboard does too.
• Dashboards are shared via folders. Whomever has permission to the folder your dashboard is
saved in also has access to your dashboard. Ensure that you save your dashboard in an appropriate folder.
Before creating or reading a dashboard, familiarize yourself with these features and concepts.
Dashboard Editor
The Dashboard Editor is a visual, drag-and-drop tool, which you use to create dashboards and edit existing ones. The Dashboard
Editor is where you add, edit, and arrange dashboard widgets.
To launch the Dashboard Editor, click New Dashboard.
Widgets
Dashboards are made up of widgets. Each widget contains a chart or metric that shows data from one report. Different widgets can
show data from different reports. In Salesforce Classic, widgets are called components.
Running User (Viewing As)
In Salesforce, different users have different permissions to access data. A dashboard only displays data that the dashboard’s running
user can access.
For example, say you’re viewing a dashboard describing Leads. Emily is a sales operations manager who sees all Leads, and Marcus
is a direct sales specialist who sees only the leads he owns. If Emily is the dashboard’s running user, then the dashboard shows data
about all the Leads in Salesforce. If Marcus is the running user, then the dashboard only shows data about Leads that Marcus owns.
1. Build a Dashboard
When you’re ready to share Salesforce data with colleagues, build a dashboard. Dashboards let you curate data from reports using
charts, tables, and metrics. If your colleagues need more information, they can view your dashboard’s data-supplying reports.
2. Filter a Dashboard
Dashboard filters make it easy for users to apply different data perspectives to a single dashboard. Filtering rules apply to fields from
the dashboard’s source reports. After filters are defined, a user viewing the dashboard can select a filter to visualize the data of most
interest. The filtered view is remembered - the next time the user visits the dashboard, the same filtered view is shown.
3. Control Dashboard Data Visibility
A dashboard displays data from each widget’s source report. You can control which data is visible based on the running user.
4. Subscribe to or Schedule Dashboards
Set up automatic dashboard refreshes and receive refreshed dashboard results by email on a schedule that you set. If you start your
week by reviewing your Sales Overview dashboard, expedite your morning by subscribing to the dashboard. After subscribing, you
can have it automatically refreshed and in your email inbox each Monday morning at 8:00 AM.
329
Analyze Your Data Dashboards
Build a Dashboard
When you’re ready to share Salesforce data with colleagues, build a dashboard. Dashboards let you
EDITIONS
curate data from reports using charts, tables, and metrics. If your colleagues need more information,
they can view your dashboard’s data-supplying reports. Available in: Salesforce
Classic (not available in all
1. Build a Lightning Experience Dashboard orgs) and Lightning
Build a Lightning Experience dashboard to provide a graphical view of the Salesforce data in Experience
reports. Available in: Essentials,
2. Build a Salesforce Classic Dashboard Group (View Only),
Build a dashboard to provide a graphical view of the data in your reports. Professional, Enterprise,
Performance, Unlimited,
and Developer Editions
USER PERMISSIONS
To build a dashboard:
• Drag-and-Drop
Dashboard Builder
330
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards you created: Run Reports AND Create and Customize Available in: Essentials,
Dashboards Group (View Only),
Professional, Enterprise,
To edit and delete dashboards you created Edit My Dashboards
Performance, Unlimited,
in public folders:
and Developer Editions
To edit and delete dashboards you didn’t Manage Dashboards in Public Folders
create in public folders:
Build a Lightning Experience dashboard to provide a graphical view of the Salesforce data in reports.
Dashboards are built with source reports, filters, and widgets
Source reports are reports that provide data for widgets. Each widget has one source report. Different widgets can have different source
reports. The fields available for dashboard filters are the fields available in the objects that source reports are based on. Create source
reports in the Report Builder.
Filters let dashboard readers refine the data they see in the dashboard to a particular view.
Widgets are the visual “blocks” of a dashboard. Each widget is a chart, gauge, metric, table, text, or image.
Note: You can add the chart from a joined report as a dashboard widget, but you can’t add the full report. Filtering isn’t supported
for widgets with a joined report chart.
Use a chart when you want to show data graphically. You can choose from a variety of
chart types.
Use a gauge when you have a single value that you want to show within a range of
custom values
This topic is about creating dashboards for reports in Lightning Experience. For information on creating dashboards in Salesforce Classic
or CRM Analytics, review these articles:
• Build a Salesforce Classic Dashboard
• Build CRM Analytics Dashboards
Tip: You can clone a dashboard to quickly create a dashboard with the same properties and widgets as the one you're viewing.
Click Save As (or Clone), modify the dashboard settings, and save.
331
Analyze Your Data Dashboards
1. If necessary, create the source reports containing the data you want to display.
Important: Be sure to store these reports in folders that intended dashboard viewers can access.
2. On the Analytics tab, select Create > Lightning > Dashboard, or on the Dashboards tab, click New Dashboard.
3. Name the dashboard.
Optionally, provide a short description. Then, place the dashboard in a folder. Private Dashboards is the default folder.
6.
To specify who people view the dashboard as, click to open the Properties menu.
a. Under Name, optionally rename the dashboard.
b. Under Description, optionally describe the dashboard.
c. Under Folder, optionally move the dashboard into another folder. Click Select Folder, navigate to the new folder, and then
click Select Folder.
d. Under View Dashboard As, choose who people view the dashboard (and all source reports) as. People could see more or less
data than they normally see elsewhere in Salesforce. Be careful not to reveal sensitive information to too broad an audience.
e. Click Save.
7.
To customize dashboard theme or color palette, open the Properties menu by clicking .
Customize colors in your dashboard by choosing a light or dark theme and one of 14 color palettes. Themes and color palettes help
you organize and curate data in your dashboard. For example, highlight a set of summary metrics by giving them a dark theme and
setting them against a light-themed dashboard.
a. From Dashboard Theme, choose Light or Dark to set the theme for the entire dashboard. To set a single widget’s theme, edit
the widget by clicking .
b. From Dashboard Palette, choose one of 14 color palettes. Wildflowers is the default color palette. If you need an accessible
color palette, choose Mineral.
c. Click Save.
8.
To switch between a 12-column and 9-column layout, open the Properties menu by clicking .
a. Under Dashboard Grid Size, choose 12 columns or 9 columns.
b. Click Save.
332
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Group (View Only),
Professional, Enterprise,
To edit and delete dashboards that you Edit My Dashboards
Performance, Unlimited,
created in public folders:
and Developer Editions
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
333
Analyze Your Data Dashboards
Get your Lightning Experience dashboard widgets to show exactly what you want.
1. Add a dashboard widget by clicking + Widget, or edit an existing one by clicking on the widget.
2. Set dashboard widget properties.
3. If adding a widget, click Add. Or, if editing an existing widget, click Update.
4. Click Save.
For help with setting up dashboard widget properties, refer to this table.
Widget Description
334
Analyze Your Data Dashboards
Widget Description
• Then Sort By – If applicable, choose how to sort second-level groups or measures
displayed in the bar chart. Click the arrow icon to change sort direction between ascending
( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Component to a Website or Salesforce Record
in Salesforce Help.
• Max Values Displayed – Specify how many groups display in the bar chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
• Y-Axis Range or X-Axis – Set the axis range. To let Salesforce automatically set axis range,
select Automatic. To set your own range, select Customize and then enter the range
limits in Min and Max.
335
Analyze Your Data Dashboards
Widget Description
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Then Sort By – If applicable, choose how to sort second-level groups or measures
displayed in the bar chart. Click the arrow icon to change sort direction between ascending
( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Widget to a Website or Salesforce Record in
Salesforce Help.
• Max Values Displayed – Specify how many groups display in the bar chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
336
Analyze Your Data Dashboards
Widget Description
• Display Units – Choose how to display values. Shortened Number automatically chooses
a unit appropriate for your data and abbreviates it. Shorten numbers to display
approximations that take up less space (for example, 1,876 becomes 1.9k), or view the
full number for to-the-digit accuracy. Full Number displays the actual values. Other options
are Hundreds, Thousands, Millions, Billions, and Trillions. Choose what makes most sense
for your data.
• Y-Axis Range – Set the axis range. To let Salesforce automatically set axis range, select
Automatic. To set your own range, select Customize and then enter the range limits in
Min and Max.
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Show Values – Specify whether points on the line display values, or not.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Then Sort By – If applicable, choose how to sort second-level groups or measures
displayed in the bar chart. Click the arrow icon to change sort direction between ascending
( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Widget to a Website or Salesforce Record in
Salesforce Help.
• Max Values Displayed – Specify how many groups display in the line chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
337
Analyze Your Data Dashboards
Widget Description
• Display Units – Choose how to display values. Shortened Number automatically chooses
a unit appropriate for your data and abbreviates it. Shorten numbers to display
approximations that take up less space (for example, 1,876 becomes 1.9k), or view the
full number for to-the-digit accuracy. Full Number displays the actual values. Other options
are Hundreds, Thousands, Millions, Billions, and Trillions. Choose what makes most sense
for your data.
• Show Values – Show values on each donut group (slice). Each value is representative of
a summary value, like average or record count, for the group.
• Show Percentages – Show percentages on each donut group (slice).
• Combine Small Groups into “Others” – Show each group (slice) that represents 3%
or less of the total as a new group called “Others”.
• Show Total – Display a total in the center of the donut chart.
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Label Groups – Specify whether to label sliced wedges with values, percentages, or no
labels.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Widget to a Website or Salesforce Record in
Salesforce Help.
• Max Values Displayed – Specify how many groups display in the donut chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
338
Analyze Your Data Dashboards
Widget Description
• Display Units – Choose how to display values. Shortened Number automatically chooses
a unit appropriate for your data and abbreviates it. Shorten numbers to display
approximations that take up less space (for example, 1,876 becomes 1.9k), or view the
full number for to-the-digit accuracy. Full Number displays the actual values. Other options
are Hundreds, Thousands, Millions, Billions, and Trillions. Choose what makes most sense
for your data.
• Color By – Choose a group to display in the funnel chart.
• Label Groups – Specify whether to label sliced wedges with values, percentages, or no
labels.
• Show Values – Specify whether chart segments display values, or not.
• Show Percentages – Specify whether chart segments display percentages, or not.
• Combine Small Groups into “Others” – Show each group (slice) that represents 3%
or less of the total as a new group called “Others”.
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Widget to a Website or Salesforce Record in
Salesforce Help.
• Max Values Displayed – Specify how many groups display in the funnel chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
339
Analyze Your Data Dashboards
Widget Description
• Detail – Choose a group to plot on the scatter chart.
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Display Units – Choose how to display values. Shortened Number automatically chooses
a unit appropriate for your data and abbreviates it. Shorten numbers to display
approximations that take up less space (for example, 1,876 becomes 1.9k), or view the
full number for to-the-digit accuracy. Full Number displays the actual values. Other options
are Hundreds, Thousands, Millions, Billions, and Trillions. Choose what makes most sense
for your data.
• Add – Choose a second group to plot on the scatter chart.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Then Sort By – If applicable, choose how to sort second-level groups or measures
displayed in the bar chart. Click the arrow icon to change sort direction between ascending
( ) and descending ( ).
• Custom Link – Link from a dashboard widget to a Salesforce Record or another website.
For more information, see Link a Dashboard Widget to a Website or Salesforce Record in
Salesforce Help.
• Max Values Displayed – Specify how many groups display in the scatter chart.
• Title – Give the chart a title.
• Subtitle – Give the chart a subtitle.
• Footer – Give the chart a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
340
Analyze Your Data Dashboards
Widget Description
Shorten numbers to display approximations that take up less space (for example, 1,876
becomes 1.9k), or view the full number for to-the-digit accuracy.
341
Analyze Your Data Dashboards
Widget Description
• Title – Give the component a title.
• Subtitle – Give the component a subtitle.
• Footer – Give the component a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
• Sort By – Choose how to sort groups or measures displayed in the bar chart. Click the
arrow icon to change sort direction between ascending ( ) and descending ( ).
• Then Sort By – If applicable, choose how to sort second-level groups or measures
displayed in the bar chart. Click the arrow icon to change sort direction between ascending
( ) and descending ( ).
• Display Units – Choose how to display values. Shortened Number automatically chooses
a unit appropriate for your data and abbreviates it. Shorten numbers to display
approximations that take up less space (for example, 1,876 becomes 1.9k), or view the
full number for to-the-digit accuracy. Full Number displays the actual values. Other options
are Hundreds, Thousands, Millions, Billions, and Trillions. Choose what makes most sense
for your data.
• Show Chatter Photos – Choose whether to display Chatter photos, or not. Table must
be grouped by a user or group name field, such as Opportunity Owner.
• Show Total – For numeric columns, Display the sum of all rows in the table.
342
Analyze Your Data Dashboards
Widget Description
• Show Subtotal – Available when tables have at least two groups. Show subtotals of
first-level groups.
• Add Conditional Highlighting – Highlight values in the table based on breakpoints
and colors set in segment ranges. Click each color to customize it.
• Decimal Places – Choose how many decimal places appear on numbers. To let Salesforce
automatically set how many decimal places appear, select Automatic. To set your own,
choose a number from 0 through 5.
• Max Values Displayed – Specify how many groups display in the table.
• Title – Give the table a title.
• Subtitle – Give the table a subtitle.
• Footer – Give the table a footer.
• Component Theme – Choose a Light or a Dark theme. Customize chart colors from
the dashboard properties menu. Individual widgets support unique themes, but colors
are only customizable from the dashboard properties menu.
Images Use
Spice up your dashboards with images and animated gifs. Add logos for instant recognition,
arrows that draw the viewer’s eye to key elements, and flow diagrams for greater insight.
Properties
• Scale – Choose how to scale the image. Original maintains the image’s original size.
Stretch adjusts the dimensions to match the widget’s aspect ratio. Fit width resizes the
image to fit the widget’s width without modifying the aspect ratio. If the uploaded image
is smaller than the widget area, Tile fills the widget with multiple copies of the image.
• Tooltip - Enter text that briefly describes the image to the user.
• Alternate text - For accessibility, enter text that describes the image for a screen reader.
343
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Group (View Only),
Professional, Enterprise,
To edit and delete dashboards that you Edit My Dashboards
Performance, Unlimited,
created in public folders:
and Developer Editions
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
A gauge chart shows how close you are to reaching a goal or target. The chart target is the maximum value in the chart. The chart
measure is the current status or performance, as indicated by the pointer. The segment ranges green, yellow, and red correspond to
excellent, fair, and poor performance.
The dashboard builder supports two modes for creating gauge charts:
• In standard mode, you select a metric from the report (such as Sum of Amount) as the chart target, and then enter numeric values
for the segment ranges.
• In dynamic mode, the chart target and chart measure are report measures and field values that respond dynamically to changes in
business conditions and goals.
Before adding a dynamic dashboard gauge chart, make sure that your source report is set up for the data that you want to chart. Add
the metric that you want to track, apply appropriate filters, and include at least one grouping.
Then set up these gauge properties in the dashboard’s Add Component window.
• Report metric: A metric that’s defined in the source report, such as Record Count or Sum of Amount.
• Field: The field value from a selected Salesforce object and record.
By default, the report metric is used as the chart measure (the pointer) and the field value is used as the chart target (the maximum value
in the gauge).
For example, the chart measure for this chart is the annual contract value (ACV) for a company’s Singapore subsidiary, $150k. The chart
target is the ACV for the overall business, $640k. To be in the green, excellent range, the subsidiary must account for at least 50% of the
company’s total ACV. The actual performance is now in the red zone, so the team in Singapore has work to do. Because the chart is
dynamic, any improvements in the Singapore team’s performance are automatically reflected in the chart.
344
Analyze Your Data Dashboards
We created this chart using an Accounts report as the source. The report is grouped by Account Name with Sum of ACV added as a
metric. The report is filtered to show only the Singapore subsidiary.
For the gauge chart setup, the chart measure is Sum of ACV (1). The chart target is the Account object (2), with the corporate account
selected as the record (3) and ACV as the field (4).
To complete the chart, we set the ranges for the red, yellow, and green segments as percentages of the target.
When the widget and dashboard are saved, everything’s set. As the ACV for the subsidiary and the overall business changes, the dashboard
refreshes with the latest and greatest information.
Sometimes it makes more sense for the target to be a field value and the pointer value to be a report metric. No problem. To switch the
chart target and chart measure settings, click Swap.
345
Analyze Your Data Dashboards
If you’re working with the User object, there’s even more flexibility. You can select a specific user, or you can source the data from the
user who’s running the dashboard.
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
346
Analyze Your Data Dashboards
Sort dashboard widgets by groups and measures. Sort ascending or descending. Dashboard widgets support two-level sorting. So you
can sort by Stage and then by Sum of Amount, or by Average Age and then Record Count.
Note: If you don't see the group or measure that you want to sort by, make sure that it’s in the widget.
2. To change sort direction (2) between ascending ( ) and descending ( ), click the arrow icon.
3. If you’re working with a new widget, click Add. If you’re working with an existing widget, click Update.
4. To save the dashboard, click Save.
The table sorts data as you specified.
As you get ready to sort dashboard data, review these notes and limitations:
• To apply two-level sorting in a dashboard, the source report must have groupings.
• Two-level sorting isn’t available in Salesforce Classic. When you view a dashboard with two level sorting in Salesforce Classic,
components with two-level sorting sort by label ascending. Existing components keep their original sort order.
• In table widgets with no groups, you can sort by any column added to the table.
• Charts with two grouping levels always default to sorting by the sum of values, not by the labels for the secondary grouping.
• You can sort only by groups and measures that are visible in the dashboard widget. For example, say that a source report is grouped
by type, stage, and lead source and measured by record count and sum of amount. If the component only shows type, stage, and
record count, then you can't sort by lead source and sum of amount.
• These widgets don't support dashboard sorting:
347
Analyze Your Data Dashboards
– Metric
– Gauge
• Two-level sorting is available only for dashboard widgets that can show two groups or measures:
– Bar charts
– Line charts
– Scatter charts
– Tables
• You can sort by summary formulas, but keep these considerations in mind.
– If a summary formula is evaluated on a specified group in the source report, the order of the groupings in the dashboard widget
must match the order of groups in the source report. Otherwise, the summary formula isn't sortable.
For example, say that there are two summary formulas in a dashboard widget’s source report. One is applied to Stage and one
is applied to Type. The dashboard widget is grouped first by Stage and then by Type. The first level sorting can use the summary
formula that applies to Stage but not the summary formula that applies to Type.
– If a source report is grouped by rows and columns (matrix report) and it has a summary formula that applies to a specific group,
then sorting behavior in the widget editor preview is incorrect. A warning in the editor appears noting that the preview is
incorrect. After you save and refresh the dashboard, sorting behaves as expected.
– If a dashboard table's source report is grouped by both rows and columns (matrix report), then only summary formulas applied
at all summary levels are sortable. But, if you add a summary formula to the table, then no summary formulas are sortable and
only groups appear as sort options.
Note:
A Word about Sorting Behavior Past and Present
For dashboard widgets created before the Summer ’19 release, there’s an extra sort option: Report Grouping. The primary
purpose of the Report Grouping option is to provide forwards compatibility for existing dashboards without disrupting how
each widget is sorted. Choosing to sort by Report Grouping ascending ( ) means "match the sort order of the source
report". Choosing to sort by Report Grouping descending ( ) means "invert the sort order of the source report".
Report Grouping isn't available for dashboard widgets created in Summer ’19 and later. If you change the sort order from
Report Grouping to a named group or measure and save the dashboard, then the Report Grouping sort option disappears.
If a source report has a row limit filter (only available in Salesforce Classic), then the Report Grouping option is always available.
348
Analyze Your Data Dashboards
USER PERMISSIONS
1. Edit a dashboard.
2.
To change the color theme for the entire dashboard, open the properties menu by clicking .
3. From Dashboard Theme, choose Light or Dark.
4. From Dashboard Palette, choose one of 14 color palettes. Wildflowers is the default color palette. If you need an accessible color
palette, choose Mineral.
349
Analyze Your Data Dashboards
5. To change the color theme for an individual widget, edit the widget by clicking . Scroll through the settings and select the Light
or Dark Component Theme. Click Update.
Individual widgets don’t support unique color palettes.
1. On the Analytics tab, Reports tab, or report run page, select > Add to Dashboard.
2. Choose whether to add the report to an existing dashboard or create a dashboard from the report. If necessary, name, describe, and
choose a folder for the new dashboard.
3. Click Add.
4. Customize the dashboard widget.
5. Click Add.
6. Optionally, continue customizing the dashboard.
7. Click Save.
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
You’ve already charted data just the way you like in a report. Instead of re-creating the chart, use it in a dashboard widget.
350
Analyze Your Data Dashboards
Note: Dashboard charts and report charts have certain differences. For example, report charts display more data points than
dashboard charts. Dashboard charts are still subject to dashboard-specific limitations even when using chart settings from a source
report.
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
Show up to 200 records and 10 columns and from any field in a source report’s report type. After grouping data in a Lightning table,
you can add measures (sum, average, minimum, and maximum) to the grouped data. If a Lightning table's source report has a summary
formula column, then you can show it on the Lightning table.
Ungrouped Lightning tables display detail columns, but not measure or formula columns. Grouped Lightning tables display measure
and formula columns, but not detail columns.
Detail columns show per-record information about each individual record. The available fields in a Lightning dashboard table come from
the source report’s report type. You can show fields as detail columns in Lightning dashboard tables that aren’t included as columns in
the source report.
Measure columns display either the sum, average, maximum, or minimum value of grouped records. Because measure columns are the
result of mathematics, they're always based on numeric fields.
Formula columns let you show a summary formula column from the Lightning table's source report on the Lightning table. If a source
report's summary formula column is evaluated at All Summary Levels or Grand Total Only, it's compatible with all Lightning tables.
If a summary formula column is evaluated at Specific Groups, group data in the Lightning table the same way as the source report to
show the formula column.
Reports support up to four groups, but Lightning tables support two groups. So, you can't add a formula column based on the third or
fourth grouping of a report. Lightning tables with source reports grouped by both rows and columns only support formula columns
based on the report's first-level row and column groupings.
To add a Lightning table to a dashboard, or to edit one:
351
Analyze Your Data Dashboards
5. To add a measure or formula column, choose a field from Add measure column.... After adding a measure column, click it and
choose up to four measures: Sum, Average, Max, or Min. You can't add measures to formula columns.
Add up to 9 measure and formula columns. Remember, you can only measure numeric fields, so date, text, picklist, and Boolean
fields aren’t available.
Formula columns are listed before measure columns. Formula columns are identifiable by the formula icon that appears before their
name ( ).
Note:
• The default measure column is record count. You can’t remove record count, but after adding another measure column,
you can hide it by clicking the eye icon ( ).
• Lightning table dashboard widgets don't support unique counts.
352
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
Lightning tables are a powerful tool for summarizing data on a dashboard. Second-level groups automatically show subtotals for each
measure column. Show subtotals to add subtotals for each measure column to first-level groups.
353
Analyze Your Data Dashboards
Note: Subtotals always match the summary type of their associated metric column. If the metric column is sum of
amount, the subtotal is a sum (2).
3. Click Update.
4. Click Save.
The table now features subtotals for the first-level group.
Depending on how summary formulas are applied to source report data, you can show subtotals for summary formulas that appear on
Lightning table as metric columns. Here are the conditions.
• If a summary formula is applied at all levels, then subtotals can be applied.
• If a summary formula is applied to a specific group, then subtotals can be applied if the table also has the specific group. If the specific
group is a second-level group, then the table must match both the source report's first-level and second-level groups. Because
Lightning tables support up to two groups, summary formulas applied to third and fourth-level groups can’t be subtotaled.
For example, say that a source report is grouped first by Type and then by Stage. It has a summary formula applied to Stage. The
summary formula is able to be subtotaled only on Lightning tables grouped first by Type and then by Stage. If you reverse the group
order in the Lightning table - grouping first by Stage and then by Type, the subtotal is "Incalculable" because the group order prevents
the summary formula from running.
• If a summary formula is applied only to the grand total, then subtotals can’t be applied.
Set Decimal Places for Numbers in Dashboard Charts, Tables, and Metrics
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
Because 14.11B is greater than 14B and the difference between 90%, 90.1%, and 90.10001% matters, choose how many decimal places
appear after numbers in dashboard widgets.
1. Edit or create a dashboard.
2. Edit a dashboard widget, or add one by clicking + Widget.
3. For Decimal Places, select a number from 0 through 5. To let Salesforce set the decimal precision, selectAutomatic. Some widgets,
such as donut charts, have the option to display percentages. Setting decimal places doesn’t change how many decimal places
appear after these percentages.
4. Click Update. (If you're adding a widget, click Add.)
5. Click Save.
354
Analyze Your Data Dashboards
355
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
Choose the range of the x- and y-axes on dashboard charts, or let Salesforce automatically set them.
Some charts only let you customize the x- or y-axis. For example, horizontal bar charts only let you customize the range of the x-axis.
You can only set custom ranges on axes that display a numeric field.
1. Edit or create a dashboard.
2. Edit a dashboard widget, or add one by clicking + Widget.
3. To set the axis range, from X-Axis Range or Y-Axis Range, select Custom. Then set a minimum range in Min and a maximum
range in Max. To let Salesforce set the axis range for you, choose Automatic.
Note: Optionally, set only a Min or a Max range and Salesforce chooses the corresponding range.
356
Analyze Your Data Dashboards
357
Analyze Your Data Dashboards
3. Click Save.
The dashboard layout updates.
Ctrl+Z Undo
Ctrl+Y Redo
Ctrl+S Save
As you tab through dashboard widgets, notice that the option to have a screen reader read each chart’s dataset appears.
For more information about using screen readers with Salesforce, see Recommendations for Salesforce Accessibility in Salesforce Help.
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
358
Analyze Your Data Dashboards
Tip: You can clone a dashboard to quickly create a dashboard with the same properties and components as the one you're
viewing. Click Clone, modify the dashboard settings, and save.
1. Create the custom reports containing the data you want to display.
Important: Be sure to store these reports in folders that your intended dashboard viewers can access.
SEE ALSO:
Delete a Dashboard
Install the CRM Sample Dashboards from AppExchange
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
359
Analyze Your Data Dashboards
A dashboard shows data from source reports as visual components, which can be charts, gauges, tables, metrics, or Visualforce pages.
The components provide a snapshot of key metrics and performance indicators for your organization.
Dashboard builder is a drag-and-drop interface for creating and modifying dashboards. You can use it to customize the entire dashboard,
a column in the dashboard, or a component in the dashboard.
Tip: Dashboard builder uses a compressed page header to let you see more of the screen. To view your application tabs, simply
close the builder or click the Salesforce logo.
To customize a dashboard, view it and click Edit.
SEE ALSO:
Add a Dashboard Filter
Build a Salesforce Classic Dashboard
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Add components by dragging a component type onto the dashboard, then dropping a data source (report, s-control, or Visualforce
page) onto it.
1. On the dashboard where you want to add a component, click Edit.
You can continue to edit the dashboard while components and data sources are loading.
2. Drag the component type you want from the Components tab onto your dashboard.
You can also drop the data source first, then drop a component type onto it. To select the kind of component you need, consider
the type of data you’re showing and the uses it serves.
360
Analyze Your Data Dashboards
Use a chart when you want to show data graphically. You can choose from a variety
of chart types.
Use a gauge when you have a single value that you want to show within a range of
custom values
Visualforce Page Use a Visualforce page when you want to create a custom component or show
information not available in another component type.
Visualforce Pages are only available in Salesforce Classic.
Custom S-Control Custom s-controls can contain any type of content that you can display in a browser.
Examples: a Java applet, an Active-X control, an Excel file, or a custom HTML Web form.
Custom S-Controls are only available in Salesforce Classic.
3. Drag a report from the Data Sources tab onto the component you just dropped on the dashboard.
• You can show a joined report that includes a chart on a dashboard. Edit the joined report dashboard component and select Use
chart as defined in the source report.
• If the dashboard has a filter, the data source must contain the filter field or an equivalent. If it doesn't, it’s possible for the filter
not to work.
• Some custom forecast and lead reports aren't available for dashboards.
• For Visualforce components, the data source must be a Visualforce page.
Each folder can contain up to 200 data sources. To focus on the right data source quickly, try Quick Find or the Recent, My, and All
filters.
361
Analyze Your Data Dashboards
• Grab components by the header bar and drag them to the right location on the dashboard.
• Click for a data source to remove it from the component.
• Click for a component to remove it from the dashboard.
• Click component header, title, and footer fields to edit them.
• Change colors for picklist values displayed in dashboard components. You need the “Customize Application” permission to
update picklists.
• Optionally, for filtered dashboards, choose a different field in the Filtered By dropdown.
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A dashboard component is a visual representation of the data in a report. You can change where the component’s data comes from,
what the data looks like in the component, and what kind of component it is.
Note: If you are using legacy folder sharing, you might see the Edit option for dashboards that you are not permitted to edit. To
resolve this issue, turn on enhanced folder sharing on page 440.
Dashboard builder is a drag-and-drop interface for creating and modifying dashboards. Drop and click to rearrange components on the
dashboard. Hover details and drill-down are available when you view and not when you edit a dashboard.
362
Analyze Your Data Dashboards
5. Chart Types
You can show data in reports and dashboards in the form of bars, columns, lines, shapes, or other elements. Which is right depends
on what the data is about and what you want to show with it.
6. Data Settings for Dashboard Chart Components
Choose the data you want to show on your report or dashboard chart. The chart automatically selects groupings and summary
values from your report. You can override some of those choices to focus on the data you need to share.
7. Visual Settings for Dashboard Chart Components
Choose the type of chart that fits the data you are sharing, then apply the visual settings that will communicate the data most
effectively.
SEE ALSO:
Add a Dashboard Filter
• Record Detail Page—When users click chart or table elements, axis values, or legend entries, they are taken to the detail page for
that record. You can only choose this option for tables and charts that use a source report grouped by record name, record owner,
or feed post. (Not available for gauges or metrics.)
• Other URL—Takes the user to the URL that you specify. You can't add URLs that begin with “mailto:” or “javascript:” to dashboard
components.
363
Analyze Your Data Dashboards
• Which fields you can use in the table depends on the fields you picked in the source report chart:
Example
You can use a table to show:
• Top sales reps for the quarter with the number of opportunities each won.
• Number of accounts by region, the total number of opportunities available, and those won.
Look at this customized four-column table that shows the top sales reps by region with the number and value of opportunities they
won.
364
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Dashboard components can be charts, tables, gauges, metrics, or other components that you can create with VisualForce.
Gauge Use a gauge when you have a single value that you want to show within a range of custom values.
For example, to create a dashboard that measures where your current closed opportunity amounts
fall within a range of values, set the Minimum Value, Breakpoint #1 Value,
Breakpoint #2 Value, and Maximum Value for the gauge. The ranges that you set
can indicate poor, acceptable, and good performance. Set appropriate colors for each of these
ranges to visually indicate progress. To create a gauge with only two ranges, leave Breakpoint
#2 Value blank.
Select Show Percentage or Show Total to display those values on the gauge. Values
exceeding the maximum are shown as greater than 100%.
Metric Use a metric when you have one key value to display. For example, if you have a report showing
the total amount for all opportunities in the Closed, Commit, and Base Case stages in
the current month, you can name that value and use it as a revenue target for the month displayed
on the dashboard.
Table Use a table to show a set of report data in column form. For example, to see the top 20
opportunities by amount, set Maximum Values Displayed to 20. Then click Customize
Table and select opportunity name, amount, and other columns to display, choose the sort order,
and set conditional highlighting. Available columns include all chart groupings and report summary
fields, as well as the second-level grouping defined in the report.
Visualforce Page N/A Use a Visualforce page when you want to create a custom component or show information not
available in another component type. For example, a Visualforce page can display data from an
external system or show Salesforce data in a custom way. Visualforce pages must meet certain
requirements to be displayed in dashboards; otherwise, they don't appear in the Visualforce
Page dropdown list. See Creating Visualforce Dashboard Components.
365
Analyze Your Data Dashboards
SEE ALSO:
Modify a Dashboard Component in Salesforce Classic
Chart Types
You can show data in reports and dashboards in the form of bars, columns, lines, shapes, or other elements. Which is right depends on
what the data is about and what you want to show with it.
1. Bar Charts
A bar chart shows values as horizontal lengths, so this format can be good for comparing distance or time. Use a bar chart when
you have a summary report with a single grouping, or you only want to display one grouping.
2. Column Charts
A column chart is very much like a bar chart, but it can be a better format for showing relative counts of things, such as leads or
dollars. Use a column chart when you have a summary report with a single grouping, or you only want to display one grouping.
3. Line Charts
Line charts are good for showing changes in the value of an item over a series of points in time, such as week to week or quarter to
quarter. Use a line chart when you have one important grouping representing an ordered set of data and one value to show.
4. Pie Charts
Use a pie chart when you have multiple groupings and want to show the proportion of a single value for each grouping against the
total.
5. Donut Charts
Use a donut chart when you have multiple groupings and want to show not only the proportion of a single value for each grouping
against the total, but also the total amount itself.
6. Funnel Charts
Use a funnel chart when you have multiple groupings in an ordered set and want to show the proportions among them.
7. Scatter Charts
Use scatter charts to show meaningful information using one or two groups of report data plus summaries.
SEE ALSO:
Scatter Charts
Modify a Dashboard Component in Salesforce Classic
Create a Custom Report in Accessibility Mode
Show Multiple Sets of Data in One Chart
Data Settings for Dashboard Chart Components
Visual Settings for Dashboard Chart Components
366
Analyze Your Data Dashboards
Bar Charts
A bar chart shows values as horizontal lengths, so this format can be good for comparing distance
EDITIONS
or time. Use a bar chart when you have a summary report with a single grouping, or you only want
to display one grouping. Available in: Salesforce
Classic (not available in all
orgs) and Lightning
Experience
For example, to see the amount in each sales stage in a report, select Sum of Amount as the
X-axis and Stage as the Y-axis. The chart displays one bar for each stage, with the length Available in: Group,
proportional to the total opportunity amount. Professional, Enterprise,
Performance, Unlimited,
The advantage of the horizontal bar charts is that the chart can be extended vertically to show and Developer Editions
numerous groupings, though the width is fixed. Depending on chart settings, you can also display
Chatter photos.
SEE ALSO:
Data Settings for Dashboard Bar and Column Chart Components
Formatting Settings for Dashboard Bar Chart Components
Grouped Bar Charts
Use a grouped bar chart when you have multiple groupings, and you want to compare values
EDITIONS
within a secondary grouping, but not the totals.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to compare the amount of deals closed each month by lead source in a report, set Experience
amount as the X-axis, source as the Y-axis, and closing month as the Groupings value.
The chart displays a set of bars for each source, one bar for each month. The monthly differences Available in: Group,
within a particular source are easy to compare. Professional, Enterprise,
Performance, Unlimited,
You can also compare a given month across sources, but comparing the total number of leads for and Developer Editions
each source may be difficult.
367
Analyze Your Data Dashboards
Use a stacked bar chart when you have multiple groupings and are interested in the proportions
EDITIONS
between values in each grouping, as well as each grouping's total.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to compare the status of leads by campaign in a report, and also to compare the totals Experience
for each status, set record count as the X-axis, status as the Y-axis, and campaign as the
Groupings value. The chart displays a single bar for each status, broken down by campaign, Available in: Group,
with each campaign shown in a different color. Professional, Enterprise,
Performance, Unlimited,
The proportion of each campaign in each status is easy to compare, as are the totals for each status, and Developer Editions
but comparing a single campaign’s contribution to different statuses, or to the total, may be difficult.
Column Charts
A column chart is very much like a bar chart, but it can be a better format for showing relative counts
EDITIONS
of things, such as leads or dollars. Use a column chart when you have a summary report with a
single grouping, or you only want to display one grouping. Available in: Salesforce
Classic (not available in all
orgs) and Lightning
Experience
For example, to see the number of leads by lead source in a report, set record count as the Y-axis
and source as the X-axis. The chart displays one column for each source, with the height Available in: Group,
proportional to the total number of leads. The width of column charts is constrained by dashboard Professional, Enterprise,
Performance, Unlimited,
column size and report chart size. Horizontal bar charts may be better for large numbers of groupings.
and Developer Editions
Column charts are good when showing values by date, since dates traditionally run along the X-axis.
368
Analyze Your Data Dashboards
369
Analyze Your Data Dashboards
Use a column chart stacked to 100 percent when you have multiple groupings and are interested
EDITIONS
in the proportions between values in each grouping, as well as each grouping's total.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to compare the number of opportunities created each month by campaign source Experience
in a report, and also to compare the totals for each month, set record count as the Y-axis, created
month as the X-axis, and source as the Groupings value. The chart displays a single bar for Available in: Group,
each month, broken down by source, with each source shown in a different color. The proportion Professional, Enterprise,
Performance, Unlimited,
of each source in each month is easy to compare, as are the monthly totals, but comparing a single
and Developer Editions
source’s contribution to different months, or to the total, may be difficult.
Line Charts
Line charts are good for showing changes in the value of an item over a series of points in time,
EDITIONS
such as week to week or quarter to quarter. Use a line chart when you have one important grouping
representing an ordered set of data and one value to show. Available in: Salesforce
Classic (not available in all
orgs) and Lightning
Experience
Line charts are useful for showing data over time. For example, to see the numbers of leads created
each month in a report, set record count as the Y-axis and created month for the X-axis. Available in: Group,
The chart displays a line connecting the record count totals for each month. Salesforce does not Professional, Enterprise,
Performance, Unlimited,
plot missing (null) values.
and Developer Editions
If a missing value occurs in the middle of a data set, Salesforce displays a gap in the line.
370
Analyze Your Data Dashboards
Salesforce does not plot missing (null) values. If a missing value occurs in the middle of a data set, Salesforce displays a gap in the line.
Cumulative Line Charts
Use a cumulative line chart when you have one important grouping representing an ordered set
EDITIONS
of data and one value to show, summed over time.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to see the total amount of closed opportunities by day in the current month in a Experience
report, set amount as the Y-axis and closing day as the X-axis. The chart displays one line,
with the line’s height representing the cumulative amount of closed opportunities up to and Available in: Group,
including that day. You can't see the amount for any single day—only the cumulative amount. Professional, Enterprise,
Performance, Unlimited,
If the data set contains a missing (null) value, Salesforce continues the line using the previous value and Developer Editions
in the data set.
For example, to see the total amount of closed opportunities by day for each of the last three months Available in: Group,
in a report, set amount as the Y-axis, closing day as the X-axis, and closing month as the Professional, Enterprise,
Performance, Unlimited,
Groupings value. The chart displays a line for each month, with the line’s height representing
and Developer Editions
the cumulative amount of closed opportunities up to and including that day.
Pie Charts
Use a pie chart when you have multiple groupings and want to show the proportion of a single
EDITIONS
value for each grouping against the total.
Available in: Salesforce
Classic (not available in all
orgs)
For example, to see the breakdown of your case queue by case status in a report, set record count
for Values and status for Wedges. The chart displays a circle made up of wedges, each wedge Available in: Group,
representing the cases in a case status. Wedge size is proportional to the numbers of cases. Professional, Enterprise,
Performance, Unlimited,
Pie charts are not ideal for comparing values that are close together or numerous small values. and Developer Editions
Select Show Labels, Show Values, or Show Wedge % to include that information on
the chart. (Only available with Chart Analytics 2.0.)
Donut Charts
371
Analyze Your Data Dashboards
Use a donut chart when you have multiple groupings and want to show not only the proportion
EDITIONS
of a single value for each grouping against the total, but also the total amount itself.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to see the breakdown of your case queue by case status in a report, as well as the total Experience
number of cases, set record count for Values and status for Wedges. The chart displays a donut
made up of wedges, each wedge representing a case status. Wedge size is proportional to the Available in: Group,
numbers of cases. The total number of cases for all statuses is shown in the middle. Professional, Enterprise,
Performance, Unlimited,
Select Show Labels, Show Values, Show Wedge %, or Show Total to include that and Developer Editions
information on the chart.
Funnel Charts
Use a funnel chart when you have multiple groupings in an ordered set and want to show the
EDITIONS
proportions among them.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to see the amount of opportunities in each stage in a report, set amount for Values Experience
and stage for Segments. Since the Opportunity: Stage field is an ordered picklist, the
stages are sorted in the same order as the picklist, with each segment representing the amount for Available in: Group,
that stage. Funnel charts are useful for showing the flow of opportunities through the stages; a Professional, Enterprise,
Performance, Unlimited,
substantially larger segment may indicate a bottle-neck at that stage.
and Developer Editions
Select Show Labels, Show Values, or Show Segment % to include that information
on the chart.
Scatter Charts
Use scatter charts to show meaningful information using one or two groups of report data plus
EDITIONS
summaries.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to see how stage duration correlates with the number of activities for opportunities, Experience
group your report by Opportunity Name and plot the scatter chart by the grouping. Then Available in: Group,
set X-Axis on the chart to Record Count and Y-Axis to Stage Duration. The Professional, Enterprise,
chart will show a dot for each opportunity. You can tell at a glance if the stage duration is shorter Performance, Unlimited,
for opportunities that have more activities. and Developer Editions
Because a scatter chart shows data grouped by summarized values, you need at least one grouping
in your report. Choose a report format that allows groupings, such as, summary, matrix, or joined.
You also need at least one summarized field in the report to show data on the axes of the chart. Otherwise, the chart will show record
count on the axes. Scatter charts automatically show data from the source report or you can manually choose what information to
display for groupings and summaries.
If your source report has The X-axis automatically displays The Y-axis automatically displays
One or more summary fields First summary. • Either record count or the second
summary in report charts.
372
Analyze Your Data Dashboards
This is a report on closed won opportunities grouped by account and opportunity owner. A scatter chart can reveal the potential for
tapping into accounts with a higher annual revenue.
373
Analyze Your Data Dashboards
SEE ALSO:
Chart Types
Modify a Dashboard Component in Salesforce Classic
Data Settings for Dashboard Scatter Chart Components
Formatting Settings for Dashboard Scatter Chart Components
Data Settings for Dashboard Scatter Chart Components
Formatting Settings for Dashboard Scatter Chart Components
1. Scatter Charts
Use scatter charts to show meaningful information using one or two groups of report data plus summaries.
2. Data Settings for Dashboard Bar and Column Chart Components
Horizontal bar and vertical column charts are useful for comparing the values of one or more report groupings. Use the Component
Data tab to select the groupings and summaries you want your bar or column chart to display.
3. Data Settings for Dashboard Funnel Chart Components
Funnel charts are useful for showing the flow of opportunities through stages.
4. Data Settings for Dashboard Scatter Chart Components
Scatter charts are useful to show one or two groups of report data plus summaries. These data settings for the scatter chart are
available in the dashboard component editor under Component Data.
5. Data Settings for Dashboard Gauge Components
A gauge is used to see how far you are from reaching a goal. It displays a single value, such as closed deals.
6. Data Settings for Dashboard Line Chart Components
Line charts are useful for showing data over time.
7. Data Settings for Dashboard Metric Components
The settings on the Component Data tab define how your dashboard metric component gets and manages the data it displays.
8. Data Settings for Dashboard Pie and Donut Chart Components
A pie chart or a donut chart is good for showing the relative shares of different quantities. Use the component data tab to select the
values your pie or donut chart will compare.
9. Data Settings for Dashboard Table Components
A table component shows columns of data from a custom report in a dashboard. The settings on the Component Data tab control
how a table component gets and manages the data it displays.
Scatter Charts
374
Analyze Your Data Dashboards
Use scatter charts to show meaningful information using one or two groups of report data plus
EDITIONS
summaries.
Available in: Salesforce
Classic (not available in all
orgs) and Lightning
For example, to see how stage duration correlates with the number of activities for opportunities, Experience
group your report by Opportunity Name and plot the scatter chart by the grouping. Then Available in: Group,
set X-Axis on the chart to Record Count and Y-Axis to Stage Duration. The Professional, Enterprise,
chart will show a dot for each opportunity. You can tell at a glance if the stage duration is shorter Performance, Unlimited,
for opportunities that have more activities. and Developer Editions
Because a scatter chart shows data grouped by summarized values, you need at least one grouping
in your report. Choose a report format that allows groupings, such as, summary, matrix, or joined.
You also need at least one summarized field in the report to show data on the axes of the chart. Otherwise, the chart will show record
count on the axes. Scatter charts automatically show data from the source report or you can manually choose what information to
display for groupings and summaries.
If your source report has The X-axis automatically displays The Y-axis automatically displays
One or more summary fields First summary. • Either record count or the second
summary in report charts.
• The first summary in dashboard charts
even if the source report has multiple
summaries. But you can manually
choose a different summary to show on
the axis.
This is a report on closed won opportunities grouped by account and opportunity owner. A scatter chart can reveal the potential for
tapping into accounts with a higher annual revenue.
375
Analyze Your Data Dashboards
376
Analyze Your Data Dashboards
SEE ALSO:
Chart Types
Modify a Dashboard Component in Salesforce Classic
Data Settings for Dashboard Scatter Chart Components
Formatting Settings for Dashboard Scatter Chart Components
Data Settings for Dashboard Scatter Chart Components
Formatting Settings for Dashboard Scatter Chart Components
Data Settings for Dashboard Bar and Column Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Horizontal bar and vertical column charts are useful for comparing the values of one or more report groupings. Use the Component
Data tab to select the groupings and summaries you want your bar or column chart to display.
Choose what values to display on the axes of your chart. Depending on the chart type, axis values can be record count, summary fields,
or groupings defined in the report. For example, to see the amount in each sales stage in a report, select Sum of Amount as the
X-axis and Stage as the Y-axis. The chart displays one bar for each stage, with the length proportional to the total opportunity
amount.
Setting Description
X-Axis Choose what values to display on the horizontal axis of your bar, column, scatter, or line chart. Depending on the
chart type, axis values can be summary fields or groupings. To use the second grouping or summary field defined in
the source report’s chart, select Auto. When the source report has a chart, Auto picks the values used by the chart.
If the X-axis corresponds to a custom summary formula that has the Where Will this Formula Be
Displayed? option set to a grouping level other than All summary levels, then the Y-axis and Groupings
selection must correspond to that custom summary formula's grouping level.
Y-Axis Choose what values to display on the vertical axis of your bar, column, scatter, or line chart. Depending on the chart
type, axis values can be summary fields or groupings. To use the second grouping or summary field defined in the
source report’s chart, select Auto. When the source report has a chart, Auto picks the values used by the chart. If the
Y-axis corresponds to a custom summary formula that has the Where Will this Formula Be
377
Analyze Your Data Dashboards
Setting Description
Displayed? option set to a grouping level other than All summary levels, then the X-axis and Groupings
selection must correspond to that custom summary formula's grouping level.
Group By Choose how to group information on your chart. This option is available only if the underlying report has more than
one grouping. To use the second grouping or summary field defined in the source report’s chart, select Auto.
Combination Select this option to plot additional values on this chart. The chart type you chose must allow combination charts.
Chart
Display Choose a scale for displaying your chart values. For table components, this setting applies only to the first column.
Units For best results, choose Auto to let Salesforce select appropriate units.
Drill Select where users go when they click a dashboard component: the full source report for the dashboard component;
Down to the source report filtered by the group, X-axis value, or legend entry they clicked; the detail page for a chart or table
element, axis value, or legend entry; or a URL that you specify. (You can't use URLs that begin with “mailto:” or
“javascript:”.) Filtered and record detail page drill-down are disabled when viewing dashboard charts with more than
200 values.
SEE ALSO:
Formatting Settings for Dashboard Bar Chart Components
Data Settings for Dashboard Funnel Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Funnel charts are useful for showing the flow of opportunities through stages.
Choose what values to display on the axes of your chart. Depending on the chart type, axis values can be record count, summary fields,
or groupings defined in the report.
Setting Description
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only to the first column.
For best results, choose Auto to let Salesforce select appropriate units.
Drill Down to Select where users go when they click a dashboard component: the full source report for the dashboard
component; the source report filtered by the group, X-axis value, or legend entry they clicked; the detail page
378
Analyze Your Data Dashboards
Setting Description
for a chart or table element, axis value, or legend entry; or a URL that you specify. (You can't use URLs that begin
with “mailto:” or “javascript:”.) Filtered and record detail page drill-down are disabled when viewing dashboard
charts with more than 200 values.
Values Choose what to display as values for your pie chart, donut chart, funnel chart, gauge, or metric. To use the second
grouping or summary field defined in the source report’s chart, select Auto. When the source report has a chart,
Auto picks the values used by the chart. In gauges and metrics, Auto shows the value of the first summary field.
Segments Choose what to display as segments for your funnel chart. To use the second grouping or summary field defined
in the source report’s chart, select Auto. When the source report has a chart, Auto picks the values used by the
chart.
SEE ALSO:
Formatting Settings for Funnel Dashboard Components
Data Settings for Dashboard Scatter Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Available in: both Legacy
To create, edit, and delete dynamic Manage Dynamic Dashboards Folder Sharing and
dashboards: Enhanced Folder Sharing
Scatter charts are useful to show one or two groups of report data plus summaries. These data settings for the scatter chart are available
in the dashboard component editor under Component Data.
Group and set the scale to help users make sense of the data you are displaying.
Setting Description
Plot By Choose the grouping to display on your chart. To always use the first grouping or use what’s in the source
report’s chart, pick Auto.
Y Axis Choose what values to display on the vertical axis of your bar, column, scatter, or line chart. Depending on
the chart type, axis values can be summary fields or groupings. To use the second grouping or summary
field defined in the source report’s chart, select Auto. When the source report has a chart, Auto picks the
values used by the chart. If the Y-axis corresponds to a custom summary formula that has the Where
Will this Formula Be Displayed? option set to a grouping level other than All summary
379
Analyze Your Data Dashboards
Setting Description
levels, then the X-axis and Groupings selection must correspond to that custom summary formula's grouping
level.
Group By Choose how to group information on your chart. This option is available only if the underlying report has
more than one grouping. To use the second grouping or summary field defined in the source report’s chart,
select Auto.
Display Units Change the measure for values displayed on the Y-axis of the chart.
Drill Down Select where users go when they click the chart. Options include the source report, the filtered source
report, record detail page, or a URL you specify. Filtered report and record detail page options are unavailable
when the chart has more than 200 values.
SEE ALSO:
Scatter Charts
Modify a Dashboard Component in Salesforce Classic
Formatting Settings for Dashboard Scatter Chart Components
Data Settings for Dashboard Gauge Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A gauge is used to see how far you are from reaching a goal. It displays a single value, such as closed deals.
Setting Description
Values Choose what to display as values for your pie chart, donut chart, funnel chart, gauge, or metric. To use the second
grouping or summary field defined in the source report’s chart, select Auto. When the source report has a chart,
Auto picks the values used by the chart. In gauges and metrics, Auto shows the value of the first summary field.
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only to the first column.
For best results, choose Auto to let Salesforce select appropriate units.
Drill Down to Select where users go when they click a dashboard component: the full source report for the dashboard
component; the source report filtered by the group, X-axis value, or legend entry they clicked; the detail page
for a chart or table element, axis value, or legend entry; or a URL that you specify. (You can't use URLs that begin
380
Analyze Your Data Dashboards
Setting Description
with “mailto:” or “javascript:”.) Filtered and record detail page drill-down are disabled when viewing dashboard
charts with more than 200 values.
SEE ALSO:
Formatting Settings for Dashboard Gauge Components
Data Settings for Dashboard Line Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Setting Description
Y-Axis Choose what values to display on the vertical axis of your bar, column, scatter, or line
chart. Depending on the chart type, axis values can be summary fields or groupings. To
use the second grouping or summary field defined in the source report’s chart, select
Auto. When the source report has a chart, Auto picks the values used by the chart. If
the Y-axis corresponds to a custom summary formula that has the Where Will this
Formula Be Displayed? option set to a grouping level other than All
summary levels, then the X-axis and Groupings selection must correspond to that
custom summary formula's grouping level.
X-Axis Choose what values to display on the horizontal axis of your bar, column, scatter, or line
chart. Depending on the chart type, axis values can be summary fields or groupings. To
use the second grouping or summary field defined in the source report’s chart, select
Auto. When the source report has a chart, Auto picks the values used by the chart. If the
X-axis corresponds to a custom summary formula that has the Where Will this
Formula Be Displayed? option set to a grouping level other than All
summary levels, then the Y-axis and Groupings selection must correspond to that
custom summary formula's grouping level.
381
Analyze Your Data Dashboards
Setting Description
Group By Choose how to group information on your chart. This option is available only if the
underlying report has more than one grouping. To use the second grouping or summary
field defined in the source report’s chart, select Auto.
Combination Chart Select this option to plot additional values on this chart. The chart type you chose must
allow combination charts.
Display Units Choose a scale for displaying your chart values. For table components, this setting applies
only to the first column. For best results, choose Auto to let Salesforce select appropriate
units.
Drill Down to Select where users go when they click a dashboard component: the full source report for
the dashboard component; the source report filtered by the group, X-axis value, or legend
entry they clicked; the detail page for a chart or table element, axis value, or legend entry;
or a URL that you specify. (You can't use URLs that begin with “mailto:” or “javascript:”.)
Filtered and record detail page drill-down are disabled when viewing dashboard charts
with more than 200 values.
SEE ALSO:
Formatting Settings for Dashboard Line Chart Components
Data Settings for Dashboard Metric Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
The settings on the Component Data tab define how your dashboard metric component gets and manages the data it displays.
Setting Description
Values Choose what to display as values for your pie chart, donut chart, funnel chart, gauge, or metric. To use the second
grouping or summary field defined in the source report’s chart, select Auto. When the source report has a chart,
Auto picks the values used by the chart. In gauges and metrics, Auto shows the value of the first summary field.
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only to the first column.
For best results, choose Auto to let Salesforce select appropriate units.
382
Analyze Your Data Dashboards
Setting Description
Drill Down to Select where users go when they click a dashboard component: the full source report for the dashboard
component; the source report filtered by the group, X-axis value, or legend entry they clicked; the detail page
for a chart or table element, axis value, or legend entry; or a URL that you specify. (You can't use URLs that begin
with “mailto:” or “javascript:”.) Filtered and record detail page drill-down are disabled when viewing dashboard
charts with more than 200 values.
SEE ALSO:
Formatting Settings for Dashboard Metric Components
Data Settings for Dashboard Pie and Donut Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A pie chart or a donut chart is good for showing the relative shares of different quantities. Use the component data tab to select the
values your pie or donut chart will compare.
Use a pie chart when you have multiple groupings and want to show the proportion of a single value for each grouping against the
total.
For example, to see the breakdown of your case queue by case status in a report, set record count for Values and status for Wedges.
The chart displays a circle made up of wedges, each wedge representing the cases in a case status.
Setting Description
Values Choose what to display as values for your pie chart, donut chart, funnel chart, gauge, or metric. To use the
second grouping or summary field defined in the source report’s chart, select Auto. When the source report
has a chart, Auto picks the values used by the chart. In gauges and metrics, Auto shows the value of the
first summary field.
Wedges Choose what to display as wedges for your pie or donut chart. To use the second grouping or summary
field defined in the source report’s chart, select Auto. When the source report has a chart, Auto picks the
values used by the chart.
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only to the first
column. For best results, choose Auto to let Salesforce select appropriate units.
383
Analyze Your Data Dashboards
Setting Description
Drill Down to Select where users go when they click a dashboard component: the full source report for the dashboard
component; the source report filtered by the group, X-axis value, or legend entry they clicked; the detail
page for a chart or table element, axis value, or legend entry; or a URL that you specify. (You can't use URLs
that begin with “mailto:” or “javascript:”.) Filtered and record detail page drill-down are disabled when
viewing dashboard charts with more than 200 values.
SEE ALSO:
Formatting Settings for Pie and Donut Dashboard Components
Data Settings for Dashboard Table Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A table component shows columns of data from a custom report in a dashboard. The settings on the Component Data tab control how
a table component gets and manages the data it displays.
Setting Description
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only to the first
column. For best results, choose Auto to let Salesforce select appropriate units.
Drill Down to Select where users go when they click a dashboard component: the full source report for the dashboard
component; the source report filtered by the group, X-axis value, or legend entry they clicked; the detail page
for a chart or table element, axis value, or legend entry; or a URL that you specify. (You can't use URLs that
begin with “mailto:” or “javascript:”.) Filtered and record detail page drill-down are disabled when viewing
dashboard charts with more than 200 values.
SEE ALSO:
Formatting Settings for Dashboard Table Components
384
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Horizontal bar and vertical column charts are useful for comparing the values of one or more report groupings. Set the scale and sorting
to help you make sense of the data you are displaying.
Setting Description
Sort Rows By Choose a sorting element to determine what element you want displayed first in the horizontal axis of any
horizontal chart or the vertical axis of any vertical chart. For a table, choose the sort order for the default
two-column table to be ascending or descending by row labels or values.
385
Analyze Your Data Dashboards
Setting Description
Maximum Values Set the maximum number of elements to include in the top-level grouping of the horizontal axis of a
Displayed horizontal chart, vertical axis of a vertical chart, or selected axis of a stacked bar chart. For a table, set the
maximum number of rows to include. For example, if you want to list only your top five salespeople, create
an opportunity report that lists total opportunity amounts by owner and enter 5 in this field.
Legend Position Choose a place to display the legend in relation to your chart.
Show Chatter Display Chatter photos for up to 20 records in a horizontal bar chart component whose source report is
Photos grouped by a user or group name field. If there are more than 20 records with photos, record names are
shown instead of photos. Set Grouping Display to None to show photos. Set the Drill Down to
option to Record Detail Page to take users directly to user profile or group pages when they click
photos. Chatter must be enabled for photos to be displayed. Depending on your organization's setup, you
may not see photos on tables and charts.
Show Values Display the values of individual records or groups on the chart. This only applies to certain chart types.
Enable Hover Display values, labels, and percentages when hovering over charts. Hover details depend on chart type.
Percentages apply to pie, donut, and funnel charts only. Hover is disabled if your chart has more than 200
data points.
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Use color to show the status of a value through stages in a funnel chart.
Setting Description
Sort Rows By Choose a sorting element to determine what element you want displayed first in the horizontal axis
of any horizontal chart or the vertical axis of any vertical chart. For a table, choose the sort order for
the default two-column table to be ascending or descending by row labels or values.
Maximum Values Set the maximum number of elements to include in the top-level grouping of the horizontal axis of
Displayed a horizontal chart, vertical axis of a vertical chart, or selected axis of a stacked bar chart. For a table,
set the maximum number of rows to include. For example, if you want to list only your top five
386
Analyze Your Data Dashboards
Setting Description
salespeople, create an opportunity report that lists total opportunity amounts by owner and enter 5
in this field.
Legend Position Choose a place to display the legend in relation to your chart.
Combine Small Groups Click this link to create a custom table. The Maximum Values Displayed field is populated with the
into “Others” value you entered, and the first two columns are prepopulated with the default columns. To customize
a table, the source report must be summary or matrix format and contain a chart.
Show Values Display the values of individual records or groups on the chart. This only applies to certain chart types.
Show Segment % Display the percentage value for each segment of funnel charts.
Enable Hover Display values, labels, and percentages when hovering over charts. Hover details depend on chart
type. Percentages apply to pie, donut, and funnel charts only. Hover is disabled if your chart has more
than 200 data points.
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Scatter charts are useful to show one or two groups of report data plus summaries. These settings for the scatter chart are available in
the dashboard component editor under Formatting.
Tweak data displayed on the dashboard scatter chart using these settings.
Setting Description
Sort Rows By Currently sorting is unavailable.
Maximum Values Set the maximum number of dots to show on the chart. When set to 5 for example, the chart shows 5 dots.
Displayed These are the top 5 ascending values in the grouping used by the Plot By field of the scatter chart.
Axis Range Keep automatic or choose manual to enter minimum and maximum values for the Y-axis range. If there
are values outside the manual range, Y-axis automatically extends to include them.
Legend Position Choose a place to display the legend in relation to your chart.
387
Analyze Your Data Dashboards
Setting Description
Show Details on Display values or labels when hovering over charts.
Hover
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Set the breakpoints and colors on your gauge component to help users interpret the current value of the field you are tracking.
Optionally, set conditional highlighting by defining up to three value ranges and colors. You need to also set the minimum and maximum
for the scale. You must set highlighting to follow a component and receive alerts in your Chatter feed when the value crosses a threshold.
Setting Description
Minimum The lowest value on the chart.
Low Range Select a color to represent the low range, up to the first breakpoint.
Color
Breakpoint 1 The value that separates the low and mid range colors on the dashboard.
Middle Range Select a color to represent the middle range, between the first and second breakpoints.
Color
Breakpoint 2 The value that separates the middle and high range colors on the dashboard.
High Range Select a color to represent the high range, above the second breakpoint.
Color
Show % Display the percentage value for each wedge of pie and donut charts, or for each segment of funnel charts. On
a gauge, show the percentage value of the point where the needle is pointing.
388
Analyze Your Data Dashboards
Setting Description
Show Total Display the total value for the chart. For a table, include the sum total for number and currency summary fields.
SEE ALSO:
Modify a Dashboard Component in Salesforce Classic
Formatting Settings for Dashboard Line Chart Components
USER PERMISSIONS EDITIONS
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Line charts are useful for showing data over time. Use sorting and scale to help your users make sense of the data on your line chart.
Setting Description
Sort Rows By Choose a sorting element to determine what element you want displayed first in the horizontal axis of any
horizontal chart or the vertical axis of any vertical chart. For a table, choose the sort order for the default
two-column table to be ascending or descending by row labels or values.
Maximum Values Set the maximum number of elements to include in the top-level grouping of the horizontal axis of a
Displayed horizontal chart, vertical axis of a vertical chart, or selected axis of a stacked bar chart. For a table, set the
maximum number of rows to include. For example, if you want to list only your top five salespeople, create
an opportunity report that lists total opportunity amounts by owner and enter 5 in this field.
Y Axis Range Choose a manual or automatic axis range for the vertical axis of a bar, line, or column chart. If you choose
manual, enter numbers for the minimum and maximum axis values to be displayed. If there are data points
outside the range that you set, the axis automatically extends to include those values when you generate
the chart.
Legend Position Choose a place to display the legend in relation to your chart.
Enable Hover Display values, labels, and percentages when hovering over charts. Hover details depend on chart type.
Percentages apply to pie, donut, and funnel charts only. Hover is disabled if your chart has more than 200
data points.
389
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A metric component displays one value at a point in time. Use color to help users make sense of the data in the metric component.
Optionally, set conditional highlighting by defining up to three value ranges and colors. You must set highlighting to follow a component
and receive alerts in your Chatter feed when the value crosses a threshold.
Note:
• Enter metric labels directly on components by clicking the empty text field next to the grand total.
• Metric components placed directly above and below each other in a dashboard column are displayed together as a single
component.
• If you don't define breakpoint values or if you leave them blank, alerts won't be sent for the component.
Setting Description
Low Range Select a color to represent the low range, up to the first breakpoint.
Color
Breakpoint 1 The value that separates the low and middle range colors on the dashboard.
Middle Range Select a color to represent the middle range, between the first and second breakpoints.
Color
Breakpoint 2 The value that separates the middle and high range colors on the dashboard.
High Range Select a color to represent the high range, beyond the second breakpoint.
Color
SEE ALSO:
Modify a Dashboard Component in Salesforce Classic
Formatting Settings for Pie and Donut Dashboard Components
390
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A pie chart is good for showing the relative shares of different quantities. Use the formatting tab to choose how to configure and label
the divisions in your pie chart.
Setting Description
Sort Rows By Choose a sorting element to determine what element you want displayed first in the horizontal axis
of any horizontal chart or the vertical axis of any vertical chart. For a table, choose the sort order for
the default two-column table to be ascending or descending by row labels or values.
Maximum Values Set the maximum number of elements to include in the top-level grouping of the horizontal axis of
Displayed a horizontal chart, vertical axis of a vertical chart, or selected axis of a stacked bar chart. For a table, set
the maximum number of rows to include. For example, if you want to list only your top five salespeople,
create an opportunity report that lists total opportunity amounts by owner and enter 5 in this field.
Legend Position Choose a place to display the legend in relation to your chart.
Combine Small Groups Combine all groups less than or equal to 3% of the total into a single “Others” wedge or segment.
into “Others” Deselect to show all values individually on the chart. This only applies to pie, donut, and funnel charts.
This option is on by default for pie and donut charts, and off for funnel.
Show Values Display the values of individual records or groups on the chart. This only applies to certain chart types.
Show % Display the percentage value for each wedge of pie and donut charts.
Enable Hover Display values, labels, and percentages when hovering over charts. Hover details depend on chart
type. Percentages apply to pie, donut, and funnel charts only. Hover is disabled if your chart has more
than 200 data points.
Show Total Display the total value for the chart. For a table, include the sum total for number and currency summary
fields.
391
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
A table component shows columns of data from a custom report in a dashboard. You can use color and scale to help users interpret the
report data the table displays.
You can use the default two-column table or create a custom table with up to four columns and totals.
The default two-column table uses the first grouping and summary field from the chart in the source report. If the report has no chart,
default columns are based on the first grouping and summary field in the report.
Customized tables allow null values in the results. Default two-column tables do not.
To use a tabular report as the source report, Rows to Display must be set for that report.
Optionally, set conditional highlighting by defining up to three value ranges and colors. Highlighting only applies to the first summary
field column in the table.
Setting Description
Sort Rows By Choose a sorting element to determine what element you want displayed first in the horizontal
axis of any horizontal chart or the vertical axis of any vertical chart. For a table, choose the sort
order for the default two-column table to be ascending or descending by row labels or values.
Maximum Values Set the maximum number of elements to include in the top-level grouping of the horizontal
Displayed axis of a horizontal chart, vertical axis of a vertical chart, or selected axis of a stacked bar chart.
For a table, set the maximum number of rows to include. For example, if you want to list only
your top five salespeople, create an opportunity report that lists total opportunity amounts
by owner and enter 5 in this field.
Show Chatter Display Chatter photos for up to 20 records in a table component whose source report is
Photos grouped by a user or group name field. If there are more than 20 records with photos, record
names are shown instead of photos. Set Grouping Display to None to show photos.
Set the Drill Down to option to Record Detail Page to take users directly to
user profile or group pages when they click photos. Chatter must be enabled for photos to
be displayed. Depending on your organization's setup, you may not see photos on tables and
charts.
Customize Click this link to create a custom table. The Maximum Values Displayed field is populated with
Table the value you entered, and the first two columns are prepopulated with the default columns.
392
Analyze Your Data Dashboards
Setting Description
To customize a table, the source report must be summary or matrix format and contain a
chart.
Table Columns Specify up to four columns to display in the table. Available columns can be any grouping or
summary field used in the chart. Update the report's chart or groupings to make more columns
available for the dashboard table.
Sort Ascending Sort the custom table in A-to-Z or smallest-to-largest order in a column. You can't sort on
second-level groupings.
Sort Sort the custom table in Z-to-A or largest-to-smallest order in a column. You can't sort on
Descending second-level groupings.
Show Total Display the total value for the chart. For a table, include the sum total for number and currency
summary fields.
Low Range Select a color to represent the low range, up to the first breakpoint.
Color
Breakpoint 1 The value that separates the low and middle range colors on the dashboard.
MIddle Range Select a color to represent the middle range, between the first and second breakpoints.
Color
Breakpoint 2 The value that separates the middle and high range colors on the dashboard. Breakpoint 2
High Range Select a color to represent the high range, beyond the second breakpoint.
Color
SEE ALSO:
Modify a Dashboard Component in Salesforce Classic
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
393
Analyze Your Data Dashboards
Important: This topic applies only if you're not using the dashboard builder. Dashboard builder is a drag-and-drop interface for
creating and modifying dashboards.
A dashboard shows data from source reports as visual components, which can be charts, gauges, tables, metrics, or Visualforce pages.
To customize a dashboard, view it and click Edit.
From the Dashboard Edit page, you can:
• See the running user for the dashboard in the Displaying data as field.
• Click Dashboard Properties to change the title, folder, running user, and more.
• Click Done to view the dashboard. All changes you make to the dashboard are saved as you make them.
• Click the Delete button to delete the entire dashboard.
• Click Add Component in any column.
• Click Narrow, Medium, or Wide to set a column's width. If your component is a pie or donut chart with Show Values or Show
Percentages enabled and Legend Position set to Right, the dashboard column width must be Wide for values and
percentages to show on the dashboard.
• Click Edit to modify component properties like the component type, display units, source report, and more.
• Click Delete to remove a component from the dashboard. Deleted components don't get stored in the Recycle Bin.
• Click a dashboard component or its elements to drill down to the source report, filtered report, record detail page, or other URL. If
you drill down on a filtered component, the dashboard filters are applied to the source report.
SEE ALSO:
Adding and Editing Dashboard Components in Accessibility Mode
Build a Salesforce Classic Dashboard
Set Dashboard Properties in Accessibility Mode
394
Analyze Your Data Dashboards
395
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Use the information in this topic if you are adding dashboard components in accessibility mode.
Important: This topic applies only if you're not using the dashboard builder. Dashboard builder is a drag-and-drop interface for
creating and modifying dashboards.
A dashboard shows data from source reports as visual components, which can be charts, gauges, tables, metrics, or Visualforce pages.
The components provide a snapshot of key metrics and performance indicators for your organization. Each dashboard can have up to
20 components.
To add a dashboard component:
1. Edit a dashboard.
2. Click Add Component from the top of any column and define component properties.
3. Choose the Custom Report to use for your dashboard. If you chose the Visualforce Page, or Custom S-Control
component, select a page or s-control and enter the display height. You can show a joined report that includes a chart on a dashboard.
Edit the joined report dashboard component and select Use chart as defined in the source report.
Note:
• Custom forecast and lead reports that you created using a standard report may not be available in the Custom Report
list.
• To use a tabular report on a dashboard, first limit the row count by setting the Rows to Display option, the sort
column, and the order on the Select Criteria page of the report. You can't use gauge or metric widgets on dashboards
using tabular reports.
4. Enter the appropriate settings for the component type you selected:Choose settings on the Formatting tab for the component type
you selected:
• Formatting Settings for Dashboard Bar Chart Components
• Formatting Settings for Dashboard Scatter Chart Components
• Formatting Settings for Dashboard Gauge Components
• Formatting Settings for Dashboard Metric Components
• Formatting Settings for Dashboard Table Components
396
Analyze Your Data Dashboards
5. Click Save.
Note: Metric components placed directly above and below each other in a dashboard column are displayed together as a single
component.
SEE ALSO:
Chart Types
Modify a Dashboard Component in Salesforce Classic
To create dashboards: Run Reports AND Create and Customize Available in: Salesforce
Dashboards Classic (not available in all
orgs)
To edit and delete dashboards that you Run Reports AND Create and Customize
created: Dashboards Available in: Group (View
Only), Professional,
To edit and delete dashboards that you Edit My Dashboards
Enterprise, Performance,
created in public folders:
Unlimited, and Developer
To edit and delete dashboards that you Manage Dashboards in Public Folders Editions
didn’t create in public folders:
Important: This topic applies only if you're not using the dashboard builder. Dashboard builder is a drag-and-drop interface for
creating and modifying dashboards.
The following settings can vary according to the component type you select.
Field Description
Component Type Select vertical or horizontal bar chart, line chart, pie or donut chart, table, metric, gauge,
Visualforce page, or custom s-control.
Display Units Choose a scale for displaying your chart values. For table components, this setting applies only
to the first column. For best results, choose Auto to let Salesforce select appropriate units.
Drill Down to Select what happens when users click a dashboard component:
• Source Report—Takes the user to the full source report for the dashboard component.
• Filtered Source Report—When users click individual groups, X-axis values, or legend entries,
they are taken to the source report filtered by what they clicked.
397
Analyze Your Data Dashboards
Field Description
For example, if you had a stacked vertical column chart of opportunities grouped by stage,
with months as the X-axis, you could click an individual stage in a bar, a month on the X-axis,
or a legend entry for a stage to drill down to the filtered source report. (Not available for
gauges, metrics, or tables.)
• Record Detail Page—When users click chart or table elements, axis values, or legend entries,
they are taken to the detail page for that record. You can only choose this option for tables
and charts that use a source report grouped by record name, record owner, or feed post.
(Not available for gauges or metrics.)
• Other URL—Takes the user to the URL that you specify. You can't add URLs that begin with
“mailto:” or “javascript:” to dashboard components.
Filtered and record detail page drill-down are disabled for dashboard charts with more than
200 values.
Drill Down URL Specify the URL that users go to when they click the dashboard component. Use this option to
send users to another dashboard, report, record detail page, or other system that uses a Web
interface.
SEE ALSO:
Modify a Dashboard Component in Salesforce Classic
Dashboard Component Types
Filter a Dashboard
Dashboard filters make it easy for users to apply different data perspectives to a single dashboard.
EDITIONS
Filtering rules apply to fields from the dashboard’s source reports. After filters are defined, a user
viewing the dashboard can select a filter to visualize the data of most interest. The filtered view is Available in: both Salesforce
remembered - the next time the user visits the dashboard, the same filtered view is shown. Classic (not available in all
For example, filters for a Global Sales Overview dashboard can allow users to visualize results for orgs) and Lightning
individual sales regions. Or a Cases Overview dashboard filter can allow users to visualize only the Experience
data for escalated cases. Available in: Essentials,
Each filter has a name, a filter operator, and up to 50 values. You can filter on text, numeric, date, Group (View Only),
and datetime fields and on picklists, lookups, and checkboxes. Professional, Enterprise,
Performance, Unlimited,
When you change filters on a dashboard, the dashboard shows previously cached data, if it exists.
and Developer Editions
If no data exists, the dashboard fetches the latest. Either way, the dashboard’s Last Refreshed date
shows you the timestamp for the data you’re viewing. To get the most recent data, click Refresh.
As you prepare to filter dashboards, keep these considerations in mind.
• Fields that are used in a dashboard filter must be included in the source report’s layout.
• You can’t add filters to dashboards that contain Visualforce or s-control widgets.
• You can’t filter on bucket fields, but you can use a source report that's filtered on a bucket field in your dashboard.
• Filters aren’t applied when you schedule or email a dashboard.
• Filtering isn’t supported for widgets created from a joined report chart.
• You can’t use custom summary formulas in dashboard filters.
398
Analyze Your Data Dashboards
• Filters aren’t applied in dashboard subscription emails. If you subscribe to a filtered dashboard, the emailed dashboard is displayed
without any filtering.
399
Analyze Your Data Dashboards
400
Analyze Your Data Dashboards
In Salesforce Classic, under Filter Options, select an operator and provide one or more values to filter by.
Note: If you create a filter on a text field using the equals operator, enclose any filter values that include a comma in
double quotes. For example, to filter on the Account Name Acme, Inc, enter the filter value "Acme, Inc".
5. In Lightning Experience, click Add. In Salesforce Classic, click OK. If equivalent fields are available for a widget, you can select which
one to use to filter the widget.
6. Save the dashboard and close the dashboard builder.
To apply the filter while viewing the dashboard, select a value from the filter’s dropdown list.
In Lightning Experience, to modify an existing filter, click . To delete an existing filter, click .
In Salesforce Classic, to modify or delete an existing filter, from the filter dropdown, select Edit Filter or Remove Filter.
SEE ALSO:
Equivalent Fields in Dashboard Filters
401
Analyze Your Data Dashboards
The default equivalent field that’s selected for the filter match is determined automatically for each component. But you can change
the default field for individual widgets as needed. For example, this dashboard has one widget based on the Accounts object, one based
on the Cases object, and one based on the Opportunities object. An Account Name filter was added.
To see which equivalent field is selected for the match in the widget, click .
402
Analyze Your Data Dashboards
For the widget based on the Accounts object, the default field for the Account Name filter is Account Name. If you change it to Parent
Account, then when a user applies the Account Name filter on the dashboard, this widget is filtered by Parent Account.
For the widget based on the Cases object, Account Name is the default field, but you can change it to Parent Account or Contact Account
Name.
For the widget based on Opportunities, Primary Partner is the default field, but you can change it to Account Name or Parent Account.
403
Analyze Your Data Dashboards
SEE ALSO:
Add a Dashboard Filter
USER PERMISSIONS
404
Analyze Your Data Dashboards
3. To see data unfiltered, from the filter dropdown, select Clear Filter or All.
405
Analyze Your Data Dashboards
https://MyDomainName.my.salesforce.com/lightning/r/Dashboard/01ZRM0000005jrv2AA/view?queryScope=userFolders&fv0=Closed%20Won&fv1=Acme
a. The & indicates a new parameter in the URL. If the base URL doesn’t already include a ? to indicate other parameters, use ?
instead of &.
b. fv0 — fv stands for "filter value." The number represents the order in which the filter appears in the dashboard. The first filter is
0, the second filter is 1, and the third is 2.
c. =Closed%20Won — Specifies the filter value. The parameter value must be URI encoded, which means that certain characters
(such as spaces) must be written in a format that URLs can understand. For the filter value “Closed Won”, the space (' ') between
"Closed" and "Won" becomes %20 when it’s URI encoded.
406
Analyze Your Data Dashboards
• You can’t change the field being filtered using URL parameters.
• You can assign at most one value per filter. For example, you can include fv0=Acme in a filter URL but not fv0=Acme&fv0=Universal.
• You can't add new filters to dashboards using filter value URL parameters. You can only modify existing filters.
• You can’t delete filters from dashboards using filter value URL parameters. Setting a blank value filters by no text or numerals, but
doesn’t remove the filter.
• Dashboard filter URLs aren't supported in Salesforce Classic.
Multiple Dashboard Views from a Single Source Report Available in: Essentials,
Group (View Only),
This sales pipeline dashboard visualizes the data from an Opportunities source report. By including
Professional, Enterprise,
filters, this single dashboard can provide a personalized view for each member of the sales team. Performance, Unlimited,
With the Opportunity Owner filter, the viewer can see the pipeline for each team member. Vertical and Developer Editions
sales managers can focus on prospects in a selected industry using the Industry filter. This one
dashboard works for the entire sales organization.
407
Analyze Your Data Dashboards
408
Analyze Your Data Dashboards
409
Analyze Your Data Dashboards
If Account Name is selected as the equivalent field for the filter, the funnel chart is filtered on the Account Name field when the filter is
applied.
410
Analyze Your Data Dashboards
If Parent Account is selected as the equivalent field and the same Account Name filter is applied, the funnel chart is filtered on the Parent
Account field and the results are different.
411
Analyze Your Data Dashboards
Because the privileges of the running user determine the data displayed in the dashboard, it’s possible to give dashboard viewers access
to more data than they normally have. For example, if the running user is an admin or an internal user, viewers could see personally
identifiable information (PII).
When setting the running user, users with View My Team’s Dashboards permission can view the dashboard as any user below them in
the role hierarchy. Users with View All Data permission can edit the dashboard and view it as any user in the organization.
A user with one of these licenses can’t view a static dashboard if the running user has a different license type.
• Chatter
• Force.com Lightning Platform
• Customer Community
• Partner Community
A user can’t view a dynamic dashboard if the dashboard creator or initial running user has a different license type. To allow visibility,
change the dashboard’s running user to a user with the same license type or grant the viewing user the Manage Dashboards in Public
Folders permission.
If a dashboard widget uses Visualforce, the running user’s permissions aren’t considered. The content displays only if the viewing user
has access to the Visualforce page.
Locale Considerations
If the running user and the viewer are in different locales, report content is presented based on the viewer’s locale. However, for a static
dashboard, the date/time fields use the running user’s locale. For a dynamic dashboard, date/time fields are localized depending on the
dashboard’s configuration.
These examples show how the viewing perspective can vary for users in different locales.
Data Context Running User Toni (in Viewing User Mia (in New Viewing User Sri (in India)
California) York)
Report 11 AM (PT) 2 PM (ET) 11:30 PM (IT)
412
Analyze Your Data Dashboards
Data Context Running User Toni (in Viewing User Mia (in New Viewing User Sri (in India)
California) York)
Dynamic dashboard (View 11:30 PM (IT) when viewing the 11:30 PM (IT) 11:30 PM (IT)
dashboard as another person, dashboard
Sri)
To create, edit, and delete dashboards created by you in a Run Reports AND Create and Customize Dashboards AND
public folder: Edit My Dashboards
To edit and delete dashboards that you didn’t create in a Manage Dashboards in Public Folders
public folder:
You can change the running user to control which data is visible to viewers.
1.
Edit a dashboard, and click to open the Properties menu.
2. Under View Dashboard As, select the running user.
Running User Visibility
Me You’re the dashboard creator, and any viewer sees data in the
dashboard according to your access to data.
For example, if you can see opportunities only in Canada, the
dashboard viewer only sees data about opportunities in Canada.
413
Analyze Your Data Dashboards
Another person The dashboard viewer sees data in the dashboard according to
the data access level of the person that you specify.
For example, if you choose someone who can see opportunities
from any country, the dashboard viewer sees data about
opportunities from all countries.
The dashboard viewer The dashboard viewer sees data based on their own access to
data. This type of dashboard is called a dynamic dashboard
because it changes based on the viewer’s privileges.
3. To enable viewers with appropriate user permissions to choose who they view the dashboard as, select Let dashboard viewers
choose whom they view the dashboard as. If the viewer has View My Team’s Dashboards permission, they can view the dashboard
as themselves or as anyone beneath them in the role hierarchy. If the viewer has View All Data permission, they can view the
dashboard as anyone.
4. Click Save, and from the Dashboard Builder, click Save again.
When a user opens your dashboard, they see data as the person that you specified.
Run as specified user The dashboard uses the security settings of the specified user.
All viewers with access to the dashboard see the same data,
regardless of their own security settings.
To see all available users, enter *.
Run as logged-in user The dashboard viewer sees data based on their own access to
data. This type of dashboard is called a dynamic dashboard
because it changes based on the viewer’s privileges.
If you don’t have Manage Dynamic Dashboards permission, you
can’t select this option.
4. To enable viewers with permission to change the running user on the dashboard view page, select Let authorized users change
running user.
414
Analyze Your Data Dashboards
5. Click OK.
6. For View dashboard as, enter a running user.
7. Save your changes.
Dynamic Dashboards
To provide individualized views of data without configuring separate dashboards and folders, create
USER PERMISSIONS
a dynamic dashboard. A dynamic dashboard shows each user only the data that they have access
to. To create, edit, and delete
dynamic dashboards:
Available in: Both Salesforce Classic and Lightning Experience • Manage Dynamic
Dashboards
Available in: Enterprise, Performance, Unlimited, and Developer Editions
You can also add filters to a dynamic dashboard to tailor the data displayed. For example, to let a sales manager view their reps’
performance collectively as well as individually, create an organization-wide sales scorecard that contains sales rep and product filters.
The sales manager can then also view sales by product to understand which products each rep is or isn’t selling.
Managers with View My Team’s Dashboards or View All Data permission can set an option to preview the dashboard from the point of
view of users under them in the role hierarchy.
You can have up to 5 dynamic dashboards for Enterprise Edition, 10 for Unlimited and Performance Editions, and 3 for Developer Edition.
Keep these considerations in mind when creating a dynamic dashboard.
• You can’t save a dynamic dashboard in a private folder.
• You can’t schedule refreshes for dynamic dashboards. They must be refreshed manually.
• Deleted dashboards that are in the recycling bin count toward the dynamic dashboard limit. A dashboard must be permanently
deleted to not count toward the limit.
• You can’t subscribe to a dynamic dashboard.
SEE ALSO:
Filter a Dashboard
Build a Salesforce Classic Dashboard
Create a Dynamic Dashboard in Salesforce Classic
415
Analyze Your Data Dashboards
1. To store the dynamic dashboard and corresponding source reports, create a dashboard folder
and a report folder from the Dashboards and Reports tabs. Share these folders with the intended audience.
2. On the Dashboards tab, create a dashboard or edit an existing one.
3. Next to View Dashboard as, click and select Run as logged-in user.
4. To let users change the dashboard’s running user, select Let authorized users change running user on the dashboard view page.
5. Click OK.
6. For View dashboard as, enter a running user.
7. Save your dashboard.
8. Set the appropriate Show option on the report run page.
For example, if you select My Team’s Opportunities, each viewer can see all opportunities for their team.
To avoid restricting the dashboard's view of the data, don’t include specific record owners in an advanced filter, such as Opportunity
Owner equals Frank Smith. When saving an opportunity report, don’t click Save Hierarchy Level.
SEE ALSO:
Add a Dashboard Filter
Dynamic Dashboards
Configure Dashboard Data Visibility in Salesforce Classic
416
Analyze Your Data Dashboards
417
Analyze Your Data Dashboards
4. Click Save.
The dashboard subscription starts, and recipients begin receiving dashboard results by email according to the schedule and conditions
you set. For considerations, review Reports and Dashboards Limits and Allocations on page 464.
418
Analyze Your Data Dashboards
• By default, Salesforce sends images in dashboard emails as .png (Portable Network Graphic) files, which are not supported in
Lotus Notes. When you enable the Use Images Compatible with Lotus Notes in Dashboard Emails
> option, Salesforce uses .jpg images, which Lotus Notes supports, when sending dashboard emails. The “Schedule Dashboard”
permission is required to view this option.
Note: Dashboard emails that contain images compatible with Lotus Notes are substantially larger and the image quality
can be lower.
c. Under Preferred Start Time, click Find available options... to choose a time.
The dashboard refresh runs within 30 minutes of your preferred start time. For example, if you select 2:00 PM, the refresh may
happen any time between 2:00 PM and 2:29 PM, depending on availability.
Note: Your preferred start time may not be available if other users have already selected it.
• If you schedule a dashboard to refresh on a specific day of every month, it only refreshes on months that have that specific day.
For example, if you schedule a refresh for the 31st of every month, the dashboard won't refresh on 30-day months. To refresh
on the last day of every month, choose “Last” from the On day of every month drop-down list.
• Dashboards won't refresh as scheduled if the running user doesn't have access to the dashboard folder.
• If a dashboard has filters, only the unfiltered version is refreshed.
• You can't schedule refreshes for dynamic dashboards. They must be refreshed manually.
5. Click Save.
To delete a scheduled dashboard refresh, click Refresh > Schedule Refresh > Unschedule Dashboard.
The scheduled refresh is permanently deleted, and not sent to the Recycle Bin. Deleting the scheduled refresh does not affect the
dashboard itself.
SEE ALSO:
Apply a Dashboard Filter
Refresh Dashboard Data
419
Analyze Your Data Dashboards
Linking from dashboard widgets helps viewers turn insights into actions.
1. Add a dashboard widget by clicking + Widget, or edit an existing one by clicking on the widget.
2. From the Add Component or Edit Component menu, in Custom Link, enter a link destination.
Important: Depending on whether you link to a destination in Salesforce or to another website, the destination you enter
in Custom Link must follow certain conventions. Unless you append https:// or http:// or www., the destination
you enter gets pasted to the end of your Salesforce org’s domain (for example,
https://MyDomainName.my.salesforce.com/). If you enter abc, then your component links to
https://MyDomainName.my.salesforce.com/abc. Appending https:// or http:// or www. lets
Salesforce recognize that you intend to link to a specific website.
This convention means that linking to heroku.com doesn’t take you to the Heroku website. Instead, it navigates you to
https://MyDomainName.my.salesforce.com/heroku.com. To navigate to the Heroku website, enter
https://www.heroku.com/.
3. If adding a widget, click Add. Or, if editing an existing widget, click Update.
4. Click Save.
After dashboard viewers expand your linked widget, they can visit the link by clicking .
420
Analyze Your Data Dashboards
421
Analyze Your Data Dashboards
2. While the dashboard data is being updated, the Refresh button changes to Refreshing. You can Available in: Essentials,
leave the dashboard and work on other things in Salesforce while the data refreshes. Group (View Only),
Professional, Enterprise,
Take note of these considerations.
Performance, Unlimited,
• If your dashboard data doesn't refresh after 10 minutes, the refresh automatically stops. If and Developer Editions
necessary, click Refresh again.
• Additional refreshes submitted during a refresh and up to 1 minute after the completion of a USER PERMISSIONS
refresh are ignored.
• In the Salesforce mobile app, Pull-to-Refresh doesn’t trigger a dashboard refresh. To refresh a To refresh dashboards:
dashboard, click Refresh. You receive a notification when the dashboard finishs refreshing. • Run Reports AND access
to dashboard folder
USER PERMISSIONS
To expand dashboard
widgets:
• Run Reports
422
Analyze Your Data Dashboards
423
Analyze Your Data Dashboards
To create dashboards: Run Reports AND Create and Customize Available in: Lightning
Dashboards Experience
To edit and delete dashboards that you Run Reports AND Create and Customize Available in: Essentials,
created: Dashboards Professional, Enterprise,
Performance, Unlimited,
To edit and delete dashboards that you Edit My Dashboards
and Developer Editions
created in public folders:
To edit and delete dashboards that you Manage Dashboards in Public Folders
didn’t create in public folders:
If a Lightning table column feels a bit cramped, you can resize it.
Resize a Lightning table column from the Edit Component preview or while reading a dashboard.
You can resize columns, but not rows.
When you resize a column, you don't resize it for other dashboard viewers.
Columns don't retain their sizes, so next time you open the dashboard you'll have to resize the column again.
1. Open the table that you want to resize.
2. Drag the edge of the column that you want to
.eziser
424
Analyze Your Data Dashboards
Organize Dashboards
Keep your dashboards at your fingertips by embedding them around Salesforce, printing them, or
EDITIONS
deleting dashboards that you don’t need anymore.
Available in: Salesforce
1. Embed Dashboards on the Home Tab and in Lightning Apps Classic (not available in all
Embed dashboards to surface insights right where people work. orgs) and Lightning
Experience
2. Change Dashboard Owner
Transfer dashboard ownership if responsibilities change or the current dashboard owner leaves Available in: Essentials,
your organization. The new owner has full control over the dashboard contents. You can change Group (View Only),
ownership of one or more dashboards at a time. You must have edit access to the folder that Professional, Enterprise,
Performance, Unlimited,
contains the dashboard. The new owner is granted edit access to the dashboard folder.
and Developer Editions
3. Print a Dashboard
Print dashboards using your browser’s print option.
4. Download a Dashboard to a PNG File
Download your dashboard as a PNG file that you can embed in presentations or refer to wherever you are.
5. Delete a Dashboard
It’s a good idea to delete dashboards that you no longer need.
6. Install the CRM Sample Dashboards from AppExchange
Use these dashboards from the AppExchange as a starting point for building dashboards that meet your business needs.
7. Install the Preconfigured Sales Cloud Dashboards from AppExchange
The preconfigured Sales Cloud dashboards and underlying reports are based on Sales Cloud objects and fields. Use these dashboards
to track key performance metrics for your executives, sales managers, sales reps, and other team members.
4. Give your app page or home tab layout a label. Then, click Next.
425
Analyze Your Data Dashboards
SEE ALSO:
Activate Lightning Experience Home Pages
426
Analyze Your Data Dashboards
4. To send an email notification to the new owner, select Send Email Notification.
5. Click Submit. USER PERMISSIONS
427
Analyze Your Data Dashboards
Print a Dashboard
Print dashboards using your browser’s print option.
EDITIONS
• Set the paper orientation to landscape so that it’s wide enough for all the columns of dashboard
widgets. Available in: both Salesforce
In Salesforce Classic, widgets are called components. Classic (not available in all
orgs) and Lightning
• If necessary, resize your columns. Experience
Note: As an alternative to using browser print in Lightning Experience, use the Download Available in: Essentials,
option to download a PNG image of the dashboard. Group (View Only),
Professional, Enterprise,
Performance, Unlimited,
and Developer Editions
USER PERMISSIONS
To print dashboards:
• Run Reports AND access
to dashboard folder
USER PERMISSIONS
To download dashboard
images:
• Run Reports AND access
to dashboard folder
428
Analyze Your Data Dashboards
Delete a Dashboard
It’s a good idea to delete dashboards that you no longer need.
EDITIONS
In Salesforce Classic, widgets are called components.
Available in: both Salesforce
Deleting a dashboard also deletes the widgets within it. However, the custom reports that the
Classic (not available in all
widgets use aren’t deleted.
orgs) and Lightning
Deleted dashboards are moved to the Recycle Bin. Experience
Note: Deleted dashboards that are in the Recycle Bin count toward the five dynamic Available in: Essentials,
dashboard limit. They must be permanently deleted from the Recycle Bin to not count toward Group (View Only),
the limit. Professional, Enterprise,
Performance, Unlimited,
To delete a dashboard in Lightning Experience:
and Developer Editions
• On the Analytics tab or the Dashboards tab, find the dashboard you want to delete and select
> Delete. USER PERMISSIONS
• Open the dashboard you want to delete and select > Delete.
To delete dashboards:
To delete a dashboard in Salesforce Classic: • Run Reports AND Create
and Customize
1. Click the Dashboards tab.
Dashboards (If the
2. Click Go To Dashboards List. dashboard is in a private
folder.)
3. Choose the folder where the dashboard is stored.
Edit My Dashboards (If
4. Click Del next to the name of the dashboard. the dashboard is in a
shared folder.)
Note: In Lightning Experience, if you restore a deleted dashboard from the recycle bin, it’s
converted to a Salesforce Classic dashboard. The grid is reset to the default Salesforce Classic To delete dashboards
layout. created by another user:
• Manage Dashboards in
Public Folders
429
Analyze Your Data Dashboards
1. In AppExchange, search for “Salesforce CRM Dashboards” and click Get It Now.
2. To install the sample dashboards, install the package.
USER PERMISSIONS
To install packages:
• Download AppExchange
Packages
USER PERMISSIONS
430
Analyze Your Data Dashboards
Click the icon to select the Slack workspace and channels where you want to share the dashboard. Optionally, type a message to
accompany your post.
Note: The maximum number of channels available within the Post to Slack dialog box is 1000.
The post appears in the channels that you selected. Click the dashboard name to go to the dashboard in Salesforce.
Or click View Details to see more and access the Share, Subscribe, and View Snapshot actions.
431
Analyze Your Data Dashboards
Note: View Snapshot runs the dashboard in the background and creates a screenshot .png file. If you share your snapshot, keep
in mind that others can see and share your personal view of your data.
SEE ALSO:
CRM Analytics for Slack
432
Analyze Your Data Dashboards
Note: Source reports refresh asynchronously. That means that when you refresh a dashboard, Salesforce queues each source
report to run and then runs them alongside any number of other processes.
Depending on its place in the queue, sometimes a dashboard with only one source report loads a little slower than a dashboard
with two source reports. Salesforce must sometimes update a case status, create an account, and send a batch of emails before
it can run your dashboard's source report.
Some reports take longer to run than others. A slow source report sometimes takes longer to run than two similar fast source
reports.
Sometimes refreshing a dashboard that has only one source report can result in multiple runs of the same source report.
Including dashboard widgets with different groupings, applying dashboard filters, and changing a dashboard's running user
can all cause the same source report to run multiple times. In these scenarios, having fewer source reports isn't necessarily
faster.
In general, dashboards with fewer source reports refresh more quickly than dashboards with lots of source reports.
SEE ALSO
• Build a Dashboard
• Edit and Customize Lightning Experience Dashboard Widgets
433
Analyze Your Data Dashboards
But what happens if many different people refresh the same dashboard all at the same time?
Salesforce limits the number of dashboard refreshes to 200 per hour per org. Even with this limit slow-running dashboards can cause
busier-than-necessary background process queues, forcing other people to wait. What if 200 people refresh a dashboard and the org
limit is reached? Because 200 people refreshed the same dashboard, the other team now must wait up to an hour to refresh theirs.
Salesforce remembers dashboard filter settings for each user. To apply user-specific filter settings, if someone refreshes a filtered dashboard
then the dashboard refreshes anew when anyone who has applied a dashboard filter opens it. Filtered dashboards are therefore especially
susceptible to reaching the 200 dashboard refresh per hour org limit.
Imagine a scenario in which 10,000 people refresh a dashboard that queues 10 source report runs. Theoretically, 10,000 x 10 = 1,000,000
reports run in the background, but because of the 200 refresh per hour per org limit, 200 x 10 = 2,000 background report runs. Even
with quick-running reports, that could take a while!
Instead of having lots of people refresh dashboards at the same time, subscribe to a dashboard. When you subscribe to a dashboard,
you set a schedule and set recipients. Salesforce refreshes the dashboard when you schedule it to and then sends the results to the
recipients by email. Salesforce caches the data. When people open the dashboard, they see up-to-date data as of the last scheduled
refresh and don't need to refresh it again.
1. From the Dashboards tab, click > Subscribe.
2. From the Edit Subscription menu, set a refresh schedule.
3. Under Send To, you’re automatically selected as a recipient. To add others or to remove yourself, click Edit Recipients. Only people
who have permission to access the dashboard are shown.
4. Select recipients and click Add.
5. Click Save.
The dashboard subscription starts and the dashboard refreshes according to the schedule you set.
For example, suppose that you refresh your opportunity overview dashboard each Monday morning. Instead of manually refreshing the
dashboard, subscribe to it and have it emailed to you and the entire sales team each Monday at 8:00 AM (1). By the time you sit down
at your desk at 9:00 AM, a recently refreshed dashboard is waiting for you.
434
Analyze Your Data Dashboards
SEE ALSO
• Refresh Dashboard Data
• Subscribe to or Schedule Dashboards
435
Analyze Your Data Report and Dashboard Folders
Say that you have one dashboard summarizing both opportunities and cases. Splitting the dashboard in to, one for opportunities
and one for cases means faster refreshing dashboards. Using a custom link, you can even link back and forth between dashboards
for easy navigation.
Here's how to link from one dashboard to another.
1. From the dashboard builder, edit a widget by clicking .
2. From the Edit Component menu, enter /lightning/r/Dashboard/dashboard_id/view, where dashboard_id
is the id of the destination dashboard.
To get the destination dashboard id, open the dashboard and copy the id from the URL. The entry for a destination dashboard
with the id 01ZRM0000005KO62AM is /lightning/r/Dashboard/01ZRM0000005KO62AM/view.
3. Click Update.
4. Click Save.
Now dashboard viewers can navigate from one dashboard to another with direct links.
SEE ALSO
• Link from Dashboard Widgets in Lightning Experience
• Visit a Link from a Dashboard Widget
436
Analyze Your Data Report and Dashboard Folders
• For example, to run a report you need access to the folder in which it's saved and the "Run Reports" user permission.
• The concept of shared or not shared folders is different from the concept of public and private folders:
– The reports or dashboards in a private folder are always invisible to everyone except the person who created the folder.
– The reports or dashboards in any folder that isn’t private are visible to everyone who has permission to view the reports or
dashboards. The following folder names are different in Salesforce Classic and Lightning Experience, but the folders are the same.
• The following folder names are different in Salesforce Classic and Lightning Experience, but the folders are the same.
Tip: If you’re not ready to share a report or dashboard, keep it in a personal folder that only Available in: Salesforce
you can access. The My Personal Custom Reports folder and the My Personal Dashboards Classic (not available in all
orgs) and Lightning
folder are already set up for you. Create more folders if you need them. When you create a
Experience
folder, it is accessible only to you and to users with administrative permissions, until you share
it. Available in: Essentials,
Group, Professional,
Enterprise, Performance,
1. Viewer Access to Report and Dashboard Folders
Unlimited, and Developer
Viewer access allows you to view the reports or dashboards in a folder, but doesn't determine
Editions
access to folder contents. Permissions set for the reports and dashboards themselves determine
your access to the contents. For example, if you have Viewer access to a reports folder and Available in: Enhanced
Create and Customize Reports permission to a report in the folder, you can rename or delete Folder Sharing and Legacy
the report. Folder Sharing
437
Analyze Your Data Report and Dashboard Folders
438
Analyze Your Data Report and Dashboard Folders
439
Analyze Your Data Report and Dashboard Folders
Delete a folder
Working with reports and dashboards requires user permissions in addition to folder permissions. For information about required user
permissions, see User Permissions for Sharing Reports and Dashboards.
SEE ALSO:
Enhanced Folder Sharing for Reports and Dashboards
Enhanced folder sharing When creating a folder, you specify only the name. The folder doesn’t carry any
special properties for visibility or type of access.
When creating a folder, you specify:
• Folder label: name
• Public folder access: read-only or read-write
• Folder visibility: accessible by all users, hidden from
all users, or accessible to specified groups and
roles.
440
Analyze Your Data Report and Dashboard Folders
When creating a folder, you specify the folder as When sharing a folder, on page 453 you specify View, Edit, or Manage access
read-only or read-write and assign it one of these for the selected users, groups, or roles, or a combination.
access types: Depending on user permissions, some users can do more than is indicated by
• Accessible by all users the access level that they’re granted when a folder is shared. See Permissions
• Hidden from all users for Reports and Dashboards on page 441.
• Accessible only to specified public groups, roles, The following table lists the capabilities for each access level.
and roles and subordinates
Share a folder
Delete a folder
Legacy Folder Sharing Enhanced Folder Sharing What you can do with this permission
in enhanced folder sharing
Manage Public Reports AND View Manage Reports In Public Folders Perform all Manage actions in Folder Access
All Data Capabilities in Enhanced Folder Sharing on
page 441 for all folders except others’ private
folders.
441
Analyze Your Data Report and Dashboard Folders
Manage Public Reports Create Report Folder AND Edit My Reports Create report folders. Perform all Manage
actions in Folder Access Capabilities in
Enhanced Folder Sharing on page 441 for
all folders that you create.
Edit, move, save, and delete reports that you
create. Save your reports to a shared folder,
even if you only have View access to the
folder.
Manage Dashboards AND View All Manage Dashboards In Public Folders Perform all Manage actions in Folder Access
Data Capabilities in Enhanced Folder Sharing on
page 441 for all folders except others’ private
folders.
Manage Dashboards in Public Folders also
includes these permissions:
• Create and Customize Dashboards
• Create Dashboards Folders
• Edit My Dashboards
• View Dashboards in Public Folders
Manage Dashboards Edit My Dashboards AND Create and Customize Edit, move, save, and delete dashboards that
Dashboard you create. Save your dashboards to a
shared folder, even if you only have View
access to the folder.
View All Data View Reports In Public Folders AND View Dashboards View the reports and dashboards in all
In Public Folders folders except the private folders of other
users.
Special Folders
The following folders are equivalent in legacy folder sharing and enhanced folder sharing. Only the names are different. Users who have
access to the legacy folders continue to have the same access after the upgrade to enhanced folder sharing.
Folder Name in Legacy Folder Sharing Folder Name in Enhanced Folder Sharing
442
Analyze Your Data Report and Dashboard Folders
For a legacy folder that has read-only or The following occurs after upgrading to enhanced folder sharing
read-write public access and is...
Accessible by all users The folder is shared with the public group All Internal Users. The group has
View access to the folder.
If the Customer Portal is enabled in your org, then All Customer Portal Users
and All Partner Portal Users also get View access to the folder.
Hidden from all users The folder isn’t shared with anyone. Users with View Reports in Public Folders
or View Dashboards in Public Folders permission can view the folder contents.
Users with Manage Reports in Public Folders or Manage Dashboards in Public
Folders permission can edit and manage the folder.
Accessible only to specified Public Groups, Roles, and The folder is shared with each group and role. The groups and roles receive
Roles and Subordinates View access.
Examples
These examples show how enhanced folder sharing works relative to legacy folder sharing.
Restoring Edit Access to a Report or Dashboard
In legacy folder sharing, Sally had the user permissions Manage Dashboards and View All Data, but Tim had only View All Data. Sally and
Tim built a dashboard that’s saved in a Read-Write folder. With enhanced folder sharing, Sally automatically has the user permissions
Manage Dashboards in Public Folders and Create Dashboard Folders. Tim only has the user permission View Dashboards in Public Folders.
Sally can view and edit the dashboard that she and Tim created, but Tim can only view it. Because Sally has Manage access to the folder,
she’s able to grant Edit access to him. The two can now continue to collaborate on the dashboard.
Uninterrupted Edit Access
Tara had the user permission Manage Dashboards in legacy folder sharing. She created and saved a dashboard in a read-write folder. In
enhanced folder sharing, Tara has the user permission Edit My Dashboards. She’s still able to edit her dashboard in the folder even though
443
Analyze Your Data Report and Dashboard Folders
she has only View access. She can also save any new dashboards that she creates in the folder. But she can’t edit anyone else’s dashboards
that are saved in the folder.
SEE ALSO:
Compare Access Levels for Report and Dashboard Folders
Access Levels for Report and Dashboard Folders
User Permissions for Sharing Reports and Dashboards
Hidden Folders
The following permissions apply to folders that have this visibility setting:
• This folder is hidden from all users
Access Level Permissions Needed to Access Read-Only Permissions Needed to Access Read/Write
Folders Folders
Read Both of the following: Both of the following:
• Run Reports • Run Reports
• View All Data • View All Data
444
Analyze Your Data Report and Dashboard Folders
Access Level Permissions Needed to Access Read-Only Permissions Needed to Access Read/Write
Folders Folders
Write New All of the following: All of the following:
• Run Reports • Run Reports
• Manage Dashboards • Manage Dashboards
• View All Data • View All Data
Shared Folders
Access Level Permissions Needed to Access Read-Only Permissions Needed to Access Read/Write
Folders Folders
Read Run Reports Run Reports
445
Analyze Your Data Report and Dashboard Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Any of the following: Any of the following:
• “View Reports in Public Folders” • “Run Reports”
• “Run Reports” • “Manage Public Reports”
• “Manage Public Reports” • “View All Data”
• “View All Data”
Hidden Folders
The following permissions apply to folders that have this visibility setting:
• This folder is hidden from all users
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Any of the following: “View All Data”
• “View Reports in Public Folders”
• “View All Data”
Note: The Hidden Folders setting is available only in organizations without enhanced sharing for reports and dashboards.
The equivalent for organizations with enhanced sharing for reports and dashboards is a folder with no sharing settings set,
that is, a folder that’s not explicitly shared with anyone.
Shared Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Any of the following: Any of the following:
• “View Reports in Public Folders” • “Run Reports” (for shared users)
• “Run Reports” (for shared users) • “Manage Public Reports” (for shared users)
• “Manage Public Reports” • “View All Data”
• “View All Data”
Write New “Manage Public Reports” “Create and Customize Reports” (for shared users)
446
Analyze Your Data Report and Dashboard Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Modify/Delete “Manage Public Reports” “Manage Public Reports”
SEE ALSO:
Enhanced Folder Sharing for Reports and Dashboards
Create Dashboard Folders Create dashboard folders and manage them if sharing
rights allow.
Create Report Folders Create report folders and manage them if sharing rights
allow.
Edit My Dashboards Edit, move, save, and delete dashboards that you created
in shared folders.
Edit My Reports Edit, move, save, and delete reports that you created in
shared folders.
Manage All Private Reports and Allow user to delete reports and dashboards from
Dashboards personal or private folders.
Manage Dashboards in Public Folders Create, edit, and delete dashboards,1 and manage their
sharing in all public dashboard folders. This permission
does not extend to others’ personal folders. This
permission allows users to edit and share dashboards in
all folders, including hidden folders. They also get these
permissions:
• Create and Customize Dashboards
• Create Dashboard Folders
• Edit My Dashboards
447
Analyze Your Data Report and Dashboard Folders
Manage Reports in Public Folders Create, edit, and delete reports, and manage their sharing in all public report
folders. This permission does not extend to others’ personal folders. This
permission allows users to edit and share reports in all folders, including hidden
folders. They also get these permissions:
• Create and Customize Reports
• Create Report Folders
• Edit My Reports
• View Reports in Public Folders
View Dashboards in Public Folders View dashboards in public dashboard folders. This permission does not extend
to others’ personal folders.
View Reports in Public Folders View reports in public report folders. This permission does not extend to others’
personal folders.
SEE ALSO:
Share a Report or Dashboard Folder in Salesforce Classic
Compare Access Levels for Report and Dashboard Folders
USER PERMISSIONS
448
Analyze Your Data Report and Dashboard Folders
USER PERMISSIONS
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home To create report folders:
• Create Report Folders
permission and manage
access for the root folder
in the tree
To create dashboard
folders:
• Create Dashboard
Folders permission and
manage access for the
root folder in the tree
449
Analyze Your Data Report and Dashboard Folders
Start typing the folder name in the Global Search box to see a list of matching names to select from, or press Return to see the matching
results.
If the folder you’re looking for doesn’t appear in the search results, click Show More on the left side of the page, and select Folders to
display the matching folders.
450
Analyze Your Data Report and Dashboard Folders
If the Folders object is already selected on the left side, the search options include searching only within Folders.
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home
451
Analyze Your Data Report and Dashboard Folders
Start entering text to see the list of matches within the selected scope.
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home
452
Analyze Your Data Report and Dashboard Folders
To display a favorite folder, select it from the Favorites list on the Analytics tab or the All Favorites list on the Reports or Dashboards
tab.
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home
3. From the Share With dropdown, select who you want to share with.
USER PERMISSIONS
4. For Name, enter the name you want to match. The name must match the category (such as user, group, or role). For example, if
you select User as the category, specify the name of a user.
5. Select the folder access level for the user, role, group, or territory.
453
Analyze Your Data Report and Dashboard Folders
Note: The Analytics tab doesn’t support sharing with partner roles. To share with a partner role, access the Share Folder
window from the Reports or Dashboards tab.
6. Click Share. The sharing setting is applied to the Who Can Access list. Continue to add entries as needed. You can share with users,
groups, roles, territories, or a combination. If a user is identified in more than one entity, the greatest permission is granted. For
example, a group is added with view only, but a user in the group is also added with edit or manage permissions. In this case, the
edit or manage permissions apply to that user. To delete a Who Can Access entry, click X to the right of the entry. To modify the
access level for an entry, select a new access level.
7. When you’re done, click X in the upper corner of the dialog box to close it and return to the page you were on.
454
Analyze Your Data Report and Dashboard Folders
The folder is now available on the Folders list for organizing your Lightning reports or dashboards.
SEE ALSO:
Manage Your Reports and Dashboards on Analytics Home
455
Analyze Your Data Report and Dashboard Folders
456
Analyze Your Data Report and Dashboard Folders
457
Analyze Your Data Report and Dashboard Folders
458
Analyze Your Data Report and Dashboard Folders
Share your folder by user, by user group, role, or by territory (1). Choose the access level you want each user, group, role, or territory to
have (2). Stop sharing the folder with the user, group, role, or territory (3).
SEE ALSO:
Access Levels for Report and Dashboard Folders
User Permissions for Sharing Reports and Dashboards
459
Analyze Your Data Report and Dashboard Folders
USER PERMISSIONS
460
Analyze Your Data Report and Dashboard Folders
USER PERMISSIONS
461
Analyze Your Data Report and Dashboard Folders
For example, suppose the VP of Sales role and its subordinates have Viewer access to a dashboard Available in: Group,
folder, while the role itself (VP of Sales) has Manager access. In this case, a user in the VP of Sales Professional, Enterprise,
role has greater control than someone with a role that’s lower in the role hierarchy. If the VP of Sales Performance, Unlimited,
leaves the company, whoever next assumes that role can manage dashboards in the folder. and Developer Editions
1. On the Reports tab, hover over a report folder in the left pane, click , and then select Share. Available in: Legacy Folder
Sharing
2. Select Roles or Roles and Subordinates.
• To give access to all users who have the role, select Roles.
USER PERMISSIONS
• To give access to those users plus everyone with a role below them in the role hierarchy,
select Roles and Subordinates. To share a report folder with
public groups:
3. Find the role you want, click Share, and choose a level of access. • Run Reports AND
4. Click Done, review your changes, and click Close. Manage Dashboards
OR Manage Reports in
Public Folders
To share a dashboard folder
with public groups:
• Run Reports AND
Manage Dashboards
OR Manage Reports in
Public Folders
462
Analyze Your Data Report and Dashboard Folders
Note: You need edit access to folders before moving items between them. Moving items Available in: Salesforce
using drag-and-drop isn’t supported in accessibility mode. Classic (not available in all
orgs)
Move a report or dashboard between folders by dragging them from the list view to a report or
dashboard folder on the Folders pane. Available in: Group,
Professional, Enterprise,
1. On the Reports tab list view, click and hold an item. Performance, Unlimited,
2. Drag the item to its destination folder in the Folders pane. and Developer Editions
As you drag an item across a folder, a green check mark indicates that the item can be moved Available in: Enhanced
into the selected folder. means that the item can’t be moved into the selected folder. Folder Sharing and Legacy
Keep the following in mind when moving items. Folder Sharing
463
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
Dynamic — Up to 5 Up to 10 Up to 3
dashboards per org
Reporting
— 200
snapshots per org
464
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
1
These allocations apply to the report builder. If you’re using the report wizard, the allocation is 10.
2
Up to 200 total.
3
Off-peak hours only, between 6 PM and 3 AM local time.
4
Limited to one preferred start time per day.
5
Limited to three preferred start times per day.
Salesforce retains historical data for the previous 3 months, plus the current month.
These limits, limitations, and allocations apply to all supported editions.
Report Limits, Limitations, and Allocations
• The report builder preview shows a maximum of 20 rows for summary reports (grouped by rows) and matrix reports (grouped
by columns), and 50 rows for tabular reports (no groupings).
• In Salesforce Classic, you can’t have more than 250 groups or 4,000 values in a chart. If you see an error message saying that your
chart has too many groups or values to plot, adjust the report filters to reduce the number. In combination charts, all groups
and values count against the total.
• In Lightning Experience, a report chart can have at most 2,000 groups. If a report has more than 2,000 groups, the action Combine
Small Groups into Others applies only to the small groups within the 2,000 that are included in the report chart. Any additional
small groups are ignored.
• If a report has more than 2,000 rows, the report chart doesn’t use the colors selected for picklist values in Object Manager. Instead,
the chart uses the system-generated colors. To reduce the number of rows, apply filters or hide details.
• Reports display a maximum of 2,000 rows. To view more rows, export the report to Excel or use the printable view for tabular
and summary reports. For joined reports, the printable view displays a maximum of 20,000 rows. The printable view is only
available in Salesforce Classic.
– Summary reports (grouped by rows) and matrix reports (grouped by columns) display the first 2,000 groupings when Show
Details is disabled.
– A matrix report with one summary formula can show a maximum of 400,000 summarized values, with up to 2000 rows and
200 columns. Each summary formula you add reduces the number of values, rows, and columns the report shows. For
example, with two summary formulas, the maximum decreases to 200,000 values in 1,414 rows and 141 columns. Three
summary formulas reduce the maximum results shown to 133,333 values in 1,154 rows and 115 columns.
– Matrix reports that return more than 2,000 rows don’t show details. If you click Show Details, nothing happens. You can
only view the report with details hidden.
– Because a matrix report includes multiple groupings, the maximum of 2,000 values is typically reported in fewer than 2,000
groups.
465
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
– Row counts and summaries can be inaccurate in a joined report with more than 2,000 rows, where one of the blocks takes
up most of the rows.
• Up to 5 metrics display in the Lightning Experience report header. Metrics such as summarized fields appear in the order that
they appear in the report, left to right. The grand total, when shown, always displays.
• When reports that have groupings are viewed in the Salesforce mobile app, they’re converted to tabular reports.
• The Salesforce mobile app supports a maximum of 25 report columns.
• By default, reports time out after 10 minutes.
• In a non-joined report, if you click a bar in a report chart, the report results are filtered according to the selected bar. In a joined
report, clicking a bar doesn’t apply the filter.
• When searching for reports, if you filter on a long text area field, such as Description or Solution Details, only the first 1,000
characters of the field are searched.
• Some filters, such as date range, are constructed using multiple custom filters, each of which counts toward the total of 20.
• You can enter up to 1,333 characters for filter criteria, including commas used as OR operators.
• Field-to-field filtering isn’t available on currency fields for orgs that have multiple currencies enabled.
• The first 999 characters in a standard rich text area or a long text area are displayed in a report. For custom fields, only the first
255 characters are displayed.
• Summary fields on tabular, summary, and matrix reports can display up to 21 digits.
• You can’t filter reports by custom long text area fields.
• Filter logic doesn’t support locked filters. If you apply filter logic to a locked filter, the lock is removed.
• Forecast reports include only opportunities that are set to close within the forecast period.
• The maximum value allowed for report metrics is 999999999999999. The minimum value allowed is -99999999999999.
• The State/Province picklist filter converts the selected state or province to a two-digit code (example: MO for Missouri). If a state
or province in another country covered by the report has the same code, for example, MO for Morales, Mexico, filtering on one
of the states or provinces can return data for the other.
• HTML code isn’t supported in report charts.
Dashboard Limits, Limitations, and Allocations
In Salesforce Classic, widgets are called components.
• A dashboard filter can have up to 50 values.
• Each dashboard can have up to 25 widgets, including a maximum of 20 charts and tables, 3 images, and 25 rich text widgets.
• A dashboard component can calculate up to 1,000 groupings. Aggregated totals only reflect the values in the first 1,000 groupings.
• Filtering is restricted in some dashboards that contain multiple components based on different report types.
– If a dashboard has a widget based on Cases or Leads and another widget based on a different report type, you can’t filter
the dashboard on the Case Owner or Lead Owner field. In addition, filtering on other Owner fields doesn’t display Case Owner
or Lead Owner as equivalent fields.
– If a dashboard has a widget based on the Tasks and Events, Activities with Accounts, or Activities with Contacts report type
and another widget based on a different report type, you can’t filter the dashboard on the Assigned field.
466
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
• Each Financial Services Cloud org includes 10 licenses for dynamic dashboards, which is in addition to the licenses that are
provided in your Salesforce edition.
• Each Enablement license add-on includes one additional dynamic dashboard.
• You can’t follow individual dashboard widgets in Lightning Experience.
• You can’t follow individual widgets in a dynamic dashboard.
• You can change ownership of up to 50 dashboards at one time.
Custom Report Type Limits, Limitations, and Allocations
• A custom report type can contain up to 60 object references. For example, if you select the maximum limit of four object
relationships for a report type, you can select fields via lookup from an extra 56 objects.
• If a user runs a report from a custom report type and the report has columns from more than 20 different objects, an error occurs.
• You can add up to 1,000 fields to each custom report type. A counter at the top of the Page Layout step shows the current
number of fields. If you have too many fields, you can’t save the layout.
• You can’t add these fields to custom report types:
– Product schedule fields
– History fields
– The Age field on cases and opportunities
• Custom report types based on the Service Appointments object don’t support these fields.
– Parent Record
– Owner
• Object references can be used as the main four objects, as sources of fields via lookup, or as objects used to traverse relationships.
Each referenced object counts toward the maximum limit even if no fields are chosen from it. For example, if you do a lookup
from account to account owner’s role, but select no fields from account owner, all the referenced objects still count toward the
limit of 60.
• Reports run from custom report types that include cases don’t display the Units dropdown list, which lets users view the time
values of certain case fields by hours, minutes, or days.
• Report types associated with custom objects in the Deleted Custom Objects list count against the maximum number of custom
report types you can create.
• Reports on feed activities don’t include information about system-generated posts, such as feed tracked changes.
• Custom report type names support up to 50 characters. If you enter a name that is longer than 50 characters, the name gets
truncated.
• Custom report type descriptions support up to 255 characters. If you enter a name that is longer than 255 characters, the name
gets truncated.
• When a lookup relationship is created for a standard or custom object as an Opportunity Product field, and then a custom report
type is created with that primary object, Opportunity Product isn’t available as a secondary object for that custom report type.
• To report on gender-related data, make sure that the top-level object in the report is Contact, Lead, or Person Account. For
example, a report with Campaign as the top-level object doesn’t have the GenderIdentity field available.
Joined Report Limits, Limitations, and Allocations
• Joined reports require that the new user interface theme is enabled. Users without the new theme are unable to create, edit, or
run joined reports.
• In a joined report, each block can have up to 100 columns. A joined report can have up to 5 blocks.
• When you add a block to a joined report and the block has multiple entities in common with the report, only the first entity, in
alphabetical order, is shown. Only the fields from the first entity are shown in the common fields area.
467
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
• You can add up to 10 custom summary formulas to each block in a joined report. A joined report can have a total of 50 custom
summary formulas.
• Each joined report can have up to 10 cross-block custom summary formulas.
• You can add the chart from a joined report as a dashboard widget, but you can’t add the full report. Filtering isn’t supported for
widgets with a joined report chart.
• Internet Explorer 6 isn’t supported for joined reports.
Reporting Snapshot Limits, Limitations, and Allocations
• The maximum number of rows that you can insert into a custom object is 2,000.
• The maximum number of runs that you can store is 200.
• The maximum number of source report columns that you can map to target fields is 100.
Cross Filter Limits, Limitations, and Allocations
• Each report can have up to 3 cross filters.
• Each cross filter can have up to 5 subfilters.
• Filter logic applies only to field filters, not cross filters.
Embedded Report Charts Limits, Limitations, and Allocations
• You can have two report charts per page.
• You can only add report charts from the enhanced page layout editor. The mini console and the original page layout editor
aren’t supported.
• In Lightning Experience, embedded report charts display the source report table’s groupings, not the report chart’s. In Salesforce
Classic, embedded report charts display the source report chart’s grouping, not the report table’s groupings.
• On detail pages, users can refresh up to 100 report charts every 60 minutes.
• Your org can refresh up to 3,000 report charts every 60 minutes.
Bucket and Bucket Field Limits, Limitations, and Allocations
• Each report can include up to 5 bucket fields.
• Each bucket field can contain up to 20 buckets.
• Each bucket can contain up to 20 values.
• Bucket fields are available for use only in the report where they’re generated. To use a bucket in multiple reports, create the field
for each report, or create a separate formula field for the object that’s dependent on the bucket.
Note: These limits don’t apply to the use of Other as permitted within the bucket field’s setup.
• Buckets and bucket fields aren’t available for reports that include external objects.
• If a bucket field’s source column has a custom index, and you filter by the bucket field, then the performance gains from the
custom index are lost.
• You can add a report with a bucket field to a dashboard, but you can’t filter on the field that’s bucketed.
Historical Trend Report Limits, Limitations, and Allocations
• Salesforce retains historical data for the previous 3 months, plus the current month.
• Up to 5 million rows of historical trending data can be stored for each object. Historical data capture stops when the limit is
exceeded. The admin is alerted by email when any object reaches 70 percent of the limit, and again if the limit is exceeded.
• Each historical trend report can contain up to 100 fields. In Opportunities reports, the fields include standard preselected fields,
which can’t be disabled.
• For historical trend reports in Lightning Experience, you must set the snapshot date as the primary row grouping.
468
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
469
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
1. Users
2. Roles
3. Roles and subordinates
4. Groups
Each time the subscription sends an email, the recipients are chosen again. They can be different each time that the subscription
email is sent.
For example, a subscription has 100 recipients: 98 users, 1 role that includes 500 users, and one group that includes 400 users.
The total number of users associated with the subscription is 998. When the subscription email sends, 98 users from the role
don’t receive subscription emails and none of the 400 users in the group receive emails.
• Each Salesforce org can schedule up to 500 dashboard subscriptions and 500 report subscriptions on a given hour of a given
day, such as Monday at 9:00 AM.
Report Subscription Limitations
• A file attachment for a report subscription is limited to 15,000 rows, 30 columns, and 3 MB. Extra data is clipped or not sent.
• A Lightning Experience report subscription doesn’t support these features:
– Historical trending reports
– Joined reports
– Conditional highlighting. You can subscribe to reports with conditional highlighting, but conditional highlighting doesn’t
appear in the subscription email.
– Images specified in custom formula fields
470
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
SEE ALSO:
Reports and Dashboards: What’s Different or Not Available in Lightning Experience
Limits
• When you export a report with a date/time field using the Formatted Report option, the field in the exported report shows only the
date, not the time. To include the time information, add a row level formula field or custom formula field.
• Sometimes reports with lots of rows and columns can take a few minutes to export. If a report takes 10 minutes to export, the export
times out and fails. However, a report export with fewer than 100,000 rows and 100 columns can also time out due to performance
issues. If a report export times out, create a copy of the report. Filter both reports so that they each return half the data of the original.
Then export each report.
• A user can export up to five reports at once. Formatted report exports from Lightning Experience don’t count against this limit.
• You can’t export historical trending reports.
Considerations
• When exporting a report to a .csv file, the locale settings on your user detail page determine the field separator (delimiter) included
in the exported file. For example, if your locale setting is English (United States), then the field separator is a comma (“,”). If your locale
setting is French (France), then the field separator is a semicolon (“;”).
• Excel doesn’t display the field separator in CSV format. To work with a CSV file in Excel, set your locale in Salesforce to match your
Regional Options setting in Windows.
• A joined report always exports as a formatted report. A joined report export can have up to 20,000 rows.
Reports and Dashboards: What’s Different or Not Available in the Salesforce Mobile
App
Find out more about when to use reports, dashboards, and charts in the Salesforce Mobile App.
471
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
Reports
Considerations When Using Reports in the Salesforce Mobile App
Groupings When you view a report with groupings, the groupings are
displayed as columns at the end of the report.
Report Formats Reports that are grouped by rows (summary) or rows and
columns (matrix) are displayed without the groupings. Joined
reports aren’t available.
Conditional Highlighting You can’t view reports that show conditional highlighting.
Filters When you open a report from the Reports tab, you can't filter
the report.
When you tap a dashboard widget to open the source report,
you can filter the report by tapping a value on the chart. If the
source report is a tabular or joined report, then you can’t filter it.
472
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
Dashboards
Considerations When Using Dashboards
Charts
Other Notes about Using Charts
• Report charts are available only after drilling into a dashboard widget’s report. Report charts aren’t available from the Reports
tab.
• Embedded report charts don’t link to the source report.
473
Analyze Your Data Report and Dashboard Limits, Limitations, Allocations, and
Technical Requirements
concurrent users for shared hardware like virtual desktops. In Lightning Experience, page load times can be captured using Lightning
Component Debug Mode, or by appending ?eptVisible=1 to your URL.
https://myDomainName.lightning.force.com/one/one.app?eptVisible=1
Technical Requirements
For the fastest and most stable experience, we recommend:
• An Octane 2.0 score of 30,000
• Network latency of 150 ms or lower
• Download speed of 3 Mbps or higher
• At least 8 GB of RAM, with 3 GB available for Salesforce browser tabs
Minimum requirements are:
• An Octane 2.0 score of 20,000
• Network latency of 200 ms or lower
• Download speed of 1 Mbps
• At least 5 GB of RAM, with 2 GB available for Salesforce browser tabs
Based on our lab tests, the minimum requirements result in 50% slower page load times and login load times versus the recommended
specifications. Users that use over 1,000 records a day are more likely to have their browser tab crash when using the minimum
requirements due to memory limits.
To get your Octane 2.0 score, latency, and download speed, append speedtest.jsp to your org’s domain.
https://MyDomainName.lightning.force.com/speedtest.jsp
We recommend running this test on the same hardware, network, physical location, and browser as your users. For virtual environments,
such as VDI, run all tests from within that virtual environment.
474
Analyze Your Data Explore Data and Take Action with CRM Analytics
475
Analyze Your Data Explore Data and Take Action with CRM Analytics
Get Started
Get To Know CRM Analytics Personalize Your Experience Take Actions & Share
CRM Analytics Home Overview Watchlist: Quick Look
Take Action from CRM Analytics
CRM Analytics Basics Subscriptions: Quick Look
Converse with Your Data Collaborate with Annotations
Home Page Actions
Filter & Take Action within CRM Analytics
Present Live Dashboards
Learn What You Can Do with CRM
Save Your Filtered View of a
Analytics
Dashboard Set & Send Smart Notifications
Run Apps
Favorite Assets in CRM Analytics Share Dashboards, Widgets, & Lenses
Dashboard Navigation Basics Home
Download & Share Images & Data
Curate and Share Insights with
Collections Create PDFs & Print Dashboards
476
Analyze Your Data Explore Data and Take Action with CRM Analytics
Enable CRM Analytics Features About Datasets Prepare & Load Data into Datasets
Integrate Local & Remote Data with Recipes & Dataflows
Get Started with Data Prep
Bring in External Data
Customize Dataset Fields & Values
Bring in Data with Connectors Add Data in a Recipe
Connect to External Data
Apply Transformations in a Dataflow
Bring in Salesforce Data with Dataset
Builder
477
Analyze Your Data Explore Data and Take Action with CRM Analytics
Develop & Package Apps on the Platform Set Up CRM Analytics for Mobile
CRM Analytics App Template
Development Supported Features for iOS & Android
478
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Explain, Predict, and Take Action with Einstein Discovery
479
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Converse with Your Data
Learn to Explore Data
Build CRM Analytics Dashboards
Create and Share CRM Analytics Apps to Give Business Users a Big Data Picture
480
Analyze Your Data Get Started Using CRM Analytics
Warning: If you perform a query that aggregates measures—like sum or group by—and the resulting value exceeds the maximum
for a numeric field (36,028,797,018,963,967), the value overflows and CRM Analytics returns an incorrect result.
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions. Like measures,
dimensions also have names (region) and values (northeast). Time is usually considered a dimension rather than a measure.
481
Analyze Your Data Get Started Using CRM Analytics
What Is a Dashboard?
A CRM Analytics dashboard is a collection of widgets that work together to tell a data story from multiple angles. Depending on what
you want the dashboard to show or how to behave, you can add different widgets, such as key performance indicators, charts, tables,
filters, and images.
When you share CRM Analytics data via a dashboard, you’re setting up your audience members to do some exploring of their own,
without turning them loose on the whole dataset.
One use of a dashboard is to provide a focus for your audience. A dataset can contain vast amounts of data. Some of that data is relevant
to specific questions that your audience has; some of that data is irrelevant noise. Data that’s critical to one set of questions is sometimes
noise in relation to another set of questions.
Keep in mind that even though we call it a dashboard, we’re actually doing much more with this interface than we do with a traditional
dashboard in a car. This dashboard doesn’t only tell us what’s changed; it invites us to dig deeper into the underlying data. It’s like using
the speedometer in a car to tell us not just how fast we’re going but how our speed has changed at various points in our trip, how traffic
conditions ahead of us are changing, and how those changes affect our arrival time.
You read a Salesforce CRM Analytics dashboard interactively by clicking its displayed elements. Every element is a picture of a live, filtered
query.
Selection-Based Filters
A selection-based filter lets you apply whatever filters you wish while viewing the dashboard. For example, set the minimum and
maximum values in a range widget to make the dashboard show the amounts that fall within that range. These types of filters are often
tied to each other so that you can progressively drill deeper. For example, use one filter to look at sales of a product. Then use the next
to filter sales by region. Finally, use another to filter sales by account. The dashboard shows the results based on all three filters. Dashboard
482
Analyze Your Data Get Started Using CRM Analytics
selections automatically reset each time you change a query grouping. There are different types of selection-based filter widgets: date,
list, range, toggle, and charts.
Charts
A rich variety of charts shows you data from multiple angles. Many parts of a chart are interactive. For example, click a bar in a bar chart
and watch what happens. Clicking a bar filters the query that the bar chart represents. Your revision changes other values in this chart,
values in other charts, and number displays.
Tables
A table provides the record-level details. For example, a chart can show you a performance summary for each region, but the table can
show you the opportunity-specific details. You can sort tables to show the top and bottom records. You can also create calculated
columns in tables to compute values based on existing data.
483
Analyze Your Data Get Started Using CRM Analytics
The middle panel (2) shows a visual representation of the query results. You can display the results as a chart or table. When in chart
mode ( ), you can choose which chart type to use—CRM Analytics offers many. In table mode ( ), you can display the dataset
records as a values table or create calculated fields and display them in a compare table. And, yes, pivot tables are also possible.
The right panel (3) shows the visualization properties—configure them to modify the appearance of the chart or table. For instance,
you can remove the legend, change the axis scale, or add a title. To view this panel, click .
If you’re more advanced, write your own custom queries using Salesforce Analytics Query Language (SAQL) notation. In SAQL mode
( ), you have more flexibility to write robust queries, like ones that span multiple datasets or have modified query limits. For example,
if the results are sorted in descending order, you set the limit to 5, and click Run Query, the query returns only the top five accounts.
484
Analyze Your Data Get Started Using CRM Analytics
485
Analyze Your Data Get Started Using CRM Analytics
Because of built-in dashboard interactivity, you don’t have to add more queries to ask follow-up questions. For example, to focus on an
individual’s performance, select the rep’s donut chart in the leader panel on the left. CRM Analytics filters the dashboard results based
on the selected rep. Behind the scenes, CRM Analytics modifies the underlying queries, filtering the results to get the specific rep’s
opportunities.
If the dashboard can’t be used to answer a question, hover over a dashboard component and click Explore to create a new query based
on the same dataset.
486
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Manage Queries for Widgets
To change the query, add measures, groupings, and filters to the Measures, Group by, and Filter by boxes. To represent the results as a
different chart type, click . To represent the results as a table or to create calculated fields based on existing fields, click . If you’re
more advanced and want a more robust way to create SAQL queries, click to manually enter the query.
487
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Explore and Visualize Your Data in CRM Analytics
488
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
To access Analytics:
• Use CRM Analytics
If you don’t see the Analytics tab, ask your admin to set it up like any new tab.
489
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
490
Analyze Your Data Get Started Using CRM Analytics
l ba T
The business user path, generally for those with Use CRM Analytics permission, leads to ready-to-explore dashboards and lenses in
curated apps. For this path, work in the CRM Analytics tab to run apps and collaborate with coworkers over dashboards.
The builder path, generally for those with permission to create CRM Analytics assets, leads to ready-to-explore datasets and ready-to-edit
apps, dashboards, and lenses. For this path, work in the CRM Analytics Studio to browse your assets and build new ones.
This table summarizes the differences between the Analytics tab in Salesforce and the Analytics Studio.
Create
Annotate
Set Notification
Watchlist
Collections
Favorite
Edit
Full Screen
Clip to Designer
491
Analyze Your Data Get Started Using CRM Analytics
Save
Share
Delete
This table details the differences in behavior and functionality between the Analytics tab in Salesforce and the Analytics Studio.
App actions Browse; Share; Open in Analytics Studio; Add to Collection; Run App; Share; Favorite
on home Favorite
page tile or
list entry
Actions on Run App; Tile/List View; Share Create; Run App; Tile/List View; Share; Delete
the Browse
App page
492
Analyze Your Data Get Started Using CRM Analytics
Dashboards
Dashboard Share; Open in Analytics Studio; Add to Collection; Favorite Edit; Share; Delete; Add to Collection; Favorite
actions on
home page
tile or list
entry
Lenses
Lens actions Share; Open in Analytics Studio; Add to Collection; Favorite Share; Delete; Add to Collection; Favorite
on home
page tile or
list entry
Datasets
493
Analyze Your Data Get Started Using CRM Analytics
Note: Actions are available depending upon user permissions and app sharing access.
494
Analyze Your Data Get Started Using CRM Analytics
These filters enable one-click access to both run and browse actions, as well as other actions if appropriate for the item.
Relevant timestamps are provided depending on the item. Use the Last Modified By and Created By filters to locate items created by
you or shared with you. Use the Last Modified On and Created On filters to locate recent items or to search by a custom date.
Search
Search in CRM Analytics lets you choose your path to the analytics you want, whether that’s traditional keyword search, semantic (data
match) search, or natural language querying.
In the search bar, enter search terms or ask a question about your business. You don’t have to know the type of search because CRM
Analytics gives you options, but here are general guidelines:
• For a keyword search, enter words from the name of the item.
• For semantic search, enter specific sObject or dataset fields. For more information, see Find Dashboards and Datasets by Field Using
Semantic Search on page 499.
• For natural language querying, enter any question about your business data. For more information, see Get Data Answers While You
Search with Ask Data for Salesforce on page 500.
Note: The Ask Data for Salesforce service is enabled by default in production orgs with 1,000 or more reports and active use
of the Analytics Home page. The service is also available for Full sandboxes upon request. If you’ve fewer than 1,000 reports
but you want to try Ask Data for Salesforce, contact Salesforce Support.
Depending on what you enter in the search field, the Search page can have two sections: Search results that are keyword matches, and
recommended top insights based on the data selected to answer your question.
To open the Keyword Results page, click View All. Access the full list of results or continue with keyword searching. Filter using the
options at the top. To go back to the main Search page, click Search in the page title.
If you have Recommended Insights, click the arrows to explore recommendations based on different datasets. You can also see more
about the data, select a different dataset, and give feedback. To open the Insights page, click More Insights. Work with the recommended
top insight (1) to map your natural language to data fields and values, and adjust the data that was selected to answer your question
(2). The Insights page also has the recommended next best insights section (3), a prediction service that suggests ideas for further
exploration with additional and related groupings of the data.
495
Analyze Your Data Get Started Using CRM Analytics
Take action from any insight. Click Share to post to Chatter, export to Quip, or download the insight. Click Explore to open
the insight in lens mode, where you can change the visualization. If you’re in Analytics Studio, you can also save it or clip it to a dashboard.
To open the Data Match page, enter semantic search terms in the search bar. To learn more about semantic search, see Find Dashboards
and Datasets by Field Using Semantic Search on page 499.
496
Analyze Your Data Get Started Using CRM Analytics
Or start typing and press Enter to see a page of found resources. To narrow the search results to only CRM Analytics lenses and dashboards,
click Analytics Apps or Analytics Dashboards in the left panel. From the results, you can click to run the item in the Analytics tab.
497
Analyze Your Data Get Started Using CRM Analytics
Smart Recommendations
The CRM Analytics home page surfaces lists of items suggested for you based on your usage and your org, and the lists are dynamic
and update automatically as you work. Two of the lists employ CRM Analytics intelligence and unique view of your org to pinpoint
your important analytics, show what’s currently popular, and increase discoverability of analytics you haven’t seen before.
Find Dashboards and Datasets by Field Using Semantic Search
Uncover CRM Analytics items beyond just those matching exact keywords. Semantic search boosts searching with a behind-the-scenes
view of object fields and dataset columns across all your org’s data. You can ask to see dashboards using specific sObject or dataset
fields, or ask for datasets containing specific sObject fields. Semantic search inspects all your data, but the search results are tailored
for you, adhering to user access, sharing rules, and row-level security.
Get Data Answers While You Search with Ask Data for Salesforce
Answer your own data questions with intelligent, self-service analytics directly on the CRM Analytics home page. Ask Data for
Salesforce learns your business vocabulary and finds the right data to answer natural language questions. It provides automatically
generated data visualizations, smart recommendations of related analytics items, and suggestions for the next best data explorations.
All of these features work together to make it easy and fun to discover data insights.
Smart Recommendations
The CRM Analytics home page surfaces lists of items suggested for you based on your usage and your org, and the lists are dynamic and
update automatically as you work. Two of the lists employ CRM Analytics intelligence and unique view of your org to pinpoint your
important analytics, show what’s currently popular, and increase discoverability of analytics you haven’t seen before.
Smart recommendations appear as soon as you start working in CRM Analytics, if your org has multiple people using dashboards. If you
haven’t used CRM Analytics in your org in the past month, some lists don't appear. After you’ve started searching and querying, CRM
Analytics learns what to recommend.
498
Analyze Your Data Get Started Using CRM Analytics
Note: Recommendations adhere to CRM Analytics user sharing rules and row-level security. Smart recommendation cards show
only dashboards that you can access.
• Jump Back In lists dashboards you viewed lately that are also popular with colleagues in your org. The dashboards are listed in
most viewed order, providing insight into what people with usage patterns similar to yours are viewing.
• Discover New Items lists dashboards you haven’t seen but could be relevant to you, based on their popularity over the last 30 days.
If colleagues are viewing them, these dashboards could have insights for you.
499
Analyze Your Data Get Started Using CRM Analytics
• To list dashboards using the Opportunity.Amount dataset field, enter dashboard dataset-field:Opportunity.Amount
• To list datasets containing the case.CaseNumber sObject field, enter dataset object-field:case.CaseNumber
Get Data Answers While You Search with Ask Data for Salesforce
Answer your own data questions with intelligent, self-service analytics directly on the CRM Analytics
EDITIONS
home page. Ask Data for Salesforce learns your business vocabulary and finds the right data to
answer natural language questions. It provides automatically generated data visualizations, smart Available in CRM Analytics
recommendations of related analytics items, and suggestions for the next best data explorations. in Salesforce Classic and
All of these features work together to make it easy and fun to discover data insights. Lightning Experience.
Note: The Ask Data for Salesforce service is enabled by default in production orgs with 1,000 CRM Analytics is available
or more reports and active use of the Analytics Home page. The service is also available for for an extra cost in
Full sandboxes upon request. If you have fewer than 1,000 reports but you want to try Ask Enterprise, Performance,
Data for Salesforce, contact Salesforce Support. and Unlimited Editions. Also
available in Developer
Discover insights across all your org’s data using your own natural language. Ask Data for Salesforce
Edition
uses machine learning to understand your question and locate the data that has your answer. Get
immediate answers to your data questions and stay in the flow of analysis. Answers are presented Available with the CRM
as Search Insights--charts, tables, or metrics--and as a list of dashboards related to the data. Analytics Plus license.
Start by asking a question
In the search bar on Analytics Home, start typing a question about your business. The search bar menu opens with suggested recent
searches, search results, fields, values, data, and data queries. If you see what you’re looking for in the search bar menu, you can select
it there. Or, keep typing and then press Enter. For more information, see What Questions Can You Ask? on page 506.
View Recommended Insights on the Search page
The Search page returns insights based on the top datasets that Ask Data for Salesforce identified as best answering your question. Click
the arrows to explore recommendations based on different datasets.
500
Analyze Your Data Get Started Using CRM Analytics
The insights show your question turned into a data query and an automatically generated visualization or metric. Part of the process is
identifying the best data to answer your question. Click See more about the data to view details that can help you determine if an
insight is using the data that you want. You also get a list of dashboards that use the data, where you can find additional, prebuilt
explorations of your question.
Did you find a helpful insight? Give us feedback about it. Click Great Insight, and Ask Data for Salesforce remembers the dataset to use
the next time that you ask the same question. Click Needs Work to improve the insight by selecting another dataset.
501
Analyze Your Data Get Started Using CRM Analytics
502
Analyze Your Data Get Started Using CRM Analytics
503
Analyze Your Data Get Started Using CRM Analytics
In the Data Used for Insights panel, you can also click the confidence level on a dataset to view more information about it. Confidence
is determined by algorithm scores for data matches, popularity measures, and natural language interpretation. The dataset details and
related objects could help you to verify that we’re using the data you expect.
504
Analyze Your Data Get Started Using CRM Analytics
505
Analyze Your Data Get Started Using CRM Analytics
In the menu, the field with a checkmark is the one used in the data query configured from your question. Each time you or anyone in
your org selects a field or value to associate with a word or phrase, Ask Data for Salesforce learns your business’s language. The numbers
next to some fields indicate how many times people in your org have associated them with the highlighted word. These numbers can
help you make the right selection.
Note: Any word in your question can be associated with a data element. You can also select more than one word and assign the
phrase to a data element.
What questions can you ask?
506
Analyze Your Data Get Started Using CRM Analytics
Build a question by identifying the data you’re interested in and what you want to narrow in on. Say you want to know about your sales
this month in Iowa. You can simply type sales by product this month Iowa into the search bar, and Ask Data for Salesforce
can identify the dataset that includes monetary amounts, dates, and geographical locations.
In addition, with the word “sales,” you’ve specified the sum of the amount. With the words “by product,” you’ve specified grouping the
data into product categories. With the words “this month,” you’ve asked for the data to be filtered by date. And with the word “Iowa,”
you’ve also filtered or narrowed down the data by location. Ask Data for Salesforce can take it from there to locate the correct data and
apply your query.
Use this chart as a guide for the types of questions to ask.
Filtering ==, !=, >, <, >=, <= Numerical filters such as “sum of sales > $2,000” or
between x and y, over, above, greater than, more “prices between $10 and $20”
than, below, under, less than, fewer than Scope filters such as "Smith’s opportunities"
this, last, next, previous, current (relative to now) Relative date range filters such as “incidents in current
and previous FQ” or “cases last week”
Keep in mind
If no measure is specified in a question, the results are aggregated by count of rows.
507
Analyze Your Data Get Started Using CRM Analytics
If a date increment isn’t specified in a date-related question, the default is "year". For example, "my deals by close date" is interpreted as
"my deals grouped by close date year".
Shortened values like "1K" or "2B" aren’t supported.
What questions can’t you ask?
These types of questions aren’t supported in Ask Data for Salesforce.
Comparison Over Time How many cases closed YTD? Week over week, year over year?
508
Analyze Your Data Get Started Using CRM Analytics
509
Analyze Your Data Get Started Using CRM Analytics
• Character-based and right-to-left languages aren't supported in Ask Data for Salesforce.
• Sort by, limit, absolute date range filters, trending, functions, and formulas aren’t supported.
• The time zone feature isn’t supported.
• Word associations (synonyms) and observations of query interpretations are saved in standard Salesforce objects. Admins with
correct permissions can export and delete synonyms and observations.
• The same data governance that you expect from Salesforce is built into Ask Data for Salesforce. Security and sharing rules are fully
respected. All models are built specifically for each Salesforce org and only that org. Your data never leaves our secure data centers.
• Ask Data for Salesforce services don’t impact your org limits for data or API usage.
SEE ALSO:
Enable Search Insights (Ask Data for Salesforce)
2. Next to the app name, click the arrow and select Run App.
The app opens in a tab in presentation mode, displaying the first dashboard or lens on your navigation list.
From the running app, you can:
• Present full screen
• Share
• Set and manage notifications
• Subscribe to widgets and lenses (if you have permission)
• Annotate dashboard widgets
• View exploration history
• Print
• Open dashboards in the dashboard designer to edit them on page 1405 (if you have permission and access)
510
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
To favorite items:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
Customize
Dashboards
511
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
To email additional
recipients:
• Add Recipients to CRM
3. In the Notifications panel, enter a name for your notification, if needed. Analytics Notifications
512
Analyze Your Data Get Started Using CRM Analytics
4. Set the value that you want to know about as soon as your widget query returns it. Depending on the chart, the panel provides
relevant options to select for creating a notification. You can include up to four groupings. If the chart has multiple measures, select
the one you want from the list of options.
For example, if you wanted to know when your team has reached 75% of quota, you’d click Set Notification on the Quota Attainment
number widget. In the Notifications panel, you’d select Equals or is greater than from the dropdown list and enter 75 for the
threshold value.
Notifications read roughly like a sentence. For example, “Notify me when any channel’s sum of open cases is less than 20.” Or, “Notify
me when any product or reason count of cases is greater than 30.”
5. Select the frequency and time when you want the query to run.
6. If the dashboard is in a shared app, then you can add people to your email distribution list. Click Edit Recipients to add users who
have access to the dashboard.
7. Test your notification on the spot with Save and Run, or simply click Save.
A tracking tile appears in the Notifications section of your CRM Analytics home page.
513
Analyze Your Data Get Started Using CRM Analytics
When the conditions you’ve set for the notification are met, you get the message on the tile. You’re also notified via email, and in CRM
Analytics and Lightning Experience, the bell icon ( ) alerts you with a number in red.
In CRM Analytics, the dropdown list from the bell includes the option to open the Manage CRM Analytics Notifications dialog box. You
can also manage notifications on the dashboard. The bell icon with the plus ( ) opens the All Notifications panel and shows numbers
in blue ( ) on widgets that have notifications. In the All Notifications panel, each notification has a dropdown action list for editing
and deleting the notification.
Clicking the link in a notification email, the notification manager, or a notification tile on your CRM Analytics home page, takes you to
the dashboard view relevant for the notification. You immediately see the dashboard page with your filters and selections, and with the
notification set up in the side panel. If you want to make any changes, click the Edit button. In edit mode, you can also activate or
deactivate the notification, and select whether to show the tracking tile on the CRM Analytics home page.
Take note of these considerations for CRM Analytics notifications.
• Each user can set up to 10 notifications.
• Notifications are available on all widgets except timeline charts and values tables.
• A notification is based on a snapshot of the query behind the widget. If the dashboard is later edited, the notification isn’t automatically
updated. The notification continues to use the query as it was at the time when the notification was set.
• For queries with groupings, all results are evaluated for the notification criteria, not just the first row.
• Notifications for widgets with queries based on results bindings aren’t supported, including dynamic widget titles.
• Notifications for widgets based on SOQL, Apex, Salesforce Direct, and CRM Analytics Direct queries, such as direct queries on Salesforce
objects, CDP, Snowflake, and Google BigQuery, aren’t supported.
• Notifications aren't supported in dashboards that were created in orgs enabled with CRM Analytics Time Zones.
• If a notification is created in the Analytics Studio, the link in the notification email opens the dashboard in Analytics Studio. If a
notification is created on an embedded dashboard or in Analytics Tab, the link in notification email navigates the user to the Analytics
Tab.
514
Analyze Your Data Get Started Using CRM Analytics
• Notification tracking is available in the CRM Analytics app for iOS, but it isn’t available in the CRM Analytics app for Android or in the
Salesforce mobile app.
• Notification tracking tiles use flat gauge or bar chart visualizations to show progress toward the conditions set in the notifications.
The tiles are separate from the dashboard and don’t use the dashboard’s chart types and widget properties.
• Adding recipients doesn’t create personal notifications for them. The added recipients don’t get in-app notification via the bell icon,
and they don’t see the notification on their home page. Recipients get the notification email sent from the email address of the user
who set up the notification.
• Once added to the notification email distribution list, recipients can’t remove themselves and must ask the email sender to be
removed.
• If a notification is on a widget that's based on a SAQL query or a compare table, and filters have been applied, the filters aren’t listed
in the Notifications panel.
4. Enter a title for the subscription, and click Subscribe. The subscription appears in the To subscribe to tables and
receive email with table data
Subscriptions panel.
in attached .csv files:
That’s it! All subscriptions arrive together in one email. • Download CRM
Analytics Data
Here’s more you can do with subscriptions.
• When viewing a dashboard, click the envelope ( ) to open the Subscriptions panel and show
numbers in blue ( ) on widgets that have subscriptions.
• To view the filters on a widget subscription, click the subscription tile in the dashboard Subscriptions panel.
515
Analyze Your Data Get Started Using CRM Analytics
Note: Filters in SAQL queries aren’t listed in the Subscriptions panel but are referenced as “custom.”
• To see a preview of your subscription, click Subscriptions on the CRM Analytics home page and select Widget Subscriptions. In
the Subscription Preview, click the title of a subscription to go to its dashboard or lens.
• In the Subscription Preview, you can arrange the order of your subscriptions. Newly subscribed widgets and lenses are added last
by default. To reorder subscriptions, use the arrow buttons and actions in the menu next to the title. You see the new order in the
Subscription Preview immediately and in your subscription email when it next arrives in your inbox.
• To take action from the Subscription Preview, open the menu on the chart or table.
516
Analyze Your Data Get Started Using CRM Analytics
Note: When you subscribe to a table, the Subscription Preview shows the first rows of the table and you can scroll to see
succeeding rows. The subscription email body contains a placeholder for the table and a .csv file of the table data is attached.
• To change the frequency or timing of subscription emails, click Edit on the Subscription Preview.
• To delete a subscription, select Delete from the menu on the subscription in the Subscriptions panel of the dashboard or lens. To
remove an item from the Widget Subscriptions in the Subscription Preview, select Delete from the menu next to the title of the
widget or lens. You can also delete all Widget Subscriptions from the menu at the top of the Subscription Preview.
517
Analyze Your Data Get Started Using CRM Analytics
518
Analyze Your Data Get Started Using CRM Analytics
• If a subscription is based on a SAQL query or a compare table, and filters have been applied, the filters aren’t listed in the Subscriptions
panel.
SEE ALSO:
Subscribe to Multiple Shared Collections
Enable Downloading Data from CRM Analytics
Secure Image Sharing and Downloading
USER PERMISSIONS
To manage a watchlist:
• Use CRM Analytics
2. Add a dashboard item to the Watchlist. Each user can save up to 20 metrics to their Watchlist.
a. Open the dashboard that contains the item to watch.
b. Locate the item’s dashboard widget.
c. Click the widget dropdown menu and click Add to Watchlist.
d. Type in name for the Watchlist metric.
e. Under Change Format, click the radio button to define how changes are tracked.
f. Click Save.
519
Analyze Your Data Get Started Using CRM Analytics
3. Delete a Watchlist metric. You have the control to remove metrics from the Watchlist when they’re no longer needed.
a. On the Watchlist, click the metric dropdown menu.
b. Click Delete from the menu.
c. Click Delete on the confirmation screen.
520
Analyze Your Data Get Started Using CRM Analytics
4. Edit a Watchlist metric. Watchlist metric properties can be modified at any time.
a. On the Watchlist, click the metric dropdown menu.
b. Click Edit from the menu.
c. Make changes to the metric.
d. Click Save.
5. Get item information from a Watchlist. Watchlist metrics also include last snapshot date, snapshot frequency, date metric was added,
and source dashboard.
a. On the Watchlist, click the metric dropdown menu.
b. Click Show Details from the menu.
c. Click the X to close the Show Details window when finished.
6. Changing metric order. You can organize Watchlist metrics in any desired order. This is especially useful when viewing metrics from
My Analytics.
a. Click the Watchlist tab from CRM Analytics home.
b. Click Change Order at the bottom of the metrics listing.
c. Click and hold a metric, and drag it to its new position.
d. Release the metric.
e. Click Save.
521
Analyze Your Data Get Started Using CRM Analytics
• The Watchlist can only display an item’s metric value starting from the time it was added.
• If access to a dashboard is lost, then restored, your metric remains on the Watchlist but it doesn’t fill in any gaps.
522
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
Create a Collection
Create collections of important items to personalize the home page and have quick access to To use a collection:
them. • Legacy Folder Sharing
Add Items to a Collection Run Reports AND
Curate analytics items for your collection. Items can exist simultaneously in multiple collections. Manage
Dashboards
Preserve and Share CRM Analytics Dashboard Views in a Collection
Enhanced Folder
Create dashboard views with selected filters and options then add them to your collections to Sharing
share a specific view of the dashboard with others. Run Reports AND
Share a Collection Create and
Customize
Curate a collection and share it with your colleagues to contribute content. Dashboards
Pin and Hide a Collection
To use a collection with CRM
End users can pin and hide their collections giving them more options with customizing their Analytics items:
homepage. Admins and managers have the option to pin collections to end-user homepages • Use CRM Analytics
and promote trusted content among groups and teams.
Edit Collections
You can edit your collection properties, such as name and description, and also delete the collection altogether. Shared users with
the Manager role can also edit and delete the collection.
Arrange Items in a Collection
Organize items in your collection to your liking.
Remove Items from a Collection
Easily remove items that are no longer relevant from a collection.
Add Collections to Lightning Pages
Insert and display collections to your Lightning pages using the CRM Analytics Collection component.
Subscribe to Multiple Shared Collections
Subscribe to collections of lenses and receive a daily or weekly email with updates on your most important charts and metrics, and
table data in .csv attachments. Subscribe to as many as four collections that you created or that were shared with you. Each
collection subscription has its own schedule for when you receive CRM Analytics email.
523
Analyze Your Data Get Started Using CRM Analytics
Create a Collection
Create collections of important items to personalize the home page and have quick access to them.
EDITIONS
1. Click the + on the left of the home page.
Available in: Lightning
Experience
USER PERMISSIONS
To create a collection:
• Legacy Folder Sharing
3. Type in a description in the Description field.
Run Reports AND
4. Click the Color dropdown menu to color code your collection for display on the home page. Manage
5. Click Save. Click Cancel to start over. Dashboards
Enhanced Folder
Note: Each user can have up to 100 collections. You can delete one of your collections Sharing
when the limit is reached. Run Reports AND
Create and
Customize
Dashboards
524
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
To manage a collection:
• Legacy Folder Sharing
c. Click the + next to the item you want to add to your collection. Run Reports AND
Manage
d. Click the Save. Dashboards
2. Add items to an existing collection. Enhanced Folder
Sharing
a. Open your collection. Run Reports AND
b. Click Add. Create and
Customize
c. Type in at least two characters in the search bar to locate an item. Filter search results by Dashboards
adding more characters to your search.
To manage a collection with
d. Click the + next to the item you want to add to your collection. CRM Analytics items:
e. Click the Save. • Use CRM Analytics
525
Analyze Your Data Get Started Using CRM Analytics
b. Select the view you want to add to the collection: Default adds the dashboard in its original form to a collection, Current View
adds the dashboard view with applied filters and menu selections.
c. To add the dashboard, select the collection or click Create Collection to start a new one.
d. Click Save.
5. Add a collection item to another collection. Collection items can exist in multiple collections.
a. Open your collection.
b. Click the action menu next to the item in the collection.
a. Click Add to Collection then click the collection. You can also click New Collection to create a collection and add the item
there.
SEE ALSO:
Preserve and Share CRM Analytics Dashboard Views in a Collection
526
Analyze Your Data Get Started Using CRM Analytics
4. Select the view you want to add to the collection: Default adds the dashboard in its original USER PERMISSIONS
form—without filters or menu selections, Current View adds the dashboard view with applied
filters and options. To manage a collection:
• Use CRM Analytics
5. Select one or more collections or click Create Collection to start a new one.
6. Click Save.
Note: Updates to the dashboard definition, such as changes to the layout, widget, or query, are reflected in the dashboard view
with exception of the following.
• If initial filter selections are changed the selections aren’t reflected if a user navigates to the dashboard through a dashboard
view from a collection.
• A similar behavior can be expected when a dashboard component’s default landing page is updated.
527
Analyze Your Data Get Started Using CRM Analytics
Share a Collection
Curate a collection and share it with your colleagues to contribute content.
EDITIONS
1. Open a collection.
Available in: Lightning
2. Click the Share button.
Experience
USER PERMISSIONS
To use collections:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
4. Type in a name in the User field. Click the match that it finds. Customize
5. Assign a role by clicking the Role dropdown menu. Dashboards
6. Click Add.
7. Click Save.
528
Analyze Your Data Get Started Using CRM Analytics
3. Pin or hide a collection for another end user. Requires the Manage Analytics user permission.
a. Open a collection.
b. Click the Share button.
529
Analyze Your Data Get Started Using CRM Analytics
c. Use the Group dropdown menu to filter your search by user, group, or role.
d. Type in a name in the User field. Click the match that it finds.
e. Assign a role by clicking the Role dropdown menu.
Collection Roles
Viewer View contents of the collection.
f. Click Add.
g. Click the Pin to Home checkbox. To hide a collection that’s already pinned, you can uncheck Pin to Home to remove the
collection from the end user’s home page.
530
Analyze Your Data Get Started Using CRM Analytics
h. Click Save.
Edit Collections
You can edit your collection properties, such as name and description, and also delete the collection
EDITIONS
altogether. Shared users with the Manager role can also edit and delete the collection.
1. Edit a collection. Available in: Lightning
Experience
a. Open a collection.
b. Click the dropdown menu and click Edit. Available in: Essentials,
Group, Enterprise,
Professional, Unlimited,
and Developer Editions.
USER PERMISSIONS
To manage a collection:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
d. Click Save. Run Reports AND
Create and
2. Delete a collection.
Customize
a. Open a collection. Dashboards
b. Click the dropdown menu and click Delete. To manage a collection with
c. Click Delete again to confirm your action. CRM Analytics items:
• Use CRM Analytics
531
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
To manage a collection:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
Customize
Dashboards
532
Analyze Your Data Get Started Using CRM Analytics
3. Click Remove from Collection. The item is immediately removed from the collection. USER PERMISSIONS
To manage a collection:
• Legacy Folder Sharing
Run Reports AND
Manage
Dashboards
Enhanced Folder
Sharing
Run Reports AND
Create and
Customize
Dashboards
533
Analyze Your Data Get Started Using CRM Analytics
To add a collection to a
Lightning page:
• Use CRM Analytics
534
Analyze Your Data Get Started Using CRM Analytics
1. Click the collection on the CRM Analytics home page. Available with CRM
2. Arrange the collection so that it’s in the order you want. The first 20 lenses are included in the Analytics, which is available
for an extra cost in
subscription.
Enterprise, Performance,
3. Select Subscribe in the menu. and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
Note: Lenses created using Salesforce Analytics Query Language (SAQL) appear as charts and tables in the email. If a lens isn’t in
SAQL format, the email provides only the link to view the lens within CRM Analytics.
To see a preview of your subscription, click Subscriptions on the CRM Analytics home page and select your collection. In the Subscription
Preview, click the title of a lens to open it in lens mode.
To take action from the Subscription Preview, open the menu on the chart or table.
Note: When you subscribe to a table, the Subscription Preview shows the first rows of the table and you can scroll to see succeeding
rows. The subscription email body contains a placeholder for the table and a .csv file of the table data is attached.
To change the frequency or timing of subscription emails, go to Subscriptions on the CRM Analytics home page, select your collection,
and click Edit.
535
Analyze Your Data Get Started Using CRM Analytics
To delete your subscription to a collection, select Delete from the menu on the Subscription Preview.
536
Analyze Your Data Get Started Using CRM Analytics
• When creating collections for others to subscribe to, save your lenses in SAQL format and be sure that users have access to them.
SEE ALSO:
Curate and Share Insights with Collections
Get Scheduled Updates with Email Subscriptions
537
Analyze Your Data Get Started Using CRM Analytics
How does it work? The conversational auto-suggestions are based on fields in the available datasets. To see which datasets are
open for conversational exploration, look for the purple hexagons ( ). For a lens, click Fields to view the available fields to ask
about. For a dashboard, if the suggestions don’t include the words you expect, click Add Dataset to expand your exploration.
What kinds of questions can you ask? Question are built with measures and dimensions from your data combined with keywords,
such as “show me” and “by.” Typically, measures are aggregated and dimensions are grouped to show meaningful information.
Filters are applied to narrow the focus of the question.
Example Conversational Queries
538
Analyze Your Data Get Started Using CRM Analytics
unit price and shipping cost by product family between 10000 and 100000
show me industry
What if my question doesn’t include a measure? When no measure is specified, the response is aggregated by count of rows.
What if I don’t get a chart? Sometimes your question isn’t phrased properly and you see a red error message. In that case, try using
the auto-suggestions to help rephrase your question. Sometimes you’ve asked a valid question but no results are returned. Try a
wider filter or a different group. For more about what to type, see the following tables.
Filters (By dimension values) for, in/equals, not in/not equals, contains,
top, bottom, without, filter out, exclude (for multiple values, use
commas and parentheses, for example “(v1, v2, v3)”)
(By measure ranges) with, equal, =, greater than, >, less than, <,
between, top, bottom
(By relative date ranges) today, tomorrow, yesterday,
current/next/previous/last, year, quarter, month, week, day (for full
list, see Relative Date Filters)
Question words show me, show the, what is, what are
Shortcuts that depend on your dataset deal, lead conversion, time to close, win rate (for more information,
see Shortcuts)
539
Analyze Your Data Get Started Using CRM Analytics
Fiscal Quarter Current FQ, Current and Next FQ, Current and Previous FQ, Next FQ, Previous
FQ, Current and Next 3 FQ
Calendar Year Current CY, Previous CY, Previous 2 CY, 2 CY Ago, Next CY, Current and
Previous CY, Current and Previous 2 CY, Current and Next CY
Calendar Quarter Current CQ, Current and Next CQ, Current and Previous CQ, Next CQ, Previous
CQ, Current and Next 3 CQ
Calendar Month Last Month, This Month, Next Month, Current and Previous Month, Current
and Next Month
Day Yesterday, Today, Tomorrow, Last 7 Days, Last 30 Days, Last 60 Days, Last 90
Days, Last 120 Days, Next 7 Days, Next 30 Days, Next 60 Days, Next 90 Days,
Next 120 Days
Shortcuts
lead conversion rate total leads divided by converted Leads dataset that includes “lead conversion rate by rep last
lead ("isConverted"=true) "IsConverted" dimension month (Created Date)”
closed, won, lost (filters) "isClosed"=true; “isWon”=true; Opportunities dataset that “amount won last month (Close
“isWon”=false includes “isClosed” and “isWon” Date)”
Tip: If you’re curious about how a question is translated into a query, open the chart in lens mode and click SAQL Mode ( ).
Take the following into consideration:
• Conversational exploration requires the CRM Analytics Platform permission set license. It isn’t available in embedded dashboards,
mobile apps, Experience Cloud sites, or standalone CRM Analytics apps, such as the Sales Analytics app.
• Admin setup is required.
• Conversational exploration is available only in the dashboard designer, the lens, and running apps.
• Some advanced functions aren’t supported.
• The time zone feature isn’t supported.
540
Analyze Your Data Get Started Using CRM Analytics
• If you have more than one dataset open in lens mode, conversational exploration is disabled.
SEE ALSO:
Enable Conversational Exploration
Secure Image Sharing and Downloading
1. To create a view, open the dashboard in view mode, make your selections, and click Save View.
The saved view includes all selections that you made to the current page in list, toggle, range, date, chart, compare table, and global
filter widgets.
Note: In the CRM Analytics mobile app, you can access saved dashboard views, toggle between saved views, and share links
to different views, but managing and saving views aren’t supported.
2.
To remove your changes to a dashboard or view, including selections, click .
When you open a view and change a selection, an asterisk appears next to the view name to indicate that it’s been modified. When
you change a selection while viewing a dashboard without a view, Modified appears. In either case, you can save the current selections
as a new view or overwrite an existing one.
3. To remove the view applied to a dashboard so you can view the original dashboard, click Clear View in the view menu.
4. To set your default view or delete a view, click Manage Views.
5. To share your view with others, open the view and select Share > Get URL.
When users open the link, they see your view of the dashboard. If they want, they can save it as one of their own views.
541
Analyze Your Data Get Started Using CRM Analytics
CRM Analytics can’t display all view criteria for these cases.
• CRM Analytics ignores selections and filters that no longer apply to the dashboard. For example, CRM Analytics ignores references
to datasets, fields, field values, and steps that no longer exist. These issues arise when the dashboard or data changes but the view
isn’t updated.
• If a view includes a selection on a widget that doesn’t exist in a layout, CRM Analytics ignores the selection. A view applies to all
layouts defined in the dashboard.
• If a view is created based on a dashboard page that has since been deleted, CRM Analytics shows the view based on the first page
defined for the dashboard.
542
Analyze Your Data Get Started Using CRM Analytics
Hidden assets display a transparent state giving app managers an at-a-glance view of an asset’s status. Asset status is also available
in the asset tooltip.
As an app manager, the asset visibility settings go beyond the shared app and impact other areas of CRM Analytics for app members
with Viewer status. Consider the following before updating asset status.
Analytics Studio
• Hidden assets aren’t available in CRM Analytics Home, which includes Recent Dashboards, Favorites, Created by Me, Shared with
Me
• Hidden assets can’t be browsed, seen in All Items, or any other list
• Hidden assets don’t appear in search results, including pop-over and the full search results page
• Users can access hidden dashboards that are embedded (included in a Salesforce page or report)
• If the dashboard is embedded users can add items from a hidden dashboard to a watchlist
• Users receive a “Resource not found” error while navigating to a hidden source dashboard from watchlist or notification
543
Analyze Your Data Get Started Using CRM Analytics
• Users can define notifications and subscriptions using items from a hidden dashboard that’s embedded
Analytics Tab
• Hidden assets aren’t available in Recents
• Hidden assets don’t appear in a search’s most recently used (MRU) pop-over
• Access is blocked to hidden assets in Salesforce global search results, including pop-over and the full search results page
Salesforce Mobile
• Users can access hidden dashboards that are embedded in a Salesforce page
Asset Types
• Asset visibility can be managed for datasets, lenses, and dashboards
544
Analyze Your Data Get Started Using CRM Analytics
Important: Although you can @mention anyone in your org, your security setup is what controls access to the dashboard. In
contrast, if you include a screenshot, an image of the dashboard appears in the annotation’s Chatter post and could be visible to
users without access the dashboard.
CRM Analytics dashboard annotations are natively integrated with Chatter, and comments on dashboards also appear as Chatter posts.
Clicking the link included in a Chatter post opens the dashboard view just as it was set up at the time you posted. In addition, the
Annotations panel opens with the relevant Chatter feed. When colleagues click your annotation, they see the dashboard page with all
of your filters and selections applied, and they can easily respond in the Annotations panel.
On an open annotation, you can refresh the feed or close the annotation and go back to the list of all annotations in the dashboard.
In the dashboard panel, each annotation has a dropdown menu for resolving or deleting the annotation.
545
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Enable Annotations on Dashboard Widgets
Secure Image Sharing and Downloading
During the presentation, you can use all the CRM Analytics functionality, such as filtering, faceting, Available with CRM
and exploring lenses. In addition, the presentation has a control bar. You can share, set notifications, Analytics, which is available
and collaborate in a dashboard’s feed with annotations. for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To move to another dashboard or lens, click next to the title to open the navigation list and select the next asset to present.
546
Analyze Your Data Get Started Using CRM Analytics
2. Click the tab for the sharing method that you want. Post to Feed posts an image and link in
Chatter. Export to Quip publishes an image in a new Quip document. Get URL provides a
USER PERMISSIONS
unique URL to the asset.
a. If you’re posting to Chatter, select User or Group feed, enter the name, and then type your To view visualizations:
comment. You can also remove the image from your post by hovering over it and clicking • Use CRM Analytics
the X. Note: Posted images could be visible to users without access the lens or dashboard.
b. If you’re exporting to Quip, and you’re not already connected, click Connect to Quip and then click Publish. Note: After
publishing a CRM Analytics snapshot, other Quip users in your org can view the data in the image, including confidential data.
c. If you’re getting the unique URL, select the link to the Analytics tab in Lightning Experience or the link to the Analytics Studio.
Copy the link and then paste it wherever you want to share it.
Tip: Dashboard links shared from Analytics Studio can include views with selections and filters applied. To generate a URL
with page and view specifications, either use Get URL or remove the image from Post to Feed by hovering over the image
and clicking the X.
Note: For colleagues to use the link to a dashboard or lens, you must give them access to the app that contains it. Lenses,
datasets, and dashboards within the default Shared App are accessible to all CRM Analytics users, unless administrators have
restricted access. All other apps are private unless someone with Manager access to the app has shared it with a specific user,
group, or role.
SEE ALSO:
Download CRM Analytics Images and Export Filtered Data
Secure Image Sharing and Downloading
547
Analyze Your Data Get Started Using CRM Analytics
License Requirements
To publish Tableau Cloud and Tableau Server views to CRM Analytics, these licenses must be provisioned.
• Creator or Explorer (can publish) license for Tableau
• CRM Analytics Plus license or CRM Analytics Growth license
Version Requirements
To publish Tableau Server visualizations, Tableau Server users must install Release 2022.3 or higher.
548
Analyze Your Data Get Started Using CRM Analytics
3. Grant users access to the CRM Analytics apps and dashboards that they’ll publish Tableau Cloud and Tableau Server content to.
Alternatively, users can create a blank app or dashboard and publish Tableau views to it.
549
Analyze Your Data Get Started Using CRM Analytics
3. Click Connect to Salesforce and specify the Salesforce credentials that you want to use for publishing.
4. In the Publish to Salesforce dialog box, select the destination app that you want to publish the Tableau view to, and then click
Publish.
550
Analyze Your Data Get Started Using CRM Analytics
If you remove a view from CRM Analytics, it’s still available in Tableau. But, when you delete a view from Tableau, the published view no
longer shows any data in Salesforce. We recommend that you remove the view from CRM Analytics when you no longer need it.
To see a published Tableau view embedded in a Lightning page, users need access to the Tableau view. To see the Tableau view in a
CRM Analytics dashboard, users need access to both the Tableau view and the CRM Analytics app to which it’s published.
Publishing Tableau Cloud and Tableau Server views to CRM Analytics mobile apps isn’t supported.
551
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
Embed Tableau Views into Salesforce
552
Analyze Your Data Get Started Using CRM Analytics
Follow steps 1 through 4 outlined at the beginning of this document to create the parameter.
Select Static in the Value Type menu, then type San Diego in the text field. Click Save.
553
Analyze Your Data Get Started Using CRM Analytics
Note: Only text strings are supported. The values must exist in the Tableau field and follow the field format.
To filter an array of values, separate each value with a comma, then click Use values in an array.
554
Analyze Your Data Get Started Using CRM Analytics
Note: The first value is used in the filter if Use values in an array isn’t checked.
The view is filtered with the city values of San Diego and Los Angeles.
Dashboard stakeholders are requesting to update the view as needed by customer segment. Add a filter to the CRM Analytics
dashboard with customer segment values then set up a dynamic parameter that links the filter to the Tableau view.
555
Analyze Your Data Get Started Using CRM Analytics
Create a custom query filter with display and values for customer segment.
Note: Values must exist in the Tableau field and follow the field format.
Follow steps 1 through 4 outlined at the beginning of this document to create the parameter.
Select Dynamic in the Value Type menu, then select the filter query as the Data Source, the filter value as the New Value, and the
filter interaction type. Click Save.
To filter as an array, select Multiple selection as the dashboard filter’s Selection Type. Click Include all values in the parameter.
556
Analyze Your Data Get Started Using CRM Analytics
Note: The first filter interaction is used if Include all values isn’t checked.
SEE ALSO:
CRM Analytics Dashboard JSON Overview
2. Delete a parameter
a. Edit the component with the Tableau view and click the Parameters tab.
b. Click the trash can icon next to the parameter.
557
Analyze Your Data Get Started Using CRM Analytics
USER PERMISSIONS
Take note of these considerations when downloading data in Excel or CSV format.
558
Analyze Your Data Get Started Using CRM Analytics
• The Excel and CSV options download the results of a displayed query (or step). The query limit determines the number of rows in
the .xls or .csv file.
• The Download in Excel Format with Metadata option can include the name of the user, the date and time of the export, dashboard
and widget titles, groups and filters in the query, and the number of records downloaded.
• Downloading data isn't supported for lenses based on SQL queries or on direct data queries, such as direct queries on Salesforce
objects, CDP, Snowflake, and Google BigQuery.
• For table data downloads, text wrapping within tables, hidden columns, grouped column order, and merged cells aren’t supported.
• For tables based on queries with bindings, downloads show the columns as projected in the query.
• For pivot tables, queries customized with SAQL union statements download as raw data instead of in pivot table format.
• If a measure field has a multiplier of “0”, downloaded data shows all values for that field displaying as “0”.
SEE ALSO:
Enable Downloading Data from CRM Analytics
Secure Image Sharing and Downloading
USER PERMISSIONS
559
Analyze Your Data Get Started Using CRM Analytics
2. Click Print to open your browser’s print dialog, where you can send the image to your printer or save it as a PDF file. To include
background color or images, click More settings and select Background graphics.
The Cancel button closes the print preview and returns you to the running dashboard.
560
Analyze Your Data Get Started Using CRM Analytics
Take Control of Your Experience with CRM Analytics Custom Actions Menus
CRM Analytics custom actions menus in charts and tables let you take advantage of Salesforce actions. With action menus, you can post
to Chatter, create an event or opportunity, update a record, or open a Salesforce record directly.
With custom actions menus, you can use quick actions that were added to Salesforce objects—directly from CRM Analytics dashboards
and lenses. You can also open records from Salesforce or elsewhere on the Web through the menus.
You can access actions menus from these parts of charts and tables in CRM Analytics:
• Value labels on charts (such as Opportunity for Pearson in the preceding image).
561
Analyze Your Data Get Started Using CRM Analytics
Hover over the labels to see if an actions menu is available. Click the value, cell, or legend to see the menu’s contents, and then select
an action or open a record. Records open in new Lightning Experience tabs unless your admin sets them to open in new browser tabs.
For dimensions in lenses and dashboards, you can use the Actions menu in the lens to set how one-click actions behave on a table’s
dataset fields. For more efficiency, you can select the record action you want to invoke for all records in a dimension column. Or, for
greater flexibility, you can choose to view all available one-click actions when you click a column’s records.
For example, imagine that you want to update opportunity records when you click the Opportunity Name field in the Opportunities
dataset. After your Salesforce admin has configured actions for this field, open the Opportunities dataset.
1. With Opportunity Name selected in the table mode, in the Column Properties panel, scroll to the Actions section.
2. Select Set up one-click actions.
3. Enable Select an Action. Alternatively, to view all available actions when you click an opportunity name, select Open Actions
Menu
4. From the Salesforce Actions list, select Update Opportunity.
Optionally set a hyperlink color for the Opportunity Name field.
Note: Custom actions menus and one-click actions are only supported on a dimension when its field name matches its projected
name in the custom query.
To learn more, see Enable Actions for CRM Analytics Lenses and Dashboards
562
Analyze Your Data Get Started Using CRM Analytics
Take Action on Multiple Records with Mass Action Links in CRM Analytics
Mass action links in CRM Analytics let you take advantage of Salesforce mass quick actions by performing an action on a list of up to 100
Salesforce records.
With mass quick action links, you can use quick actions that were added to Salesforce objects List View layouts, directly from Analytics
dashboards. You can perform a mass action on up to 100 records at once, using Analytics filtering to target the list of records you want
to perform the action on.
Access mass quick actions by clicking the mass action link on the dashboard.
Each mass action has a custom window that opens when the link is clicked. The window is the same as you see when you take the mass
action in the record list view of Lightning Experience. As you fill in the fields, the Fields to update section updates. When you have the
action completed, click Save.
The mass action confirmation dialog shows how many records the action is performed on and which fields are updated. If more than
100 records are in the list, the dialog informs you that only 100 records are updated. Click OK to perform the action.
Note: The update to the records is immediately visible in the Salesforce records, but the Analytics dataset must be updated to
reflect the record updates. Your dashboard gets the updated record data the next time the dataflow or recipe runs.
SEE ALSO:
Configure Mass Quick Actions on Multiple Salesforce Records from CRM Analytics Dashboards
563
Analyze Your Data Get Started Using CRM Analytics
Learning Resources
In addition to these Help pages, CRM Analytics has a variety of in-app assistance, and there’s more educational content on Trailhead and
other websites.
Get Started, Educate Yourself, and Stay Informed in the Learning Center
The Learning Center is the home of assistance resources in the CRM Analytics Analytics Studio. With getting started experiences and
continuing educational content, there’s learning for all users, anywhere along their analytics journey.
Access Assistance When and Where You Need It
In-app assistance includes the welcome mat, help menus, point-in-time videos, and widget-specific learning resources.
Learn CRM Analytics Through Video
Sometimes it’s easier to understand how things work when you see them in action. Check out these video playlists for all areas of
CRM Analytics. Video playlists are available in Help Menus, and most videos are also available from in-app video icons in context
throughout CRM Analytics.
Learn CRM Analytics with In-App Examples
The CRM Analytics Learning Adventure app walks you through best practice examples for designing just the right visualizations and
for building powerful dynamic apps. Hands-on examples are presented in dashboards that show you how to build dashboards.
Because it's an app, you can look under the hood and see the JSON used to build each dashboard.
Find the Right Learning Resource for Each Step of the CRM Analytics Journey
The CRM Analytics landing page in Help gives you a list of key resources for each action in every stage of your Analytics journey. It’s
part map and part clearinghouse to you see the places you can go with CRM Analytics.
Learn CRM Analytics with Trailhead
Trailhead is the fun and free way to learn Salesforce. Get acquainted with CRM Analytics through Trailhead using a special CRM
Analytics-enabled Developer Edition org.
Watch CRM Analytics Learning Days Webinars
Learn directly from expert trainers. The Learning Days webinars cover a range of topics on CRM Analytics and Einstein Discovery,
with deep dives into use cases, common questions, and best practices to inspire and guide you to create great analytics
implementations.
Learn Best Practices from the Experts
Apply best practices throughout your CRM Analytics journey. Learn from Salesforce experts as they tackle topics from project planning
to performance to dashboard design best practices.
Take Tips from Trailblazers
The community of CRM Analytics power users grows daily, and they love to share their knowledge. Check out this treasure trove of
blogs and channels by Trailblazers across the community. Thank you, Trailblazers!
Get Started, Educate Yourself, and Stay Informed in the Learning Center
The Learning Center is the home of assistance resources in the CRM Analytics Analytics Studio. With getting started experiences and
continuing educational content, there’s learning for all users, anywhere along their analytics journey.
Travel along guided learning journeys in the Start Your Analytics Adventure section. Click a tile to open a fast-paced journey through
key product areas. Take an entire journey at once, or stop anywhere along the way and later pick up where you left off. You never lose
your place because we’re tracking each step. The available journeys depend on your permissions.
564
Analyze Your Data Get Started Using CRM Analytics
In-app badges reward completion of the learning journeys. Four in-app badges are available, depending on your permissions. The
badges appear in your Trailhead profile.
Data Integration in CRM Data Exploration in CRM App Creation in CRM Analytics Einstein Discovery Intelligence
Analytics Analytics
Refer to the Extended Learning section for links to important user assistance resources.
Raise your CRM Analytics education to the next level with the Popular Topics section. Links to Help, video, and Trailhead resources are
arranged by function.
565
Analyze Your Data Get Started Using CRM Analytics
Learn about top features and general updates each release in the What's New section.
566
Analyze Your Data Get Started Using CRM Analytics
That little question mark ( ) in the upper right corner opens context-aware, persistent help menus that provide relevant help topics
targeted for the page you’re on. You can preview the Help page right in the menu, and even pin it to the bottom of the page to reference
while working.
In-app video icons ( ) throughout CRM Analytics launch a video or video series that teaches about the feature you're working with.
Videos play in a draggable, resizable frame. Put the frame wherever you want so the video never blocks the product screen while you
watch. You can even interact with the product as you follow along step-by-step tutorials.
If your dashboard is configured with the Learn option, select it to open the draggable, resizable frame loaded with customized,
widget-specific content.
567
Analyze Your Data Get Started Using CRM Analytics
When you have at least one widget with the Learn option, the Learning Resources icon appears. Click the icon to open and close the
Learning Resources panel. When the panel is open, hover on a learning resource to highlight the chart that goes with it. Each learning
resource is numbered and the numbers appear on the charts for easy reference.
SEE ALSO:
Customize Onboarding with In-Dashboard Instructional Content
568
Analyze Your Data Get Started Using CRM Analytics
Gain access to data inside and outside Salesforce with connections. If needed, prepare the data before loading it into CRM Analytics
datasets. Data preparation is the process of transforming your data into a form that’s meaningful and valuable to the people consuming
it.
569
Analyze Your Data Get Started Using CRM Analytics
Find the Right Learning Resource for Each Step of the CRM Analytics Journey
The CRM Analytics landing page in Help gives you a list of key resources for each action in every stage of your Analytics journey. It’s part
map and part clearinghouse to you see the places you can go with CRM Analytics.
With so many resources out there—trails, documentation, videos, webinars—how do you know where to look? We created the Help
page at https://help.salesforce.com/articleView?id=sf.bi.htm to address just that. We scoured all of our educational resources, pulled
together the best content, and organized it by area of product engagement to make it easier to find the right help at the right time.
570
Analyze Your Data Get Started Using CRM Analytics
Start at the top for a streamlined map (1) of top-level Help pages, arranged by jobs to be done, plus links to Trailhead, in-app videos,
and all the training videos, webinars, and best practices blogs by CRM Analytics experts. Scroll down for learning resources that cover
every aspect of CRM Analytics (2). The lists of learning resources aren’t exhaustive, but they provide entry points to content that can
point you in the right direction.
571
Analyze Your Data Get Started Using CRM Analytics
572
Analyze Your Data Get Started Using CRM Analytics
SEE ALSO:
CRM Analytics Limits
CRM Analytics Limits
CRM Analytics Limits
SEE ALSO
CRM Analytics Training Seminars (Video Series)
573
Analyze Your Data Get Started Using CRM Analytics
Project Planning
•
Upgrading to CRM Analytics Plus
• Delivering Successful CRM Analytics Projects
•
Resource Recommendations for a CRM Analytics Engagement
•
Typical CRM Analytics Asset Life Cycle
•
Developing and Managing CRM Analytics Assets in Production
•
Developing and Managing CRM Analytics Assets in Sandbox
•
Uncovering Deployment Techniques for CRM Analytics
Data and Setup
• How to Enable CRM Analytics
• Connect Data Sources
•
Data Orchestration in CRM Analytics
• Dataset Configuration & Data Schema
• Datasets, Grain Level, and Joins
• Security Predicate & Flatten Transformations
•
Practical Approach to Converting Dataflows to Recipes
Performance
•
Optimizing Long-Running Dataflows
• Dataflow Performance Optimization
• Dashboard Performance Optimization
•
Best Practices for Faster Dashboards
•
Efficient Queries for Faster Dashboards
•
Faster Dashboards: Network to the Rescue
Building Dynamic Dashboards
• Advanced Interaction Editor & Faceting
• Dashboard Pages
•
All You Need to Know About Bindings
•
A Binding Decision Tree
• SAQL and Bindings Use Cases
•
SAQL Simply Explained and Use Cases
574
Analyze Your Data Get Started Using CRM Analytics
Mobile
•
Get Beta Access to CRM Analytics Mobile Apps
•
CRM Analytics Best Practices for Mobile
Miscellaneous Pro Tips
•
Territory Management in CRM Analytics
• Custom Fiscal Calendar
•
How to Handle Common Date Challenges
• Multi-Language and Multi-Currency Projects
• Multi-Currency Implementation with Dated Exchange Rates
•
Timeseries Analysis
•
Data Acquisition & Heroku
• Custom Maps
• Commanding CRM Analytics with Salesforce CLI
Master the Platform
• CRM Analytics Data Preparation Specialist Superbadge
• CRM Analytics and Discovery Insights Specialist Superbadge
• CRM Analytics Training Seminars (Video Series)
• CRM Analytics and Discovery Consultant Credential
Analytics Glossary
Familiarize yourself with common Analytics terminology.
App
An app contains dashboards, lenses, and datasets in any combination that makes sense for sharing your data analysis with colleagues.
Apps are like folders. They allow users to organize their data projects—private and shared—and to control sharing.
App template
An app template is a ready-made dashboard package that is automatically populated with Salesforce data.
575
Analyze Your Data Get Started Using CRM Analytics
Binding
A binding is an expression to reference information in a query via string replace. Bindings allow for setting dynamic variables for chart
and query configurations.
Column Chart
A column chart is a name for a vertical bar chart.
Co-group
A co-group is used to combine data from two or more data streams. The data streams can be joined using common fields.
Component
A component is a widget that contains other widgets and pages. Use components to manage and reuse groups of charts, tables, filters,
text, and more in multiple dashboards.
Connected data
Connected data is an object or file from a data source that is synced. This data isn’t queryable until it’s converted into a dataset.
Dashboard
A dashboard is a curated set of charts, metrics, and tables based on the data in one or more lenses.
Data Monitor
The data monitor tool allows you to monitor dataflow and system jobs. You can also use it to start, stop, reschedule, download, and
upload dataflows.
Dataflow
A dataflow is a set of instructions that specifies what data to extract from Salesforce objects or datasets, how to transform the datasets,
and which datasets to make available for querying.
Dataflow job
A dataflow job processes the logic in a dataflow.
576
Analyze Your Data Get Started Using CRM Analytics
Dataset
A dataset is a collection of related data that is stored in a denormalized, yet highly compressed form that is optimized for interactive
exploration.
Dataset builder
The dataset builder is a point-and-click user interface that allows you to easily select and extract data from related Salesforce objects to
create a single dataset.
Data sync
A data sync is the method used to refresh connected data in Analytics.
Date
A date can be represented as a day, month, year, and, optionally, time. You can group, filter, and perform math on dates.
Designer
Designer is the interface where you create dashboards.
Derived dimensions
A derived dimension is a qualitative value that is not part of a dataset, but is instead calculated in a query.
Derived measures
A derived measure is a quantitative value that is not part of a dataset, but is instead calculated in a query.
Dimension
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions.
Digest
The digest transformation extracts data from connected objects in a dataflow. Use it to extract synced data from your local Salesforce
org or remote connections to include in a dataset.
External data
External data is data that resides outside of Salesforce, such as data from outside applications and spreadsheets.
577
Analyze Your Data Get Started Using CRM Analytics
Lens
A lens is a view into a dataset used in an exploratory mode or to get insight to a specific business question. The lens can be saved and
shared independently. It can also be clipped to a dashboard.
Measure
A measure is a quantitative value that contains numerical data like revenue and exchange rate. You can do math on measures, such as
calculating the total revenue and the minimum exchange rate.
Metadata file
A metadata file is a JSON file that describes the structure of an external data file.
Model
A model is the output of Einstein Discovery's comprehensive statistical analysis of past outcomes in an Analytics dataset to predict future
outcomes. A model represents a collection of insights around a metric (outcome) that highlights any of the following: important trends,
explanations on what influenced those trends, comparisons between factors, predictions on future outcomes, and suggested actions
that can improve outcomes.
Page
A page is a dashboard tab that contains distributed dashboard content, such as widgets and filters. There can be multiple pages. Pages
make dashboards easier to digest with content organized into multiple areas.
Predicate
See security predicate.
Query
A query retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The
query results can be displayed in different formats (such as a table or chart) or used as input to another query.
Note: Before the Winter '20 release, queries were called steps.
Recipe
A recipe is a user-interface tool that lets you take data from your existing datasets and connected objects, apply transformations, and
the output the results to a new dataset.
Register
The sfdcRegister transformation saves the transformed data as a dataset, which can then be queried in Analytics. Users can't view or run
queries against unregistered datasets.
578
Analyze Your Data Get Started Using CRM Analytics
Security Predicate
A security predicate is a filter condition that defines row-level access to records in a dataset.
Step
A step retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The step
results can be displayed in different formats (such as a table or chart) or used as input to another step.
Story
See model.
Transformation
A transformation refers to the manipulation of data. You can add transformations to a dataflow to extract data from Salesforce objects
or datasets, transform datasets that contain Salesforce or external data, and register datasets.
Trellis
A trellis is the name for a grid (horizontal, vertical, or both) of visualizations. A trellis is also known as small multiples and lattice.
579
Analyze Your Data Access Insights from the Analytics Mobile App
Visualization
A visualization is commonly a chart or graph, such as a bar chart, donut chart, timeline, or heat map. It can also be data in tabular form,
such as a comparison table or pivot table. Every visualization has an underlying query, which is how Analytics retrieves information from
the source data.
Widget
A widget is used to display data on a dashboard, such as key performance indicators, and data visualizations. Data in a widget comes
from a query. A widget determines how to use or display the results returned by a query.
580
Analyze Your Data Access Insights from the Analytics Mobile App
Want to explore data and uncover key business insights on your mobile device?
If you want to use a lens to dive into the details in your data and build an on-the-go query,
use CRM Analytics for iOS or Android. They’re optimized for exploration beyond
visualizations like charts and tables.
Want to launch analytics assets directly from your own custom mobile app?
To open a specific dashboard from your custom mobile app or apply filters to a dashboard
when it’s launched, use CRM Analytics for iOS or Android. They support deep linking,
which lets you launch a dashboard from a third-party or web application. Learn more
about deep linking on page 654.
Want to view and analyze data when internet access isn’t available?
581
Analyze Your Data Access Insights from the Analytics Mobile App
Want to get notified when a metric reaches a goal or dips below a specified amount?
If on-the-go alerts and notifications are important to your business needs, use CRM
Analytics for iOS. Learn more about push notifications on page 653.
SEE ALSO:
Download CRM Analytics for Mobile
Local playground
Search
Offline mode
Push notifications
Track notifications
582
Analyze Your Data Access Insights from the Analytics Mobile App
Explore Salesforce objects from the dashboard designer with Salesforce Direct
Connect external data to CRM Analytics with Salesforce Direct for Snowflake
Data
Actions
Create apps
583
Analyze Your Data Access Insights from the Analytics Mobile App
Bar
Column
Stacked Bar
Stacked Column
Scatter Plot
Donut
Heat Map
Line
Timeline
Time Bar
Time Combo
Waterfall
Stacked Waterfall
Funnel
Origami
Sankey
Metrics Radar
Map
Bubble Map
Custom Map
Geo Map
Pyramid
Stacked Pyramid
584
Analyze Your Data Access Insights from the Analytics Mobile App
Polar Gauge
Flat Gauge
Rating
Matrix
Tree Map
Parallel Coordinates
Values Table
Compare Table
Pivot Table
Border customization
Text customization
Number customization
Images in charts
Images in tables
Themes in tables
Trellis
Reference lines
Table sorting
Dashboard Widgets
585
Analyze Your Data Access Insights from the Analytics Mobile App
Dashboard components
Dashboard Navigation
Global filters
Lightning components
Link
List selector
Open as lens
Range
Repeater
Text
Text Tooltip
Toggle
Dashboard Properties
Themes
Nested bindings
Image tooltips
586
Analyze Your Data Access Insights from the Analytics Mobile App
Miscellaneous
Developer mode
Spotlight search
SEE ALSO:
Which Analytics Mobile Experience Do I Use?
587
Analyze Your Data Access Insights from the Analytics Mobile App
To learn more about adding dashboards to record pages, see Embed Dashboards in Lightning Pages on page 1594.
588
Analyze Your Data Access Insights from the Analytics Mobile App
To add a dashboard to a record without showing it every time your users open the record, add it to a record page tab. To learn more,
see Access Dashboards on Record Page Tabs on page 589.
SEE ALSO:
Create Page Layouts
User Interface Elements for the Enhanced Page Layout Editor
To learn more, see Build a Custom Record Page for Lightning Experience and the Salesforce Mobile App.
SEE ALSO:
Create Page Layouts
User Interface Elements for the Enhanced Page Layout Editor
589
Analyze Your Data Access Insights from the Analytics Mobile App
When you add an action, button, or link from a record to a dashboard, users tap the action, button, or link (1) to go directly to the
dashboard (2).
Create custom URLs so your users can open a dashboard with relevant filters already applied.
1. To create a custom URL to a dashboard so it opens in a specific state, use the Share (3) and GET URL (4) option in CRM Analytics.
590
Analyze Your Data Access Insights from the Analytics Mobile App
2. Add the dashboardState parameter to the URL to pass the record ID and other filters to the dashboard. Use this syntax for the
custom link URL.
https://domain.my.salesforce.com/analytics/wave/dashboard?assetId={dashboardID}&orgId={orgID}&loginHost={loginHost}&urlType=sharing&dashboardState={URL-encoded
dashboard state}
To learn more about dashboard URL syntax, see Launch CRM Analytics Assets with URLs on page 654.
3. In Setup, add the custom link URL to a record page in the Object Manager. For example, create an Account Insights (5) link so account
owners can launch a sales metrics dashboard with relevant filters applied directly from a record.
SEE ALSO:
Custom Buttons and Links
Perform Actions on a Salesforce Record from CRM Analytics
591
Analyze Your Data Access Insights from the Analytics Mobile App
SEE ALSO:
Create a Custom App Page: The Big Picture
592
Analyze Your Data Access Insights from the Analytics Mobile App
1. To turn your dashboard into a navigation item, create a Lightning web tab, add your dashboard URL, and then add the tab to your
users’ navigation.
2. From Setup, in the Quick Find box, enter Tabs, then select Tabs. Create and customize a web tab. For example, create a Sales
Insights tab so your Sales team can access your interactive sales opportunity dashboard.
3. Add your dashboard URL to the web tab. To get the dashboard URL, open it in desktop, select Share, and then select GET URL.
4. Paste the URL into your web tab, and then change analyticsContext from analyticsTab to webtab (2).
593
Analyze Your Data Access Insights from the Analytics Mobile App
5. Add the tab to your users’ navigation in Lightning App Builder. Now your users can instantly interact with the dashboard.
SEE ALSO:
Create Web Tabs
Lightnint App Navigation Bar Items
594
Analyze Your Data Access Insights from the Analytics Mobile App
SEE ALSO:
Integrate Dashboards Into Your Mobile Users’ Workflow
595
Analyze Your Data Access Insights from the Analytics Mobile App
596
Analyze Your Data Access Insights from the Analytics Mobile App
Tap the tile to open the app’s browse screen and access the app’s assets. Or, tap on the tile to open the info/action panel. App
actions can include Browse ( ), Run ( ), Pin( ), and Get Link ( ).
Customize your CRM Analytics screen by pinning your favorite and often used apps. Whether you pin apps on mobile or in CRM
Analytics on desktop, you’ll see the same pinned apps on your CRM Analytics screen.
If you’ve marked assets as “Favorite,” they have a blue star ( ), and a Favorites filter appears.
Viewing Dashboards
When viewing a dashboard, tap the down arrow ( ) in the header next to the dashboard’s name to open a dropdown list and
select another dashboard in the app. To refresh a dashboard and return to its default state, tap and then tap the curved arrow
( ).
Tracking
Open the notifications tracking screen by tapping . When you set notifications in CRM Analytics, the tiles for tracking progress
appear here. Tap a tile to go directly to the dashboard that contains the notification.
Notifications
Open the push notifications screen by tapping . When you set notifications in CRM Analytics, the notifications will appear here.
Tap a tile to go directly to the dashboard that contains the notification.
Note: To enable push notifications, open the device Settings, tap Notifications, and allow notifications for CRM Analytics.
Search
Tap the in the upper right corner of the screen. Search Favorites, Apps, Dashboards, Lenses, or Datasets to find an asset.
Settings
Open Settings by tapping the icon in the upper left corner of the screen. Tap in the upper right corner of the screen. The Settings
screen is where you can:
• Switch on Presentation Mode.
• Add data to CRM Analytics.
• Change settings, send feedback, get help, and share the CRM Analytics App.
• Log out of your org.
A Few Simple Gestures
These gestures help you quickly navigate through CRM Analytics.
Gesture Result
Swipe up Scroll down lists and dashboard.
597
Analyze Your Data Access Insights from the Analytics Mobile App
Gesture Result
Press (for devices with 3D Touch) • On the device’s Home screen, press the CRM Analytics app
icon to open the shortcuts menu. The menu lets you share,
search within CRM Analytics, or go directly to the two most
recently viewed assets.
• On a dashboard or lens, press lightly to peek at the asset,
and press deeper to pop it open.
598
Analyze Your Data Access Insights from the Analytics Mobile App
599
Analyze Your Data Access Insights from the Analytics Mobile App
• You can identify measures by their position (the far left items in the top left corner of a lens) and by the text that indicates the
aggregation method (such as Sum of Revenue).
Warning: If you perform a query that aggregates measures—like sum or group by—and the resulting value exceeds the maximum
for a numeric field (36,028,797,018,963,967), the value overflows and CRM Analytics returns an incorrect result.
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions. Like measures,
dimensions also have names (region) and values (northeast). Time is usually considered a dimension rather than a measure.
Analytics Glossary
Familiarize yourself with common Analytics terminology.
App
An app contains dashboards, lenses, and datasets in any combination that makes sense for sharing your data analysis with colleagues.
Apps are like folders. They allow users to organize their data projects—private and shared—and to control sharing.
App template
An app template is a ready-made dashboard package that is automatically populated with Salesforce data.
Binding
A binding is an expression to reference information in a query via string replace. Bindings allow for setting dynamic variables for chart
and query configurations.
Column Chart
A column chart is a name for a vertical bar chart.
Co-group
A co-group is used to combine data from two or more data streams. The data streams can be joined using common fields.
Component
A component is a widget that contains other widgets and pages. Use components to manage and reuse groups of charts, tables, filters,
text, and more in multiple dashboards.
Connected data
Connected data is an object or file from a data source that is synced. This data isn’t queryable until it’s converted into a dataset.
Dashboard
A dashboard is a curated set of charts, metrics, and tables based on the data in one or more lenses.
600
Analyze Your Data Access Insights from the Analytics Mobile App
Data Monitor
The data monitor tool allows you to monitor dataflow and system jobs. You can also use it to start, stop, reschedule, download, and
upload dataflows.
Dataflow
A dataflow is a set of instructions that specifies what data to extract from Salesforce objects or datasets, how to transform the datasets,
and which datasets to make available for querying.
Dataflow job
A dataflow job processes the logic in a dataflow.
Dataset
A dataset is a collection of related data that is stored in a denormalized, yet highly compressed form that is optimized for interactive
exploration.
Dataset builder
The dataset builder is a point-and-click user interface that allows you to easily select and extract data from related Salesforce objects to
create a single dataset.
Data sync
A data sync is the method used to refresh connected data in Analytics.
Date
A date can be represented as a day, month, year, and, optionally, time. You can group, filter, and perform math on dates.
Designer
Designer is the interface where you create dashboards.
Derived dimensions
A derived dimension is a qualitative value that is not part of a dataset, but is instead calculated in a query.
Derived measures
A derived measure is a quantitative value that is not part of a dataset, but is instead calculated in a query.
Dimension
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions.
601
Analyze Your Data Access Insights from the Analytics Mobile App
Digest
The digest transformation extracts data from connected objects in a dataflow. Use it to extract synced data from your local Salesforce
org or remote connections to include in a dataset.
External data
External data is data that resides outside of Salesforce, such as data from outside applications and spreadsheets.
Lens
A lens is a view into a dataset used in an exploratory mode or to get insight to a specific business question. The lens can be saved and
shared independently. It can also be clipped to a dashboard.
Measure
A measure is a quantitative value that contains numerical data like revenue and exchange rate. You can do math on measures, such as
calculating the total revenue and the minimum exchange rate.
Metadata file
A metadata file is a JSON file that describes the structure of an external data file.
Model
A model is the output of Einstein Discovery's comprehensive statistical analysis of past outcomes in an Analytics dataset to predict future
outcomes. A model represents a collection of insights around a metric (outcome) that highlights any of the following: important trends,
explanations on what influenced those trends, comparisons between factors, predictions on future outcomes, and suggested actions
that can improve outcomes.
Page
A page is a dashboard tab that contains distributed dashboard content, such as widgets and filters. There can be multiple pages. Pages
make dashboards easier to digest with content organized into multiple areas.
Predicate
See security predicate.
Query
A query retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The
query results can be displayed in different formats (such as a table or chart) or used as input to another query.
602
Analyze Your Data Access Insights from the Analytics Mobile App
Note: Before the Winter '20 release, queries were called steps.
Recipe
A recipe is a user-interface tool that lets you take data from your existing datasets and connected objects, apply transformations, and
the output the results to a new dataset.
Register
The sfdcRegister transformation saves the transformed data as a dataset, which can then be queried in Analytics. Users can't view or run
queries against unregistered datasets.
Security Predicate
A security predicate is a filter condition that defines row-level access to records in a dataset.
Step
A step retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The step
results can be displayed in different formats (such as a table or chart) or used as input to another step.
Story
See model.
Transformation
A transformation refers to the manipulation of data. You can add transformations to a dataflow to extract data from Salesforce objects
or datasets, transform datasets that contain Salesforce or external data, and register datasets.
Trellis
A trellis is the name for a grid (horizontal, vertical, or both) of visualizations. A trellis is also known as small multiples and lattice.
603
Analyze Your Data Access Insights from the Analytics Mobile App
Visualization
A visualization is commonly a chart or graph, such as a bar chart, donut chart, timeline, or heat map. It can also be data in tabular form,
such as a comparison table or pivot table. Every visualization has an underlying query, which is how Analytics retrieves information from
the source data.
Widget
A widget is used to display data on a dashboard, such as key performance indicators, and data visualizations. Data in a widget comes
from a query. A widget determines how to use or display the results returned by a query.
604
Analyze Your Data Access Insights from the Analytics Mobile App
You’ll find your new dataset in a new CRM Analytics app in the navigation menu.
605
Analyze Your Data Access Insights from the Analytics Mobile App
606
Analyze Your Data Access Insights from the Analytics Mobile App
Dashboard are interactive. You can tap charts, buttons, and other elements to dynamically filter and drill into data.
Let’s see how many escalated cases originate from North America. Directly under Account Region, tap All, and then select AMER. Note
how all the data in the dashboard is instantly updated to represent the North American region and that 11 cases originating from North
America are escalated:
607
Analyze Your Data Access Insights from the Analytics Mobile App
Next, let’s get more information about the escalated cases from North America. Tap the Escalated data bar. Note how the entire dashboard
is updated again:
608
Analyze Your Data Access Insights from the Analytics Mobile App
Now let’s get specific information about these North American escalated cases. Double-tap the chart to view it in full screen mode:
609
Analyze Your Data Access Insights from the Analytics Mobile App
While in full screen mode, you can explore the chart in a lens.
• Tap Deselect to explore all of the data in the lens.
• Tap Details to see a table of data about the escalated cases.
• Tap Drill In to chart information about the escalated cases. Drilling in filters by escalated cases, then lets you group by other
dimensions.
Most of what you see in a dashboard is interactive or dynamic. Try tapping around and see what happens!
b. To start exploring data in a new lens, tap Datasets, and then select a dataset.
A new lens opens and shows the dataset’s total count of rows.
610
Analyze Your Data Access Insights from the Analytics Mobile App
2.
Explore by tapping Build and adding measures and groupings.
611
Analyze Your Data Access Insights from the Analytics Mobile App
3. Under Add a Group, tap one of the dimensions to assign it to the chart element. For example, in a bar chart, each bar could be a
member of the group.
The dimensions in your dataset determine which categories you can group by.
The visualization in your lens changes to show the data grouped by the dimension that you selected.
612
Analyze Your Data Access Insights from the Analytics Mobile App
Change Measures
Your choice of measure defines your entire visualization and determines the overall scope of your exploration.
1.
While viewing data in a lens, tap Build.
2.
To change a measure, tap it. To add another measure, tap next to the chart element you want to represent the measure. Note
that the chart elements vary for different charts.
3. Choose an aggregation function, such as count or sum.
The dimensions in your dataset determine which categories you can group by.
613
Analyze Your Data Access Insights from the Analytics Mobile App
614
Analyze Your Data Access Insights from the Analytics Mobile App
615
Analyze Your Data Access Insights from the Analytics Mobile App
Notifications
Create and manage notifications right from your device. Receive push notifications to stay informed when your business reaches a
milestone or experiences critical changes.
Set Notifications
Create and set notifications right from your device. Receive push notifications to stay informed when your business reaches a
milestone or experiences critical changes.
616
Analyze Your Data Access Insights from the Analytics Mobile App
Set Notifications
Create and set notifications right from your device. Receive push notifications to stay informed when your business reaches a milestone
or experiences critical changes.
To set notifications, follow these steps:
1. Select the chart or number for which you want to receive notifications.
A toolbar displays at the bottom of the screen.
2. Tap Set Notification ( ).
3. Enter information for the new notification.
4. In the upper right corner, tap Save.
The new notification appears on the Tracking screen. You can set up to ten notifications at a time.
Notifications
Create and manage notifications right from your device. Receive push notifications to stay informed when your business reaches a
milestone or experiences critical changes.
Set Notifications
Create and set notifications right from your device. Receive push notifications to stay informed when your business reaches a
milestone or experiences critical changes.
617
Analyze Your Data Access Insights from the Analytics Mobile App
Set Notifications
Create and set notifications right from your device. Receive push notifications to stay informed when your business reaches a milestone
or experiences critical changes.
To set notifications, follow these steps:
1. Select the chart or number for which you want to receive notifications.
A toolbar displays at the bottom of the screen.
2. Tap Set Notification ( ).
3. Enter information for the new notification.
4. In the upper right corner, tap Save.
The new notification appears on the Tracking screen. You can set up to ten notifications at a time.
618
Analyze Your Data Access Insights from the Analytics Mobile App
General Limitations
Feature Limitations
Layout Landscape mode is supported only for iPad®. Portrait mode is supported for both iPad and iPhone®. Split
screen isn’t supported.
Share You can’t create, edit, or delete sharing permissions for apps.
Delete • Deleting a dashboard or lens in CRM Analytics on your mobile device also deletes it in your Salesforce
org on the Web.
• After it’s deleted, a dashboard or lens can’t be recovered. The only exception is the playground sample
data, which can be restored from the Settings screen.
619
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• Datasets can’t be deleted from your mobile device.
Playground Imported or created data, lenses, and dashboards aren’t backed up in a device backup. Playground sample
data can be restored from the Settings screen.
Favorites Pinned apps are shared across all your logged in devices. Favorites of dashboards, lenses, and datasets are
stored locally on your mobile device and aren’t synced to other devices.
Feature Limitations
Charts and Tables • Charts don’t support multiple selection actions such as copy and focus.
• Frozen table columns in dashboards don’t stay frozen when viewed on CRM Analytics for iOS using any
iOS device.
Widgets Image
The image widget doesn’t support .svg files.
Number
Exploring a number widget isn’t supported.
Queries • If more measures or groupings are added to a chart than the chart type supports, then the chart becomes
a Compare Table.
• The maximum results returned by a query vary based on its type. For example, the default query limit for
an aggregate query with multiple groupings is 500, so just the first 500 records are displayed by default.
The default can be changed in the dashboard designer in CRM Analytics Studio.
• Apex steps (beta) aren’t supported on mobile.
Dashboards designed • CRM Analytics dashboards designed in your Salesforce org on the Web can be viewed in CRM Analytics
in the CRM Analytics for iOS on your local device. Some widgets appear different on mobile.
Studio
• To optimize dashboards for mobile, generate a layout for phone or tablet in the dashboard designer.
• Gutter color options aren’t supported.
Feature Limitations
CRM Analytics Data • Only CSV, TSV, and XLSX files, and ZIP files containing these types, can be imported as dataset.
Connector
620
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• Imported datasets aren’t available in CRM Analytics on the Web. They’re only available on your mobile
device in the playground.
• Imported datasets aren’t encrypted.
621
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• DD-Mon-YY
• DD-Mon-YYYY
• DD-Mon-YYYY HH:mm
• YYYYMMDD HH:MM:SS
• YYYY/MM/DD HH:MM:SS
• MM/DD/YYYY HH:MM:SS
• MM/DD/YYYY HH:MM:SS AM/PM
• MM/DD/YY HH:MM:SS AM/PM
• DD/MM/YYYY HH:MM:SS
• YYYY/MM/DD HH:MM
• MM/DD/YYYY HH:MM
• DD/MM/YYYY HH:MM
• DD/MM/YY HH:MM:SS
• DD/MM/YYYY HH:MM:SS AM/PM
• DD/MM/YY HH:MM:SS AM/PM
• YYYY-MM-DD HH:MM:SS
• YY-MM-DD HH:MM:SS
• DD-MM-YYYY HH:MM:SS
• DD-MM-YY HH:MM:SS
• DD-MM-YYYY HH:MM:SS AM/PM
• DD-MM-YY HH:MM:SS AM/PM
• MM-DD-YYYY HH:MM:SS
• MM-DD-YYYY HH:MM:SS AM/PM
• MM-DD-YY HH:MM:SS AM/PM
• YYYY-MM-DD HH:MM
• DD-MM-YYYY HH:MM
• MM-DD-YYYY HH:MM
• YYYY-MM-DDTHH:MM:SS
• DD-MM-YYYYTHH:MM:SS
• MM-DD-YYYYTHH:MM:SS
• YYYY-MM-DDTHH:MM
• DD-MM-YYYYTHH:MM
• MM-DD-YYYYTHH:MM
• YYYY-MM-DDTHH:MM:SS-HH:MM
• YYYY-MM-DDTHH:MM:SS+HH:MM
• YYYY-MM-DDTHH:MM:SSTZD
• YYYYMMDDTHH:MM:SS
• HH:MM:SS DD/MM/YYYY
622
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• HH:MM:SS DD/MM/YY
• DD-MM-YYYYTHH
623
Analyze Your Data Access Insights from the Analytics Mobile App
624
Analyze Your Data Access Insights from the Analytics Mobile App
Gesture Result
Swipe up Scroll down lists and dashboard.
625
Analyze Your Data Access Insights from the Analytics Mobile App
626
Analyze Your Data Access Insights from the Analytics Mobile App
Warning: If you perform a query that aggregates measures—like sum or group by—and the resulting value exceeds the maximum
for a numeric field (36,028,797,018,963,967), the value overflows and CRM Analytics returns an incorrect result.
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions. Like measures,
dimensions also have names (region) and values (northeast). Time is usually considered a dimension rather than a measure.
Analytics Glossary
Familiarize yourself with common Analytics terminology.
App
An app contains dashboards, lenses, and datasets in any combination that makes sense for sharing your data analysis with colleagues.
Apps are like folders. They allow users to organize their data projects—private and shared—and to control sharing.
App template
An app template is a ready-made dashboard package that is automatically populated with Salesforce data.
627
Analyze Your Data Access Insights from the Analytics Mobile App
Binding
A binding is an expression to reference information in a query via string replace. Bindings allow for setting dynamic variables for chart
and query configurations.
Column Chart
A column chart is a name for a vertical bar chart.
Co-group
A co-group is used to combine data from two or more data streams. The data streams can be joined using common fields.
Component
A component is a widget that contains other widgets and pages. Use components to manage and reuse groups of charts, tables, filters,
text, and more in multiple dashboards.
Connected data
Connected data is an object or file from a data source that is synced. This data isn’t queryable until it’s converted into a dataset.
Dashboard
A dashboard is a curated set of charts, metrics, and tables based on the data in one or more lenses.
Data Monitor
The data monitor tool allows you to monitor dataflow and system jobs. You can also use it to start, stop, reschedule, download, and
upload dataflows.
Dataflow
A dataflow is a set of instructions that specifies what data to extract from Salesforce objects or datasets, how to transform the datasets,
and which datasets to make available for querying.
Dataflow job
A dataflow job processes the logic in a dataflow.
Dataset
A dataset is a collection of related data that is stored in a denormalized, yet highly compressed form that is optimized for interactive
exploration.
628
Analyze Your Data Access Insights from the Analytics Mobile App
Dataset builder
The dataset builder is a point-and-click user interface that allows you to easily select and extract data from related Salesforce objects to
create a single dataset.
Data sync
A data sync is the method used to refresh connected data in Analytics.
Date
A date can be represented as a day, month, year, and, optionally, time. You can group, filter, and perform math on dates.
Designer
Designer is the interface where you create dashboards.
Derived dimensions
A derived dimension is a qualitative value that is not part of a dataset, but is instead calculated in a query.
Derived measures
A derived measure is a quantitative value that is not part of a dataset, but is instead calculated in a query.
Dimension
A dimension is a qualitative value that usually contains categorical data, such as Product Category, Lead Status, and Case Subject.
Dimensions are handy for grouping and filtering your data. Unlike measures, you can’t perform math on dimensions.
Digest
The digest transformation extracts data from connected objects in a dataflow. Use it to extract synced data from your local Salesforce
org or remote connections to include in a dataset.
External data
External data is data that resides outside of Salesforce, such as data from outside applications and spreadsheets.
Lens
A lens is a view into a dataset used in an exploratory mode or to get insight to a specific business question. The lens can be saved and
shared independently. It can also be clipped to a dashboard.
629
Analyze Your Data Access Insights from the Analytics Mobile App
Measure
A measure is a quantitative value that contains numerical data like revenue and exchange rate. You can do math on measures, such as
calculating the total revenue and the minimum exchange rate.
Metadata file
A metadata file is a JSON file that describes the structure of an external data file.
Model
A model is the output of Einstein Discovery's comprehensive statistical analysis of past outcomes in an Analytics dataset to predict future
outcomes. A model represents a collection of insights around a metric (outcome) that highlights any of the following: important trends,
explanations on what influenced those trends, comparisons between factors, predictions on future outcomes, and suggested actions
that can improve outcomes.
Page
A page is a dashboard tab that contains distributed dashboard content, such as widgets and filters. There can be multiple pages. Pages
make dashboards easier to digest with content organized into multiple areas.
Predicate
See security predicate.
Query
A query retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The
query results can be displayed in different formats (such as a table or chart) or used as input to another query.
Note: Before the Winter '20 release, queries were called steps.
Recipe
A recipe is a user-interface tool that lets you take data from your existing datasets and connected objects, apply transformations, and
the output the results to a new dataset.
Register
The sfdcRegister transformation saves the transformed data as a dataset, which can then be queried in Analytics. Users can't view or run
queries against unregistered datasets.
Security Predicate
A security predicate is a filter condition that defines row-level access to records in a dataset.
630
Analyze Your Data Access Insights from the Analytics Mobile App
Step
A step retrieves data from one or more data sources, including datasets, Salesforce objects, user-defined data, or external data. The step
results can be displayed in different formats (such as a table or chart) or used as input to another step.
Story
See model.
Transformation
A transformation refers to the manipulation of data. You can add transformations to a dataflow to extract data from Salesforce objects
or datasets, transform datasets that contain Salesforce or external data, and register datasets.
Trellis
A trellis is the name for a grid (horizontal, vertical, or both) of visualizations. A trellis is also known as small multiples and lattice.
631
Analyze Your Data Access Insights from the Analytics Mobile App
Visualization
A visualization is commonly a chart or graph, such as a bar chart, donut chart, timeline, or heat map. It can also be data in tabular form,
such as a comparison table or pivot table. Every visualization has an underlying query, which is how Analytics retrieves information from
the source data.
Widget
A widget is used to display data on a dashboard, such as key performance indicators, and data visualizations. Data in a widget comes
from a query. A widget determines how to use or display the results returned by a query.
632
Analyze Your Data Access Insights from the Analytics Mobile App
Dashboard are interactive. You can tap charts, buttons, and other elements to dynamically filter and drill into data.
Let’s see how many escalated cases originate from North America. Directly under Account Region, tap All, and then select AMER. Note
how all the data in the dashboard is instantly updated to represent the North American region and that 11 cases originating from North
America are escalated:
633
Analyze Your Data Access Insights from the Analytics Mobile App
Next, let’s get more information about the escalated cases from North America. Tap the Escalated data bar. Note how the entire dashboard
is updated again:
634
Analyze Your Data Access Insights from the Analytics Mobile App
Now let’s get specific information about these North American escalated cases. Double-tap the chart to view it in full screen mode:
635
Analyze Your Data Access Insights from the Analytics Mobile App
While in full screen mode, you can explore the chart in a lens.
• Tap Deselect to explore all of the data in the lens.
• Tap Details to see a table of data about the escalated cases.
• Tap Drill In to chart information about the escalated cases. Drilling in filters by escalated cases, then lets you group by other
dimensions.
Most of what you see in a dashboard is interactive or dynamic. Try tapping around and see what happens!
636
Analyze Your Data Access Insights from the Analytics Mobile App
b. To start exploring data in a new lens, tap Datasets, and then select a dataset.
A new lens opens and shows the dataset’s total count of rows.
2.
Explore by tapping Build and adding measures and groupings.
637
Analyze Your Data Access Insights from the Analytics Mobile App
3. Under Add a Group, tap one of the dimensions to assign it to the chart element. For example, in a bar chart, each bar could be a
member of the group.
The dimensions in your dataset determine which categories you can group by.
638
Analyze Your Data Access Insights from the Analytics Mobile App
The visualization in your lens changes to show the data grouped by the dimension that you selected.
Change Measures
Your choice of measure defines your entire visualization and determines the overall scope of your exploration.
1.
While viewing data in a lens, tap Build.
2.
To change a measure, tap it. To add another measure, tap next to the chart element you want to represent the measure. Note
that the chart elements vary for different charts.
3. Choose an aggregation function, such as count or sum.
639
Analyze Your Data Access Insights from the Analytics Mobile App
The dimensions in your dataset determine which categories you can group by.
640
Analyze Your Data Access Insights from the Analytics Mobile App
641
Analyze Your Data Access Insights from the Analytics Mobile App
Share a Visualization
Share a visualization by sending a link to your colleagues.
Keep in mind that lenses and dashboards within the CRM Analytics Shared App are accessible to everyone in your organization. All users
can at least view the contents of the Shared App, unless you restrict access. All other apps—and the lenses and dashboards that they
contain—are private unless you explicitly share an app with a specific user, group, or role. To manage access to apps, open CRM Analytics
in a desktop Web browser.
To share a visualization, follow these steps.
1.
While viewing a lens or dashboard, tap Actions.
2. Select one of the options for sharing a link.
642
Analyze Your Data Access Insights from the Analytics Mobile App
643
Analyze Your Data Access Insights from the Analytics Mobile App
General Limitations
Feature Limitations
Layout Landscape mode is supported only for tablets. Portrait mode is supported for both tablets and phones. Split
screen isn’t supported.
Share You can’t create, edit, or delete sharing permissions for apps.
Delete You can’t delete datasets or lenses from your mobile device.
Favorites Pinned apps are shared across all your logged in devices. Favorites of dashboards, lenses, and datasets are
stored locally on your mobile device and aren’t synced to other devices.
Links You can link to external sites from CRM Analytics assets but not from external sites.
Feature Limitations
Charts and Tables • Charts don’t support multiple selection actions such as copy and focus.
• Pivot tables aren’t supported.
• Sankey charts aren’t supported.
• Rating charts aren’t supported.
Widgets Image
The image widget doesn’t support .svg files.
644
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
Number
Exploring a number widget isn’t supported.
Queries • If more measures or groupings are added to a chart than the chart type supports, then the chart becomes
a Compare Table.
• The maximum results returned by a query vary based on its type. For example, the default query limit for
an aggregate query with multiple groupings is 500, so just the first 500 records are displayed by default.
The default can be changed in the dashboard designer in CRM Analytics Studio.
• Apex steps (beta) aren’t supported on mobile.
Dashboards designed • CRM Analytics dashboards designed in your Salesforce org on the Web can be viewed in CRM Analytics
in the CRM Analytics for Android on your local device. Some widgets appear different on mobile.
Studio
• To optimize dashboard for mobile, generate a layout for phone or tablet in the dashboard designer.
• Gutter color options aren’t supported.
645
Analyze Your Data Access Insights from the Analytics Mobile App
Analytics uses live data whenever you have internet access. Also, offline assets aren’t automatically updated when internet access is
available. Keep your offline data fresh by tapping Refresh Offline Data (3) when internet access is available.
To see all assets available for offline access, tap the filter icon (4), and then select Offline (5).
646
Analyze Your Data Access Insights from the Analytics Mobile App
To remove offline access for a specific asset, open the details panel, and then tap the check mark above Available Offline (6). To remove
all offline access, go to Settings, tap Offline, and then tap Remove all offline data (7).
647
Analyze Your Data Access Insights from the Analytics Mobile App
648
Analyze Your Data Access Insights from the Analytics Mobile App
1. Open a dashboard.
2. To create a layout, click Add Layout (1). To open an existing layout, select it from the list (2).
3. Add and rearrange widgets, and choose other layout properties. The designer updates the preview in real time so that you can see
how your changes affect the display.
General
Set the layout name, grid settings, and background color. The designer previews the dashboard and layout based on the layout
property settings.
Device
Specify information about the devices that can use this layout. For more information about how CRM Analytics uses these
properties to choose the right layout, see Rules for Choosing a Layout for a Device.
Background Image
To apply a background image to the entire dashboard when this layout is used, enter the details about the background image.
You don’t have to include a background image.
649
Analyze Your Data Access Insights from the Analytics Mobile App
Unused Widgets
To add an unused widget to the layout, drag the widget from the Unused Widgets section to the canvas.
Note: CRM Analytics also adds the widget to other layouts if layout synchronization is on and the layouts were created
with Copy Content enabled.
Theme
Themes enable you to create and apply aesthetic properties for dashboard widgets all at once. For more information, see Manage
Widget Properties with Themes.
3. Click Done, then click the Salesforce Analytics App Package and then View Components.
USER PERMISSIONS
4. Select iOS or Android. To configure policies and other settings, click Edit. When you’re finished,
save your changes. To install and configure
For more information about Connected App settings, see Edit a Connected App. Connected App:
• Manage CRM Analytics
5. If you want to disable sharing options for mobile users, click New in the Custom Attributes
section.
All sharing options are enabled by default. To disable an option, add its attribute key and enter “false” for the attribute value.
See the table for the supported attribute keys.
650
Analyze Your Data Access Insights from the Analytics Mobile App
Note: To apply custom attributes to connected users, you can revoke them and ask them to reconnect.
6. To view and control how mobile clients connect to your CRM Analytics-enabled org, from Setup, in the Quick Find box, enter
Connected Apps, and then select Connect Apps OAuth Usage.
You can block user sessions, revoke individual users, and drill in to user details. For more information, see Monitoring Usage for a
Connected App.
Note: For certificate-based authentication, users must set their desktop browsers to allow cookies.
For extra security, use Mobile Device Management (MDM) with the option to show only authorized hosts. The "OnlyShowAuthorizedHosts"
key allows you to hide the “Add New Account” plus sign in the mobile app. For more information, see Using MDM with Salesforce Mobile
SDK Apps.
651
Analyze Your Data Access Insights from the Analytics Mobile App
3. Click Done, then click the Wave Web App Package and then View Components. The app
USER PERMISSIONS
package contains the Wave Web Connected App.
4. Use the App Manager to change the Wave Web Connected App configuration. To install and configure the
Connected App:
For more information about Connected App settings, see Edit a Connected App. • Manage CRM Analytics
5. To view and control how clients connect to your CRM Analytics-enabled org, from Setup, in
the Quick Find box, enter Connected Apps, and then select Connect Apps OAuth
Usage.
You can block user sessions, revoke individual users, and drill in to user details. For more information, see Monitoring Usage for a
Connected App.
Note: For certificate-based authentication, users must set their desktop browsers to allow cookies.
Warning: For this connected app, the only supported refresh token type is the default type, Refresh token is valid until
revoked. If you change the refresh token from the default, session validation in CRM Analytics can fail with Session expired
or invalid errors. For more information, see Manage OAuth Access Policies for a Connected App.
For issues with loading CRM Analytics dashboards in the Salesforce Mobile app when continuous IP restrictions are enabled, you can
relax the IP restrictions for the Wave Web Connected App. Relaxing the app’s IP restrictions allows users to interact with CRM Analytics
regardless of IP restrictions set for the user’s profile. For more information, see Connected App IP Relaxation and Continuous IP Enforcement.
652
Analyze Your Data Access Insights from the Analytics Mobile App
Note: Advise users to enable push notifications by opening the device Settings, tapping Notifications, and allowing notifications
for Analytics.
Note: Notifications may include text about a certain metric and its current and threshold values. To ensure that sensitive information
isn’t distributed through a third-party service without proper authorization, push notifications include minimal content unless you
enable full content in push notifications.
For example, suppose an in-app notification reads: “‘Quota Remaining’ met conditions: Amount is 265K and is greater than 250K”
By default, the equivalent push notification would be “Notification conditions met.” However, if you enabled full content in push
notifications, this push notification would include the same (full) content as the in-app notification.
653
Analyze Your Data Access Insights from the Analytics Mobile App
Note: Some deep link scheme features, such as passing filters and selections, apply only to dashboards. Support is only for
dashboards that are built using the dashboard designer.
URL Scheme Format
Use the following format to make a request to a CRM Analytics app.
<scheme_name>://<assetType>/<assetID>?orgId=<orgId>&loginHost=<loginHost>&dashboardState=<url-encoded
json>
The following parameters are supported.
assetID String Unique asset identifier. The identifier is the 18-character Yes
code beginning with 0FK found in the asset URL.
orgID String ID of the organization that contains the content. If users Yes
are logged in to the same org ID, they are directed to the
content. If users are not logged in to the same org ID, they
are redirected to the login screen.
loginHost String URL that displays the login screen when the user is not Yes
logged in to the application.
654
Analyze Your Data Access Insights from the Analytics Mobile App
dashboardState
state
dashboardFilter
values String[] or Double[] The list of dimension or measure values corresponding to the fields.
JSON Examples
The following syntax causes value1 and value2 to be selected on field1. It also filters on field2 based on operator1
with values3 and values4.
{'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['$value1', '$value2']},
{'fields': ['field2'], 'filter': { 'operator': 'operator1', 'values': ['$value3',
'$value4']}}]}}
655
Analyze Your Data Access Insights from the Analytics Mobile App
in","values":["Salesforce"]}},{"fields":["State","Country"],"selection":[["TX","US"]],"filter":{"operator":"in","values":[["TX,
US"],["AL","DE"]]}}],"Accounts":[{"fields":["Revenue"],"selection":[],"filter":{"operator":">=","values":[[1000000]]}}]}}
With this URL encoded JSON, the example earlier in this topic is modified as follows.
sfanalytics://dashboard/0FKB00000006TFVOA2?orgId=00DB00000000XXX
&
l
o
g
in
H
o
st
=
c
s
4.
s
a
le
s
f
o
rc
e
.
co
m
&
d
as
h
b
oa
r
d
S
ta
t
e
=%
7
B
%
2d
a
ta
s
e
t
s%
2%
3
A
%
7B
%
2O
po
r
t
u
ni
t
i
es
%
2%
3
A
%
5B
%
7
B%
2f
i
e
l
ds
%
2%
3
A
%
5B
%
2O
pt
y
N
a
me
%
2%
5
D
%
2C
%
2s
e
l
e
ct
i
o
n%
2%
3
A
%
5B
%
2R
e
l
a
te
I
Q
%2%
2
C
%
2B
e
yo
n
d
C
or
e
%
2%
5
D
%2
C
%
2f
i
l
te
r
%
2%
3
A
%7
B
%
2o
p
e
ra
t
o
r
%2%
3
A
%
2n
o
t%
2
0
i
n%
2%
2
C
%
2v
a
lu
e
s
%
2%
3
A%
5
B
%
2S
a
le
s
f
o
rc
e
%
2%
5
D
%7
D
%
7
D%
2
C
%7
B
%
2f
i
e
ld
s
%
2%
3
A
%5
B
%
2S
t
a
te
%
2%
2
C
%
2C
o
un
t
r
y
%2%
5
D
%
2C
%
2s
e
l
e
ct
i
o
n%
2%
3
A
%
5B
%
5
B%
2T
X
%
2%
2
C
%2U
S
%
2%
5
D
%5
D
%
2
C%
2f
i
l
t
er
%
2%
3
A
%
7B
%
2o
p
e
r
at
o
r
%2%
3
A
%
2i
n
%2%
2
C
%
2v
a
lu
e
s
%
2%
3
A%
5
B
%
5B
%
2T
X
%
2
C%
2
0
US
%
2%
5
D
%
2C
%
5
B%
2A
L
%
2%
2
C
%2D
E
%
2%
5
D
%5
D
%
7
D%
7
D
%5
D
%
2
C%
2A
co
u
n
t
s%
2%
3
A
%
5B
%
7
B%
2f
i
e
l
ds
%
2%
3
A
%
5B
%
2R
e
v
e
nu
e
%
2%
5
D
%2
C
%
2s
e
l
ec
t
i
o
n%
2%
3
A
%
5B
%
5
D%
2
C
%
2f
i
lt
e
r
%
2%
3
A%
7
B
%
2o
p
er
a
t
o
r%
2%
3
A
%
2%
3
E%
3
D
%
2%
2
C%
2v
a
l
u
es
%
2%
3
A
%
5B
1
000%
5
D
%
7D
%
7
D%
5
D
%
7D
%
7
D
General Limitations
Feature Limitations
Layout Landscape mode is supported only for iPad®. Portrait mode is supported for both iPad and iPhone®. Split
screen isn’t supported.
Share You can’t create, edit, or delete sharing permissions for apps.
Delete • Deleting a dashboard or lens in CRM Analytics on your mobile device also deletes it in your Salesforce
org on the Web.
• After it’s deleted, a dashboard or lens can’t be recovered. The only exception is the playground sample
data, which can be restored from the Settings screen.
656
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• Datasets can’t be deleted from your mobile device.
Playground Imported or created data, lenses, and dashboards aren’t backed up in a device backup. Playground sample
data can be restored from the Settings screen.
Favorites Pinned apps are shared across all your logged in devices. Favorites of dashboards, lenses, and datasets are
stored locally on your mobile device and aren’t synced to other devices.
Feature Limitations
Charts and Tables • Charts don’t support multiple selection actions such as copy and focus.
• Frozen table columns in dashboards don’t stay frozen when viewed on CRM Analytics for iOS using any
iOS device.
Widgets Image
The image widget doesn’t support .svg files.
Number
Exploring a number widget isn’t supported.
Queries • If more measures or groupings are added to a chart than the chart type supports, then the chart becomes
a Compare Table.
• The maximum results returned by a query vary based on its type. For example, the default query limit for
an aggregate query with multiple groupings is 500, so just the first 500 records are displayed by default.
The default can be changed in the dashboard designer in CRM Analytics Studio.
• Apex steps (beta) aren’t supported on mobile.
Dashboards designed • CRM Analytics dashboards designed in your Salesforce org on the Web can be viewed in CRM Analytics
in the CRM Analytics for iOS on your local device. Some widgets appear different on mobile.
Studio
• To optimize dashboards for mobile, generate a layout for phone or tablet in the dashboard designer.
• Gutter color options aren’t supported.
Feature Limitations
CRM Analytics Data • Only CSV, TSV, and XLSX files, and ZIP files containing these types, can be imported as dataset.
Connector
657
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• Imported datasets aren’t available in CRM Analytics on the Web. They’re only available on your mobile
device in the playground.
• Imported datasets aren’t encrypted.
658
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• DD-Mon-YY
• DD-Mon-YYYY
• DD-Mon-YYYY HH:mm
• YYYYMMDD HH:MM:SS
• YYYY/MM/DD HH:MM:SS
• MM/DD/YYYY HH:MM:SS
• MM/DD/YYYY HH:MM:SS AM/PM
• MM/DD/YY HH:MM:SS AM/PM
• DD/MM/YYYY HH:MM:SS
• YYYY/MM/DD HH:MM
• MM/DD/YYYY HH:MM
• DD/MM/YYYY HH:MM
• DD/MM/YY HH:MM:SS
• DD/MM/YYYY HH:MM:SS AM/PM
• DD/MM/YY HH:MM:SS AM/PM
• YYYY-MM-DD HH:MM:SS
• YY-MM-DD HH:MM:SS
• DD-MM-YYYY HH:MM:SS
• DD-MM-YY HH:MM:SS
• DD-MM-YYYY HH:MM:SS AM/PM
• DD-MM-YY HH:MM:SS AM/PM
• MM-DD-YYYY HH:MM:SS
• MM-DD-YYYY HH:MM:SS AM/PM
• MM-DD-YY HH:MM:SS AM/PM
• YYYY-MM-DD HH:MM
• DD-MM-YYYY HH:MM
• MM-DD-YYYY HH:MM
• YYYY-MM-DDTHH:MM:SS
• DD-MM-YYYYTHH:MM:SS
• MM-DD-YYYYTHH:MM:SS
• YYYY-MM-DDTHH:MM
• DD-MM-YYYYTHH:MM
• MM-DD-YYYYTHH:MM
• YYYY-MM-DDTHH:MM:SS-HH:MM
• YYYY-MM-DDTHH:MM:SS+HH:MM
• YYYY-MM-DDTHH:MM:SSTZD
• YYYYMMDDTHH:MM:SS
• HH:MM:SS DD/MM/YYYY
659
Analyze Your Data Access Insights from the Analytics Mobile App
Feature Limitations
• HH:MM:SS DD/MM/YY
• DD-MM-YYYYTHH
General Limitations
Feature Limitations
Layout Landscape mode is supported only for tablets. Portrait mode is supported for both tablets and phones. Split
screen isn’t supported.
Share You can’t create, edit, or delete sharing permissions for apps.
Delete You can’t delete datasets or lenses from your mobile device.
Favorites Pinned apps are shared across all your logged in devices. Favorites of dashboards, lenses, and datasets are
stored locally on your mobile device and aren’t synced to other devices.
Links You can link to external sites from CRM Analytics assets but not from external sites.
Feature Limitations
Charts and Tables • Charts don’t support multiple selection actions such as copy and focus.
• Pivot tables aren’t supported.
• Sankey charts aren’t supported.
• Rating charts aren’t supported.
660
Analyze Your Data Set Up the CRM Analytics Platform
Feature Limitations
Widgets Image
The image widget doesn’t support .svg files.
Number
Exploring a number widget isn’t supported.
Queries • If more measures or groupings are added to a chart than the chart type supports, then the chart becomes
a Compare Table.
• The maximum results returned by a query vary based on its type. For example, the default query limit for
an aggregate query with multiple groupings is 500, so just the first 500 records are displayed by default.
The default can be changed in the dashboard designer in CRM Analytics Studio.
• Apex steps (beta) aren’t supported on mobile.
Dashboards designed • CRM Analytics dashboards designed in your Salesforce org on the Web can be viewed in CRM Analytics
in the CRM Analytics for Android on your local device. Some widgets appear different on mobile.
Studio
• To optimize dashboard for mobile, generate a layout for phone or tablet in the dashboard designer.
• Gutter color options aren’t supported.
1. Learn about CRM Analytics Platform Licenses and Permission Sets Available with CRM
Introduce yourself to CRM Analytics setup fundamentals, which apply to both basic and advanced Analytics, which is available
setup procedures. for an extra cost in
Enterprise, Performance,
2. Learn about Internal Analytics Users and Unlimited Editions. Also
Analytics uses internal users, Integration User and Security User, to access Salesforce data, available in Developer
preview data in Data Prep recipes, and enforce row-level security on datasets. Edition.
3. Basic CRM Analytics Platform Setup
Follow these few steps to give users in your organization access to CRM Analytics platform,
templates, and apps quickly. Basic setup uses permission sets included with the CRM Analytics Plus or CRM Analytics Growth licenses,
which cover the majority of most organizations’ analytics needs.
4. Advanced CRM Analytics Platform Setup
Follow these steps to learn the details of CRM Analytics permissions and to create and assign your own custom permission sets.
5. Complete Setting Up the CRM Analytics Platform
After assigning permission sets with either basic or advanced setup, follow these optional procedures to enhance the CRM Analytics
experience and fine-tune CRM Analytics access to Salesforce data.
6. CRM Analytics Requirements
This section provides requirements for using CRM Analytics.
661
Analyze Your Data Set Up the CRM Analytics Platform
SEE ALSO:
Set Up the Analytics Platform with Licenses Purchased Before October 20, 2015
Migrating From CRM Analytics Licenses Purchased Before 10/20/2015 to New CRM Analytics Platform Licenses
CRM Analytics Requirements
CRM Analytics Limits
CRM Analytics Limitations
Important:
• CRM Analytics license data storage limits are contractual, not technical. Licensee agrees to strictly monitor its total number of
data rows.
• If you purchased a CRM Analytics Growth license before October 20, 2015 with Analytics Cloud Builder or Analytics Cloud
Explorer permission set licenses: Read Set up the CRM Analytics Platform With Licenses Purchased Before October 20, 2015. If
you’re migrating users from Builder or Explorer licenses to the new CRM Analytics Growth license: See Migrating From CRM
Analytics Licenses Purchased Before 10/20/2015 to New CRM Analytics Platform Licenses before you start the setup process
for those users.
• If you disable CRM Analytics, user permissions are removed from each defined permission set. If you re-enable CRM Analytics
later, you must define the permission sets again.
662
Analyze Your Data Set Up the CRM Analytics Platform
When you assign any CRM Analytics permission set to users in your org, Salesforce auto-assigns the CRM Analytics Growth permission
set license to that user.
Note: For efficiency, you can assign a permission set to groups of users. You can also assign multiple permission sets to a user.
You can assign a CRM Analytics permission set license along with any of the following Salesforce user licenses:
• Lightning Platform (app subscription)
• Lightning Platform (one app)
• Full CRM
• Salesforce Platform
• Salesforce Platform One
SEE ALSO:
CRM Analytics Limitations
CRM Analytics Limitations
Important: Because Analytics requires the Integration User and Security User to access Salesforce data and preview recipe changes
to data, do not delete either of these users.
SEE ALSO:
Control Access to Salesforce Objects and Fields
Set Up Dataset Security to Control Access to Rows
663
Analyze Your Data Set Up the CRM Analytics Platform
4. Click Manage Assignments. The next page shows the users already assigned the selected permission set.
5. To see all the users in your org click Add Assignments.
6. Select one or more users by checking the box next to their name in the left-hand column.
7. Click Assign.
You see a page that tells you if the permission set has been assigned. If permission set didn’t succeed for one or more users, Salesforce
tells you why. You can fix the problem and try again.
664
Analyze Your Data Set Up the CRM Analytics Platform
Tip: For best results, follow the steps in the order shown.
1. Learn about CRM Analytics Permission Set Licenses and User Permissions
When you create your own CRM Analytics permission sets, you start by selecting the CRM Analytics Growth permission set license
instead of using the prebuilt permission sets. The permission set license includes the user permissions required to explore data with
and manage the CRM Analytics platform.
2. Identify CRM Analytics Platform User Types
Identifying types of CRM Analytics platform users helps assure that custom permission sets meet your team’s analytics needs.
3. Enable CRM Analytics and Create Permission Sets
After identifying user types, create your permission sets then enable CRM Analytics in your org.
4. Assign CRM Analytics Permission Sets to Users
Assign custom permission sets to one or more users—either one at a time, or in bulk—to give them access to CRM Analytics
functionality.
Learn about CRM Analytics Permission Set Licenses and User Permissions
When you create your own CRM Analytics permission sets, you start by selecting the CRM Analytics Growth permission set license instead
of using the prebuilt permission sets. The permission set license includes the user permissions required to explore data with and manage
the CRM Analytics platform.
• Each CRM Analytics platform user needs a CRM Analytics Growth permission set license to use the CRM Analytics platform. Creating
a permission set and assigning it to a user auto-assigns the CRM Analytics platform permission set license to that user. You can also
manually assign permission set licenses to users.
• Experience Cloud site users need a CRM Analytics for Communities permission set license to view CRM Analytics apps shared via
dashboards embedded in sites or Visualforce pages.
The CRM Analytics Growth permission set license enables the following permissions, except Manage CRM Analytics Private Assets.
Access Analytics SAQL Editor (Pilot Feature) This user permission is no longer used and will be removed in a future release.
Add CRM Analytics Remote Connections Add connections to access data from external data sources.
Adoption Analytics Templates and Apps Create and use apps based on the Adoption Analytics template.
Create CRM Analytics Apps Create, edit, delete, and share CRM Analytics applications.
Create and Edit CRM Analytics Dashboards Create, edit, and delete CRM Analytics dashboards.
Download CRM Analytics Data Download screenshots and data in tabular format through the CRM Analytics
user interface.
Edit CRM Analytics Dataflows Edit, delete, and use remote connections; add and remove connected objects;
run and schedule data sync; create, edit, delete, run, schedule, and monitor
dataflows and recipes. Use discretion when assigning this user permission
because it enables access to all Salesforce object data to which the Integration
User has access. See Salesforce Data Access in CRM Analytics.
665
Analyze Your Data Set Up the CRM Analytics Platform
Edit Dataset Recipes Create, edit, and run recipes to create datasets. Monitor dataflow and system
jobs in the monitor. Doesn’t enable editing security predicates in existing
recipes.
Manage CRM Analytics Private Assets Delete datasets from another user’s My Private App. See Delete a Dataset
This user permission isn’t included in any of the packaged permission sets.
You have to manually assign it to a permission set. To add this user permission
to a permission set in a Sandbox org, the permission set can’t have a license
assigned to it.
If a license is assigned to the permission set, the Manage CRM Analytics Private
Assets user permission doesn’t appear when adding user permissions to
permission set.
Manage CRM Analytics Access all CRM Analytics features. Provides CRM Analytics administrator-level
capabilities.
Manage CRM Analytics Custom Maps Add, edit, and delete maps, and upload geoJSON files.
Manage CRM Analytics Templated Apps Create and manage apps based on CRM Analytics Templates. Edit CRM Analytics
dataflows. Edit recipes. Monitor dataflow and system jobs in the monitor. Some
templates require extra permissions. See the help for each template.
Trend Report Data in CRM Analytics Trend the data of a report with a CRM Analytics dataflow.
Upload External Data to CRM Analytics Upload external data to CRM Analytics to create a dataset. Monitor dataflow
and system jobs in the monitor.
Use CRM Analytics Open CRM Analytics; run CRM Analytics apps to which you have access; view
their datasets, lenses, and dashboards; and create and edit lenses.
Use CRM Analytics Templated Apps Use apps based on CRM Analytics Templates. Can also create, edit, and delete
CRM Analytics dashboards. Some templates require extra permissions. See the
help for each template.
Note: When you create permission sets for CRM Analytics users, selecting any CRM Analytics permission automatically enables
the “Use CRM Analytics” permission as well. Also, the type of access granted on an app controls the actions that can be performed
666
Analyze Your Data Set Up the CRM Analytics Platform
on its datasets, lenses, and dashboards. For example, if a user has the “Use CRM Analytics” permission, the user must also have
Viewer access on an app to view its datasets, lenses, and dashboards.
The CRM Analytics for Communities permission set license enables the “View CRM Analytics on Experience Cloud pages” permission.
That permission enables external users to view CRM Analytics dashboards embedded in their Experience Cloud sites. See Enable CRM
Analytics for Experience Cloud Sites on page 672.
Note:
• Customers who purchased CRM Analytics before October 20, 2015: See Set up the CRM Analytics Platform With Licenses
Purchased Before October 20, 2015 before following the instructions here.
667
Analyze Your Data Set Up the CRM Analytics Platform
• The Manage CRM Analytics permission set enables the equivalent functionality provided by the previous Analytics Builder
license (purchased before October 20, 2015). If you have a Builder license or you’re migrating to the current CRM Analytics
platform license, follow these steps to create a permission set with the same functionality.
• The View CRM Analytics permission set enables the equivalent functionality provided by the previous CRM Analytics Explorer
license (purchased before October 20, 2015). If you have an Explorer license or you’re migrating to the current CRM Analytics
platform license, follow these steps to create a permission set with the same functionality.
1. In the Setup menu, click Users | Permission Sets and then click New.
2. Enter Manage CRM Analytics or View CRM Analytics in the Label field, as appropriate. This automatically creates
the API name as well. You can change it if you like, but it can’t include spaces, end with an underscore, or have two consecutive
underscores.
3. For License, select the license to associate with this permission set.
When you select a specific permission set license, any user assigned to the permission set is auto-assigned the permission set license.
If you select --None--, you must manually assign the permission set license to users before you can add them to the new permission
set.
4. Click Save. The Permission Set Overview page shows the new permission set. Now add user permissions to the set.
5. Click System Permissions to open the list of user permissions enabled by the CRM Analytics license. Then click Edit.
6. Do one of the following.
• If you're creating the Manage CRM Analytics permission set, select "Manage CRM Analytics" user permissions and click Save
then Save again to confirm settings. You’ve successfully created a permission set that enables access to all CRM Analytics features.
You don’t have to select any of the other individual permissions. Assign this permission set sparingly because it provides access
to all CRM Analytics features, many of which are inappropriate for most analytics users.
• If you're creating the View CRM Analytics permission set, select "Use CRM Analytics" and "Upload External Data to CRM Analytics"
user permissions and click Save. You’ve successfully created a permission set that enables a user to view the CRM Analytics
datasets, lenses, and dashboards that they have permission to view, and to upload data files from outside Salesforce.
668
Analyze Your Data Set Up the CRM Analytics Platform
7. You can now assign your new permission set to users, which is covered in Assign Permission Sets to Users. Repeat these steps for
every user in your organization who requires access to CRM Analytics.
8. Enable CRM Analytics
a. Go to Salesforce Setup and enter Analytics in the Quick Find / Search field.
b. Select Getting Started.
c. Click Enable CRM Analytics.
669
Analyze Your Data Set Up the CRM Analytics Platform
670
Analyze Your Data Set Up the CRM Analytics Platform
2. Lightning Assets
a. From Setup, enter Reports in the Quick Find box, then select Reports and Dashboards Settings.
b. Select Show preview thumbnails for reports and Lightning dashboards.
c. Click Save.
671
Analyze Your Data Set Up the CRM Analytics Platform
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
672
Analyze Your Data Set Up the CRM Analytics Platform
USER PERMISSIONS
673
Analyze Your Data Set Up the CRM Analytics Platform
USER PERMISSIONS
To modify settings:
• Manage CRM Analytics
674
Analyze Your Data Set Up the CRM Analytics Platform
USER PERMISSIONS
To modify settings:
• Manage CRM Analytics
SEE ALSO:
Unify and Manage Your Analytics
675
Analyze Your Data Set Up the CRM Analytics Platform
Note: To subscribe to tables and receive email with table data in attached .csv files, users
need both the Download CRM Analytics Data and the Subscribe to CRM Analytics Assets USER PERMISSIONS
permissions.
To modify settings:
• Manage CRM Analytics
SEE ALSO:
Download CRM Analytics Images and Export Filtered Data
Get Scheduled Updates with Email Subscriptions
Enable CRM Analytics Watchlist
676
Analyze Your Data Set Up the CRM Analytics Platform
With the Share Analytics Images user permission enabled, users can do the following actions with
images of lenses, dashboard widgets, and whole dashboards.
• Download .png images
• Export images to Quip
• Post images to Chatter
• Include images in annotations
• Share images from conversational explorations and subscription previews
• Use the Analytics Download API
SEE ALSO:
Share Dashboards, Widgets, and Lenses
Converse with Your Data
Collaborate with Dashboard Annotations
Get Scheduled Updates with Email Subscriptions
677
Analyze Your Data Set Up the CRM Analytics Platform
If you’ve used zeros to replace blank values, you might need to perform additional steps because null measure handling can’t retroactively
change zeros to nulls.
After enabling null measure handling, review your dataflows and take these steps as needed.
1. Update your dataflow definition files to use null instead of 0 in the defaultValue attributes for measure fields in these
transformations.
2. Create instances of long-lived datasets used as a source for dataflows using a null defaultValue for measure fields.
A long-lived dataset is typically a reference dataset that isn’t updated through a dataflow and is used to augment data in other
datasets. For example, you could use a geolocation dataset to augment lead information based on ZIP codes.
3. If you have incrementally built datasets in which the source data is no longer available, use a custom dataflow to manually convert
0 values to null.
An incrementally built dataset is created over time by appending rows, such as logs.
"Calculate_Delta": { "Compute_Previous": {
"action": "delta", "action": "computeRelative",
"parameters": { "parameters": {
"dimension": "OpportunityId", "partitionBy": [
"epoch": "CreatedDate_day_epoch", "OpportunityId"
],
"inputMeasure": "Amount", "orderBy": [
"outputMeasure": "DeltaAmount", {
"source": "name": "CreatedDate",
"Extract_Opportunity_History" "direction": "asc"
} }
}, ],
"computedFields": [
{
"name": "PrevAmount",
"expression": {
"sourceField": "Amount",
"offset": "previous()",
678
Analyze Your Data Set Up the CRM Analytics Platform
"default": "current()"
}
}
],
"source":
"Extract_Opportunity_History"
}
},
"Compute_Delta": {
"action": "computeExpression",
"parameters": {
"computedFields": [
{
"name": "DeltaAmount",
"type": "Numeric",
"precision": 18,
"defaultValue": 0,
"scale": 2,
"saqlExpression": "Amount -
PrevAmount"
}
],
"source": "Compute_Previous"
}
},
SEE ALSO:
computeRelative Transformation
computeExpression Transformation
679
Analyze Your Data Set Up the CRM Analytics Platform
Open Salesforce Records from CRM Analytics dashboards in New Browser Tabs
By default, selecting a Salesforce record action in a CRM Analytics dashboard opens the record in
EDITIONS
a new Lightning Experience tab. To change the default behavior, so that selecting an action opens
the record in a new browser tab, enable this setting. The setting applies to dashboards in the CRM Available in: Salesforce
Analytics tab and dashboards embedded in Salesforce pages. Classic and Lightning
To set up CRM Analytics dashboards to open records in new browser tabs, complete the following Experience.
steps.
Available for an extra cost
1. From Setup, enter Analytics in the Quick Find box, then select Settings. in: Enterprise, Performance,
and Unlimited Editions. Also
2. Select Open Salesforce records in new browser tabs.
available in: Developer
3. Click Save. Edition
USER PERMISSIONS
To subscribe to widgets:
• Use CRM Analytics
4. Click Save.
CRM Analytics inherits the custom fiscal years defined in Salesforce. Custom fiscal year data and functionality, including fields suffixed
_Fiscal, becomes available on a per-dataset basis after each dataset’s dataflow runs. After inheriting custom fiscal years, users can
work with fiscal data in SAQL queries and new fiscal filter and group options appear in Dashboards, like “Fiscal Year” and “Fiscal Quarter”.
680
Analyze Your Data Set Up the CRM Analytics Platform
SEE ALSO:
Time Zone Date Functions
4. From the Default Dashboard Timezone picklist, select the time zone to use for date-time values in time zone enabled dashboards.
You can choose between the CRM Analytics supported time zone or GMT.
5. Select GMT if you don’t want to convert date-time values in time zone enabled dashboards.
6. To have all new dashboards and lenses default to the time zone enabled date syntax, select Enable new date version for dashboard
or lens.
Existing dashboards and lenses must be recreated to use the new date syntax. See the considerations on page 685 before enabling
this setting.
681
Analyze Your Data Set Up the CRM Analytics Platform
7. Click Save.
Remote All date fields When sync Run data sync No changes. Time zone fields
Connections generated as runs, Date to update are still generated.
type Date. fields auto connected
mapped to external
type DateOnly objects.
or DateTime.
Input date
682
Analyze Your Data Set Up the CRM Analytics Platform
Data Prep Recipes Salesforce Date and Existing dataflows Run dataflows and No changes. Time zone fields are still
and User Dataflows Date Time fields and Data Prep Data Prep Recipes to generated.
generated as type Recipes continue to update datasets.
Date work, and generate Warnings prompt
time zone enabled optional action.
datasets.
Some nodes have
Data Sync on: Date new parameter
fields inherit type dateSyntax, which
DateTime or determines what
DateOnly from syntax is used in their
connected objects. SAQL expressions.
Data Sync off:
Salesforce Date and
Date Time fields auto
mapped to type
DateOnly or
DateTime.
Registered datasets
with legacy Date
type fields fetched in
“edgemart” nodes are
converted to datasets
with DateTime type
at runtime.
File Uploads All date fields Automated uploads No required action. No changes. Time zone fields are still
generated as type continue to work, and Warnings prompt generated.
Date. generate time zone optional action.
enabled datasets.
UI uploads generate
time zone enabled
datasets.
Date field type auto
detected and
mapped to type
DateOnly or
DateTime.
If auto detect not
possible, Date field
type mapped to
DateTime.
683
Analyze Your Data Set Up the CRM Analytics Platform
Dashboards All date fields Existing dashboards Users can choose to Users must revert dashboards to use
generated as type continue to work and build new time zone previous syntax and delete time zone
Date. are enabled dashboards, enabled dashboards.
backwards-compatible which use the Default Time zone enabled dashboards continue
with time zone Dashboard Timezone to work.
enabled datasets. set in CRM Analytics No option to create time zone enabled
settings. dashboard or lenses from the Spring ’18
New SAQL syntax release.
must be used with
time zone enabled
Dashboards.
If a step references a
non-time zone
enabled dataset, it
fails at runtime, but
the rest of the
dashboard loads.
Date field formats are
standardized, rather
than displaying the
date as ingested. The
date format can be
changed by
converting the date
to a string in the
SAQL expression or
by adding a string
field of the full date to
the dataset.
684
Analyze Your Data Set Up the CRM Analytics Platform
Data source links between a static step and an individual date component of a DateOnly or Available for an extra cost in
DateTime field aren’t supported. Enterprise, Performance,
and Unlimited Editions. Also
Bind Dates in a Time Zone Enabled Dashboard
available in: Developer
When binding dates in a time zone enabled dashboard, you refer to date fields differently. Note
Edition
the following differences between GMT-only dashboards and time zone enabled dashboards.
cell(myStep.selection, 0, cell(myStep.selection, 0,
"CloseDate_year~~~CloseDate_month") "year-month_CloseDate")
asEquality("CreateDate_year", asEquality(["year",
"Region") "CreateDate"], "Region")
asDateRange("CreateDate('year', asDateRange("CreateDate")
'month', 'day')")
Group by Date
"groups": [ "groups": [
"CloseDate_Year" ["year", "CloseDate"]
] ]
Group by Date
"groups": [ "groups": [
[ ["year-quarter",
"CloseDate_Year", "CloseDate"]
]
"CloseDate_Quarter"
685
Analyze Your Data Set Up the CRM Analytics Platform
]
]
Filter by Date
"filters": [ "filters": [
[ [
"Created Date", "Created Date",
[ [
[ [
1359504000000, "2013-01-30
1486425600000 00:00:00",
] "2017-02-02
], 23:59:59"
">=<=" ]
] ],
] ">=<="
]
]
"Opportunity.CloseDate",
[
[
[
"quarter",
-2
],
[
"quarter",
0
]
]
],
">=<="
]
]
Order by Date
"Order": [ "order": [
[ [
"CreateDate_year", ["year", "CreateDate"],
{ {
"ascending": true "ascending": true
} }
] ]
] ]
686
Analyze Your Data Set Up the CRM Analytics Platform
Other Considerations
You can’t view converted date-time values in a lens.
Time zone enabled dashboards don’t support these features:
• Notifications
• Subscriptions
• Watchlists
• Natural language queries
• Data source connections between a static step and a dataset date field
• Displaying month names, such as “Jan” and “Feb” (months display as numbers only, such as “01” and “02”)
• Remote text-based search on date fields in list widgets
687
Analyze Your Data Set Up the CRM Analytics Platform
4. Click Save.
688
Analyze Your Data Set Up the CRM Analytics Platform
USER PERMISSIONS
To modify settings:
• Manage CRM Analytics
3. To restrict access to the Analytics Studio for a profile, clear its check from the Visible column in the Assign to Profiles section.
689
Analyze Your Data Set Up the CRM Analytics Platform
Important: Although disabling visibility removes UI links to Analytics Studio within the Analytics tab, any URL to the Studio version
of an asset always opens it in Studio. The Studio version URL is available in the Share dialog and is provided in notification and
subscription emails. However, for notifications created on embedded dashboards and in Analytics Tab, links in notification emails
navigate the user to the Analytics Tab.
Note: The Visible setting applies to the Analytics tab only. Access to Analytics Studio from embedded dashboards is controlled
through the component’s attributes.
690
Analyze Your Data Set Up the CRM Analytics Platform
3. Click Done, then click the Salesforce Analytics App Package and then View Components.
USER PERMISSIONS
4. Select iOS or Android. To configure policies and other settings, click Edit. When you’re finished,
save your changes. To install and configure
For more information about Connected App settings, see Edit a Connected App. Connected App:
• Manage CRM Analytics
5. If you want to disable sharing options for mobile users, click New in the Custom Attributes
section.
All sharing options are enabled by default. To disable an option, add its attribute key and enter “false” for the attribute value.
See the table for the supported attribute keys.
691
Analyze Your Data Set Up the CRM Analytics Platform
Note: To apply custom attributes to connected users, you can revoke them and ask them to reconnect.
6. To view and control how mobile clients connect to your CRM Analytics-enabled org, from Setup, in the Quick Find box, enter
Connected Apps, and then select Connect Apps OAuth Usage.
You can block user sessions, revoke individual users, and drill in to user details. For more information, see Monitoring Usage for a
Connected App.
Note: For certificate-based authentication, users must set their desktop browsers to allow cookies.
For extra security, use Mobile Device Management (MDM) with the option to show only authorized hosts. The "OnlyShowAuthorizedHosts"
key allows you to hide the “Add New Account” plus sign in the mobile app. For more information, see Using MDM with Salesforce Mobile
SDK Apps.
• The administrator can implement object-level and field-level security to control access to Salesforce data. For example, the administrator
can restrict access to prevent the dataflow from loading sensitive Salesforce data into datasets. This document describes how CRM
Analytics uses object-level and field-level security on Salesforce data and how to configure permissions on Salesforce objects and
fields.
• Dataset owners can implement row-level security on each dataset that they create to restrict access to it’s records. If a dataset does
not have row-level security, users who have access to the dataset can view all records. This document describes how to configure
row-level security on datasets and provides some sample implementations based on datasets created from Salesforce data and
external data.
• App owners, administrators, and users granted manager access to an app control access to datasets, lenses, and dashboards within
apps. This document describes the different levels of access for apps and how to share datasets, lenses, dashboards in an app with
other users.
692
Analyze Your Data Set Up the CRM Analytics Platform
Note: CRM Analytics supports security predicates, a robust row-level security feature that enables you to model many different
types of access controls on datasets. Also, CRM Analytics supports sharing inheritance, to synchronize with sharing that’s
configured in Salesforce, subject to certain limitations. If you use sharing inheritance, you must also set a security predicate to
take over in situations when sharing settings can’t be honored.
For complete information about implementing CRM Analytics security, see CRM Analytics Security Implementation Guide.
Important: Because CRM Analytics requires the Integration User and Security User to access Salesforce data, do not delete either
of these users.
693
Analyze Your Data Set Up the CRM Analytics Platform
Note: You can’t change the permissions on standard fields of the User object.
9. Verify that the Integration User or Security User has the right permissions on fields of the objects.
694
Analyze Your Data Set Up the CRM Analytics Platform
As a prerequisite to CRM Analytics Encryption, you must be approved by the CRM Analytics Encryption Product Manager. Your org must
have a Shield Platform Encryption tenant secret. (CRM Analytics Encryption uses PE key management, so it’s not necessary to encrypt
objects and fields in core Salesforce.)
When using CRM Analytics with your encryption-enabled instance, data read from and written to disk is automatically encrypted with
the unique key for your account. For more information about the encryption technology, refer to the Shield Platform Encryption
Architecture white paper. To verify that encryption is enabled, go to the Analytics Settings page in the Setup UI.
For CRM Analytics Encryption to function properly, you must define IP ranges for the Analytics Cloud Integration and Analytics Cloud
Security user profiles as documented in Best Practices: Manage Integration and Security Users in CRM Analytics. Also, add designated
Salesforce IPs to your allowlist, Salesforce IP Addresses and Domains to Allow.
Features
Key export, Bring Your Own Key, key rotation, key revocation, and key import are available.
All CRM Analytics features are supported, with the following exceptions:
• Pre-existing data is not encrypted.
• Data that was in CRM Analytics before encryption was enabled is not encrypted.
• If pre-existing data is imported from Salesforce objects through the dataflow, the data becomes encrypted on the next dataflow
run.
• Other pre-existing data (such as CSV data) must be reimported to become encrypted.
• Although pre-existing data is not encrypted, it is still accessible and fully functional in its unencrypted state when encryption is
enabled.
Frequently Asked Questions
Is data encrypted in transit? Yes. However, encryption in transit is different from encryption at rest. This feature covers encryption at rest.
Can CRM Analytics bring in data encrypted with Shield Platform Encryption? Yes. CRM Analytics reads platform encrypted data in the
same way that any user reads platform encrypted data. The data is then written and encrypted in CRM Analytics. It is not required that
data be encrypted with Shield Platform Encryption to be encrypted in CRM Analytics. It’s only required that a Tenant Secret exists for
the org.
Can I mask my data? No. Masking data is not currently available and it does not fall under the CRM Analytics scope.
Are the keys different for Shield Platform Encryption and CRM Analytics Encryption? Yes, although Shield and CRM Analytics use the
same key management technology, they use different keys.
695
Analyze Your Data Set Up the CRM Analytics Platform
Do mobile dashboards still work with encryption? Yes. All CRM Analytics functionality, including support for mobile devices, works with
encryption enabled. All data stored on mobile (mainly JSON code and thumbnails) is AES 256 encrypted.
Is there any impact on application performance? The CRM Analytics Encryption solution is designed to have at most a minimal performance
impact on your CRM Analytics application experience.
Supported Browsers
CRM Analytics supports all browsers supported by Lightning Experience.
Data Manager
Lightning Web Components must be enabled to use all Data Manager features.
Browser Zoom
Browser zoom settings other than 100% aren’t supported for CRM Analytics.
Screen Resolution
The minimum screen resolution required to support all Salesforce features is 1024 x 768 pixels.
Technical Requirements
To optimize your implementation, review the minimum and recommended technical requirements for CRM Analytics. These technical
requirements help you predict whether your hardware and network can provide an acceptable and productive user experience. We
strongly recommend testing the actual end-user experience with a configuration identical to what you expect to use in production. Test
using the same geographic location, hardware, browser, network settings, and the expected concurrent users for shared hardware like
virtual desktops.
Load times are measured in Experienced Page Time (EPT). Dashboard EPT measures how long it takes for a dashboard to load, where
the page fully renders and is responsive to user interaction.
For the fastest and most stable experience, we recommend:
• An Octane 2.0 score of 30,000 or greater
• Network latency of 150 ms or less
• Download speed of 3 Mbps or greater
• At least 8 GB of RAM, with 3 GB available for Salesforce browser tabs
Minimum requirements are:
• An Octane 2.0 score of 20,000 or greater
696
Analyze Your Data Set Up the CRM Analytics Platform
Maximum CRM Analytics API calls per user per hour 10,000
697
Analyze Your Data Set Up the CRM Analytics Platform
Your total row storage limit is a combination of your active licenses. For example: Because the CRM Analytics Plus license includes the
Sales Analytics and Service Analytics licenses, your total row allocation remains 10 billion. Similarly, the CRM Analytics Growth license
includes the Sales Analytics and the Service Analytics licenses, so your total row allocation remains 100 million. However, if you obtain
another Sales Analytics or Services Analytics license, your row limit increases by 25 million for each added license.
Value Limit
Maximum number of fields in a dataset 5,000 (including up to 1,000 date fields)
Maximum number of decimal places for each value in a numeric 17 decimal places
field in a dataset (overflow limit)
When a value exceeds the maximum number of decimal places,
it overflows. Both 100,000,000,000,000,000 and
10,000,000,000,000,000.0 overflow because they use more than
17 decimal places. A number also overflows if it’s greater (or less)
than the maximum (or minimum) supported value.
36,028,797,018,963,968 overflows because its value is greater than
36,028,797,018,963,967. -36,028,797,018,963,968 overflows because
it’s less than -36,028,797,018,963,967.
When a number overflows, the resulting behavior in CRM Analytics
is unpredictable. Sometimes CRM Analytics throws an error.
Sometimes it replaces a numeric value with a null value. And
sometimes mathematical calculations, such as sums or averages,
return incorrect results. Occasionally, CRM Analytics handles
numbers up to 19 digits without overflowing because they are
within the maximum value for a 64-bit signed integer (263 - 1). But
numbers of these lengths aren’t guaranteed to process.
As a best practice, stick with numbers that are 17 decimal places
or fewer. If numbers that would overflow are necessary, setting
lower precision and scale on the dataset containing the large
numbers sometimes prevents overflow. If your org hasn’t enabled
the handling of numeric values, the maximum number of decimal
places for each value in a numeric field in a dataset is 16. All orgs
created after Spring ’17 have Null Measure Handling enabled.
698
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
Maximum value for each numeric field in a dataset, including 36,028,797,018,963,967
decimal places For example, if three decimal places are used, the maximum value
is 36,028,797,018,963.967
Value Limit
Maximum number of concurrent data sync runs 3
Maximum number of objects that can be enabled for data sync, 100
including local and remote objects
Maximum amount of time each data sync job can run for local 24 hours
objects
Maximum amount of time each data sync job can run for remote 12 hours
objects
Data sync limits for each job: Up to 100,000 rows or 500 MB per object, whichever limit is reached
• Marketo Connector (Beta) first
• NetSuite Connector
• Zendesk Connector
Data sync limits for each job: Up to 1 million rows or 1 GB per object, whichever limit is reached
• Analytics MuleSoft Microsoft SQL Server Connector first
Data sync limits for each job: Up to 10 million rows or 5 GB per object, whichever limit is reached
• Amazon Athena Connector first
699
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
• SAP HANA Connector
Data sync limits for each job*: Up to 20 million rows or 10 GB per object, whichever limit is
• AWS RDS Aurora MySQL Connector reached first
Data sync limits for each job*: Up to 100 million rows or 50 GB per object, whichever limit is
• Amazon Redshift Connector reached first
• Amazon S3 Connector
• Customer 360 Global Profile Data Connector (Beta)
• Google BigQuery for Legacy SQL Connector
• Google BigQuery Standard SQL Connector
• Heroku Postgres Connector
• Microsoft Azure SQL Database Connector
• Snowflake Input Connector
*When using these connectors, Salesforce Government Cloud org data is protected in transit with advanced encryption and can sync
up to 10 million rows or 5 GB for each connected object, whichever limit is reached first.
Note: When using a Salesforce local input connection, CRM Analytics bulk API usage doesn’t count towards Salesforce bulk API
limits. Use of the external Salesforce connection and output connection impacts your limits.
The dataflow submits a separate bulk API call to extract data from each Salesforce object. The dataflow uses a batch size of
100,000–250,000, depending on whether the dataflow or the bulk API chunks the data. As a result, to extract 1 million rows from
an object, the dataflow creates 4–10 batches.
700
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
Maximum amount of time each recipe or dataflow can run 48 hours
Maximum number of concurrent dataflow runs 2 for a production org with the CRM Analytics Plus platform license
1 for a sandbox org or a production org with the CRM Analytics
Growth platform license
Maximum number of Data Prep previews per hour per user 4,000
Timeout for data load jobs (dataflows, CSV uploads, recipes, and 5 minutes
data sync) that have been scheduled but not executed
Value Limit
Maximum number of trended datasets per user 5
Maximum number of rows in the report to be trended 500,000 for admins, 100,000 for non-admins
Maximum monthly number of rows for all snapshots per org 40 million
701
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
Maximum file size per external data uploads 40 GB
Maximum file size for all external data uploads in a rolling 24-hour 50 GB
period
Value Limit
Maximum data written to Salesforce 100 MB per recipe run per output connector
100 MB per rolling 24-hour period
Maximum data written to Azure Data Lake 100 MB per recipe run per output connector
100 MB per rolling 24-hour period
Maximum data written to Amazon S3 10 GB, or 10 million rows of data per recipe run per output
connector
50 GB, or 50 million rows per rolling 24-hour period (combined*)
12-hour maximum amount of time each job can run.
Maximum data written to Snowflake through recipe or sync out 10 GB, or 10 million rows of data per recipe run per output
connector
50 GB, or 50 million rows per rolling 24-hour period (combined*)
12-hour maximum amount of time each job can run.
Maximum data written to Tableau Online 1 GB, or 1 million rows of data per recipe run per output connector
1 GB, or 1 million rows per rolling 24-hour period
12-hour maximum amount of time each job can run.
*The limit for Snowflake Output or sync out and Amazon S3 Output connectors is a combined 50 GB, or 50 million rows per rolling
24-hour period. For example, if you push 40 GB of data from CRM Analytics to Snowflake, 10 GB of allotted data remains to push to
Amazon S3.
702
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
Maximum number of characters in a security predicate 5,000
Value Limit
Maximum number of data rows 250,000
Value Limit
Maximum JSON file size per dashboard 4 MB
Default number of rows in a compare table 2000 (To set a different value, use the SAQL limit statement)
Default number of rows in a values table 100 (To set a different value, use the SAQL limit statement)
703
Analyze Your Data Set Up the CRM Analytics Platform
Value Limit
Maximum number of subscriptions per hour per org 100
Value Limit
Maximum concurrent Analytics Download API calls per user 3
Limit Value
Maximum concurrent queries per organization 50 per platform
*The maximum results returned by a query vary based on the query’s type and whether it’s executed from a desktop or the mobile
app.
soql See SOQL and SOSL Reference. See SOQL and SOSL Reference
704
Analyze Your Data Set Up the CRM Analytics Platform
Tip: To see the limit for a given query, click in the lens. If it’s not set, CRM Analytics returns up to 10,000 results. To
change the limit, edit the SAQL or SOQL query. The higher you increase the limit, the longer the query runs. For more information
about SAQL queries, see the Analytics SAQL Developer Guide. For information about SOQL queries, see Salesforce Object Query
Reference.
The limit only affects the number of records returned for display; it doesn’t affect calculations across all dataset records. For instance,
say that a query groups by account name and the dataset contain 1 million account names. With a limit of 20, CRM Analytics only
returns 20 results for display, but the summary row adds up all 1 million records.
CRM Analytics Direct Data Query Limits
These limits apply to Direct Data for Snowflake and Direct Data for Google BigQuery.
Limit Value
Maximum concurrent queries per organization 25
SEE ALSO:
CRM Analytics Limitations
How Salesforce Data Pipelines and CRM Analytics Work Together
Update Schedule
All customers receive CRM Analytics updates on the same schedule, regardless of instance.
705
Analyze Your Data Set Up the CRM Analytics Platform
Field-Level Security
Field-level security isn’t available for external data that is uploaded via files. Field-level security implemented in the original database or
Salesforce object isn’t preserved when the data is loaded into a CRM Analytics dataset. For more information, see the CRM Analytics
Security Implementation Guide.
Set Salesforce field-level security to enable the CRM Analytics Integration User to see all fields used in your app—default fields and any
fields selected in the configuration wizard. Integration users run the dataflow. If they don’t have appropriate field-level security permissions,
the dataflow fails.
Lenses Limitations
You can't filter or group by the hour, minute, or second components of a date field.
You can’t filter on values containing HTML-encoded text.
Because dates are sorted lexicographically, changing the date format also changes the sort order.
706
Analyze Your Data Set Up the CRM Analytics Platform
– Have at least one event and one task connected with an opportunity.
– Enable history tracking for Amount, Stage, and CloseDate fields on the Opportunities object.
– Cases must be connected to Accounts if you choose to import Cases data to Sales Analytics using the configuration wizard.
– There are two requirements if you choose to import Leads data to Sales Analytics using the configuration wizard.
• At least one lead must be converted to an opportunity.
• The lead must be connected to an account.
– There are two requirements if you choose to import Campaigns data to Sales Analytics using the configuration wizard.
• At least one opportunity must be connected to a campaign.
• At least one campaign member must be connected to a campaign.
– There are two requirements if you choose to import opportunity record types to Sales Analytics using the configuration wizard.
• At least one opportunity record type must be defined.
• The opportunity record type must be connected to at least one opportunity.
• Sales Analytics Limitations for Sales Cloud Einstein and CRM Analytics Growth or Plus (Platform) Customers:
Sales Analytics is available through these licenses.
707
Analyze Your Data Set Up the CRM Analytics Platform
Object support Standard and custom objects Standard objects Standard and custom objects
708
Analyze Your Data Set Up the CRM Analytics Platform
It also requires that your org has at least one contact ID associated with a case.
Custom formula fields on the Cases object must exist or be created for the SLA missed (text) and FCR (Boolean) fields.
709
Analyze Your Data Set Up the Analytics Platform with Licenses Purchased Before
October 20, 2015
SEE ALSO:
Tradeoffs and Limitations of Shield Platform Encryption
Limitations of CRM Analytics on iPhone and iPad
Limitations of CRM Analytics on Android Devices
Set Up the Analytics Platform with Licenses Purchased Before October 20,
2015
If you purchased an Analytics Cloud Builder or Analytics Cloud Explorer license before October 20, 2015, you can continue to use your
licenses to set up the Analytics platform for users in your organization or you can migrate to the new single-user Analytics Growth license.
Note: This information applies only to customers who purchased Analytics licenses before October 20, 2015, and continue to
use the Analytics Cloud Builder or Analytics Cloud Explorer licenses after that without migrating to the new Analytics Growth
license. If you purchased Analytics on or after October 20, 2015, go to Set Up the CRM Analytics Platform.
710
Analyze Your Data Set Up the Analytics Platform with Licenses Purchased Before
October 20, 2015
Important: If you’re migrating from the previous Analytics Cloud Builder or Analytics Cloud Explorer platform licenses to the
single-user Sales Analytics Apps license, read Migrating From Analytics Licenses Purchased Before 10/20/2015 to New Analytics
Platform Licenses.
“Create Analytics Apps” Builder only Creating and sharing Analytics applications.
“Upload External Data to Analytics” Builder and Explorer Uploading external data to Analytics to
create a dataset. Viewing dataflow and
system jobs in the data monitor.
“Use Analytics” Builder and Explorer Using Analytics, and viewing the datasets,
lenses, and dashboards that the user has
permission to view. Automatically enabled
when you select any other Analytics
permission.
711
Analyze Your Data Migrating From CRM Analytics Licenses Purchased Before
10/20/2015 to New CRM Analytics Platform Licenses
Note: When you create permission sets for Analytics users, selecting any of the other CRM Analytics permissions automatically
enables the “Use Analytics” permission.
You can assign previous Analytics permission set licenses along with any of the following Salesforce user licenses:
• Lightning Platform (app subscription)
• Lightning Platform (one app)
• Full CRM
• Salesforce Platform
• Salesforce Platform One
SEE ALSO:
Migrating From CRM Analytics Licenses Purchased Before 10/20/2015 to New CRM Analytics Platform Licenses
• Analytics Cloud Builder license users. Users who access CRM Analytics with the Analytics Cloud Available with CRM
Builder license should be able to continue to use the CRM Analytics platform without any Analytics, which is available
additional setup. The Builder license is simply renamed CRM Analytics Growth, and you’ll see for an extra cost in
that permission set license in Salesforce Setup. Enterprise, Performance,
and Unlimited Editions. Also
• Analytics Cloud Explorer license users. During the new license provisioning process, Salesforce
available in Developer
may remove the Analytics Cloud Explorer license from your org. If that’s the case, you’ll see the
Edition.
new CRM Analytics Growth license instead of the Explorer license and you have to set up users
with that license. If the Explorer permission set license is still visible, you do not have to repeat
the setup process for Explorer users.
If users in your organization require you to set them up with the new CRM Analytics Growth license—even if they used CRM Analytics
with a previous license—follow the steps in CRM Analytics Platform Setup on page 661. You need to assign them the new permission
set license, create one or more new permission sets, and assign the permission sets to users.
712
Analyze Your Data Collaborative Forecasting and Quotas Data in Sales Analytics
2 • Sales Cloud Collaborative Select Collaborative Forecasting Create .CSV file with quotas data,
Forecasts enabled in first wizard screen that lets upload to CRM Analytics, rerun
you add objects. dataflow. See next instructions.
• Collaborative Forecasts does
not include forecast quota
data.
3 Sales Cloud Collaborative No setting available. Wizard Create .CSV file with quotas data,
Forecasts not enabled does not give you the option of upload to CRM Analytics, rerun
adding Collaborative Forecasts dataflow. See next instructions.
data.
Note: Selecting both Opportunity Splits and Collaborative Forecasting pulls in quota data for the split type you've selected in
your org.
Wizard settings are optional, depending on whether you want to include Sales Cloud Collaborative Forecasts data in your app.
With Option 1, Sales Analytics automatically adds quotas data to your app and its dashboards. With Options 2 and 3, add quotas data
to your app by following these instructions.
Note: When you work with .CSV files you want to import to Sales Analytics, create and open them using only a UTF-8-compliant
text editor. Opening them in Microsoft Excel or other spreadsheet software reformats .CSV files and makes them unusable in Sales
Analytics
Important: When you create the .CSV file, be sure it contains these fields, in this order, with exactly these names. Field names
are case-sensitive.
1. StartDate (in yyyy-mm-dd format)
2. QuotaAmount
3. OwnerName
4. Username
1. Create a .CSV file to include the fields just described, that is StartDate (in yyyy-mm-dd format), QuotaAmount, OwnerName, Username.
For an example, see Sales Analytics Example .CSV File.
2. Save the file to a location that you can easily remember.
3. In Salesforce, go to the CRM Analytics home page and find the Quota dataset.
4. Click the arrow at the upper right corner of the dataset panel and select Edit.
713
Analyze Your Data Collaborative Forecasting and Quotas Data in Sales Analytics
5. Salesforce displays the dataset editing screen for the Quota dataset. Look for Replace Data in the upper right corner and click it.
6. In the dialog box that opens, navigate to the .CSV file you created in Step 1, and double-click it.
7. Click Next to open the Replace Dataset Data page.
8. If your fiscal period is different than the calendar period, that is if it starts on a date other than January 1, update the Quota Metadata
file. If your fiscal period starts on January 1, skip to the next step.
a. Copy the JSON from Sales Analytics Quota Dataset JSON File and paste it into a text editor of your choice.
b. Change the value of "fiscalMonthOffset" from 4 to a number that represents the month your fiscal period starts. In
Sales Analytics metadata, the numeral “0” stands for January, “1” stands for February, and so on up to “11,” which stands for
December. Save the file to your desktop.
c. In CRM Analytics Studio, go to the Replace Dataset Data page and locate the Data Schema File area of the page. Click the arrow
next to Quota .JSON file, select Replace File, find the file you saved and upload it to CRM Analytics.
9. On the Replace Dataset Data page, click Next to open the Edit Field Attributes page. The first column —QuotaAmount— must be
selected. If not, select it. In the Field Attributes panel on the right, make sure Field Type is set to Measure.
714
Analyze Your Data Collaborative Forecasting and Quotas Data in Sales Analytics
10. Click Upload. You’re asked to confirm that you want to replace the file. Click Replace to upload the file.
11. After uploading your quota data, rerun the dataflow to update the dashboards.
a. Click the Gear menu at the upper right of the Sales Analytics screen and select Data Manager.
b. Select Dataflow view from the menu at the top left of the Data Manager screen.
715
Analyze Your Data Sales Analytics Example .CSV File
c. Find your app; which can mean scrolling down the page. Open the menu on the far right of the screen next to the app icon and
name, and click
Sa.tr Thsa’t
it. The dataflow assures that Sales Analytics has your company’s latest sales data. You can learn more about dataflows from
Schedule the Sales App Daily Dataflow.
Edit the Forecast Dashboard Data Source Connection Make Sure Quotas Data Is Accurate
If Sales Analyticsquotas numbers look higher than expected in the Forecast dashboard, it can be because the app counts some
quotas twice. To make sure that the dashboard accurately reflects your team’s quotas, specify the dataset field the dashboard uses
as its data source
Sales Analytics Example .CSV File
Here’s an example of the .CSV file you create to update the Sales Analytics Quota (Target) dataset.
Sales Analytics Quota Dataset JSON File
Use this file to update the Sales Analytics Quota dataset with your fiscal year start date if it’s not January 1.
Note: This file is for example purposes only. Create a unique .CSV file with quota data for members of your team including the
following fields:
• QuotaAmount
• StartDate
• OwnerName
• Username
Save the .CSV file in UTF-8 format. Field names are case-sensitive and must appear in your file exactly as shown here.
Important: Do not open the .CSV file with Microsoft Excel or another spreadsheet application, which can corrupt the file format.
716
Analyze Your Data Sales Analytics Quota Dataset JSON File
Example:
QuotaAmount,StartDate,OwnerName,Username
150000,2016-01-01,Chris Riley,trailhead9.ub20k5i9t8ou@example.com
150000,2016-02-01,Chris Riley,trailhead9.ub20k5i9t8ou@example.com
150000,2016-03-01,Chris Riley,trailhead9.ub20k5i9t8ou@example.com
150000,2016-01-01,Harold Campbell,trailhead14.jibpbwvuy67t@example.com
150000,2016-02-01,Harold Campbell,trailhead14.jibpbwvuy67t@example.com
150000,2016-03-01,Harold Campbell,trailhead14.jibpbwvuy67t@example.com
150000,2016-01-01,Jessica Nichols,trailhead19.d1fxj2goytkp@example.com
150000,2016-02-01,Jessica Nichols,trailhead19.d1fxj2goytkp@example.com
150000,2016-03-01,Jessica Nichols,trailhead19.d1fxj2goytkp@example.com
150000,2016-01-01,Catherine Brown,trailhead16.kojyepokybge@example.com
150000,2016-02-01,Catherine Brown,trailhead16.kojyepokybge@example.com
150000,2016-03-01,Catherine Brown,trailhead16.kojyepokybge@example.com
150000,2016-01-01,Kelly Frazier,trailhead7.zdcsy4ax10mr@example.com
150000,2016-02-01,Kelly Frazier,trailhead7.zdcsy4ax10mr@example.com
150000,2016-03-01,Kelly Frazier,trailhead7.zdcsy4ax10mr@example.com
150000,2016-01-01,Dennis Howard,trailhead4.wfokpckfroxp@example.com
150000,2016-02-01,Dennis Howard,trailhead4.wfokpckfroxp@example.com
150000,2016-03-01,Dennis Howard,trailhead4.wfokpckfroxp@example.com
717
Analyze Your Data Integrate and Prepare Data for Analysis
"label": "StartDate",
"format": "yyyy-MM-dd",
"fiscalMonthOffset": 4,
"isYearEndFiscalYear": true
},
{
"fullyQualifiedName": "OwnerName",
"name": "OwnerName",
"type": "Text",
"label": "OwnerName"
},
{
"fullyQualifiedName": "Username",
"name": "Username",
"type": "Text",
"label": "Username"
}
]
}
]
}
Data Manager
The data manager is where you monitor your data jobs, prepare datasets with recipes and dataflows, and connect to data.
Get Started with Data Integration
In CRM Analytics, data integration involves gathering and preparing the Salesforce and external data you want to analyze. External
data is data that resides outside of the Salesforce org that you use for Analytics, such as data from another Salesforce org, outside
applications, spreadsheets, and databases. After integrating the data, you prepare it into datasets. Data preparation is the process
of transforming your data into a form that’s meaningful and valuable to the people consuming it. For example, you can define data
preparation logic that combines data from two data sources and cleans up inconsistencies, such as differently formatted dates and
codes. Users then explore and visualize datasets through CRM Analytics lenses and dashboards.
Connect and Sync Your Data to CRM Analytics
CRM Analytics connectors give you an easy way to connect data inside and outside of Salesforce with CRM Analytics. CRM Analytics
provides a prebuilt connector for data in your local org and a range of configurable connectors for remote data in external Salesforce
orgs, apps, data warehouses, and database services.
Clean, Transform, and Load Data with Data Prep
Data Prep provides an intuitive, visual interface in CRM Analytics that allows you to easily point-and-click your way to build recipes
that prepare data and load it into a target. Use the graph of a recipe to see at a glance where the data comes from and how it flows
through the recipe to the target. To validate the recipe as you build, preview how raw data is transformed at every step of the way.
Manage Recipes
After you create a recipe, use the Recipes tab to edit and delete them.
718
Analyze Your Data Integrate and Prepare Data for Analysis
Data Manager
The data manager is where you monitor your data jobs, prepare datasets with recipes and dataflows, and connect to data.
To open the data manager in CRM Analytics, click the gear icon ( ) and then click Data Manager.
The Data Manager consists of multiple tabs.
Note: If you purchased CRM Analytics and Data Pipelines, use the dropdown menu to switch between the two. For example, to
view and create recipes for Data Pipelines, select Data Pipelines first.
Use these Data Manager tabs to perform various tasks.
Tab Usage
Jobs Monitor Monitor and troubleshoot jobs, like recipes that are currently running.
719
Analyze Your Data Integrate and Prepare Data for Analysis
Tab Usage
Data Assets View data sources, including datasets and connected objects, that you can use in recipes. Upload CSV files to get
access to other data sources that don’t have prebuilt connectors.
Recipes View, edit, delete, and run recipes. You can also access Data Prep to create a recipe from this tab.
Usage Monitor Data Pipeline usage and limits. View data about the number of rows in all datasets, the output to
Salesforce and CSVs, the number of external data uploads, the combined number of dataflow and recipe runs
in a 24-hour period, and more. You can also view this information on the Getting Started page in setup. The limits
vary based on your licenses.
Connections Create, edit, and delete connections to different source and target systems. A connection enables recipes to
access data in that system. Data Pipelines provides out-of-the-box connectors that allow you to quickly create
connections.
Data Templates Create common use case data tasks from templates to accelerate your data pipeline experience.
On the Jobs Monitor tab, the number of jobs is limited to 500 rows. Use the Search bar to find older jobs as needed.
SEE ALSO:
Enable Data Manager (Legacy)
Monitor
720
Analyze Your Data Integrate and Prepare Data for Analysis
To set up access to source data, create a connection. When you create a connection, select objects and columns to pull data from. You
can add a filter to the connection to extract a subset of all rows. In the connection properties, you also specify a user account that
determines what data the connection can access. For example, to access data in Amazon S3, specify an Amazon S3 user account. If the
user account doesn’t have access to an object, the connection can’t pull data from that object.
After you create a connection, run its data sync to extract the data from each selected object in the data source and store it in the
corresponding CRM Analytics connected object. After you run a data sync for the first time, you can add the connected objects as sources
for recipes. In data prep, you can add transformations to prepare the data in the connected objects and output the results into datasets.
Run the recipe to create datasets. Continue to run them to refresh the data. You can run data sync and recipes on demand. You can also
schedule them to run on an ongoing basis. To ensure that your recipes use the latest data, schedule data sync jobs to complete before
dependent recipes run.
721
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: With Salesforce Direct Data, you don’t need to load Salesforce data into a dataset to analyze it in an Analytics dashboard.
Instead, a dashboard widget can query a Salesforce object directly. Direct Data queries are especially useful when a dataset can’t
be refreshed fast enough, such as when you want to analyze data every 2 minutes, but the dataset refreshes every 15 minutes.
However, it’s important to monitor query performance when using Direct Data on large objects. If the Salesforce object contains
millions of records, sometimes queries can be faster on a dataset than direct queries on the Salesforce object.
About Datasets
A CRM Analytics dataset is a collection of related data that can be viewed in a tabular format. The data can come from many sources,
including Salesforce objects, external data sources, and even other datasets.
Ways to Get Data from Data Sources Into Datasets
To populate datasets with data from data sources, you can import the data directly from the source. Or, you can extract the data
from the source and prepare it before loading it into a dataset.
Plan for Your Data Integration Project
Before you build your data integration solution, think about the use case you want to analyze and the data you need to get you
there.
Considerations Before Integrating Data into Datasets
This section covers expected behavior and limitations to consider before integrating data into datasets.
SEE ALSO:
Considerations Before Integrating Data into Datasets
Ways to Get Data from Data Sources Into Datasets
Why Should I Use Recipes Instead of Dataflows?
About Datasets
A CRM Analytics dataset is a collection of related data that can be viewed in a tabular format. The data can come from many sources,
including Salesforce objects, external data sources, and even other datasets.
722
Analyze Your Data Integrate and Prepare Data for Analysis
Dataset Security
For each dataset that you create, you can apply security to restrict access to sensitive rows in the dataset.
Note: In a dataset, columns are analogous to fields in Salesforce objects and rows are analogous to records. However, when
talking about datasets, we always use the terms column and row.
• A column represents a category of information, such as an opportunity source or account name. Each column has a name, a data
type, and other properties.
• A row represents an instance of data in the dataset. Rows can contain transactional data, such as individual invoices, or they can
contain summary data, such as weekly invoice totals. What’s important is that rows in a dataset must contain the same level of
granularity, such as all invoice transactions or all weekly totals, rather than mixed levels.
Type Description
Date Can be represented as a day, month, year, and, optionally, time. You can group, filter, and perform
math on dates.
Dimension A qualitative value that usually contains categorical information (text), such as Product Category, Lead
Status, and Case Subject. Dimensions are useful for grouping and filtering your data. Unlike measures,
you can’t perform math on dimensions. To increase query performance, CRM Analytics indexes all
dimension columns in datasets.
723
Analyze Your Data Integrate and Prepare Data for Analysis
Type Description
Measure A quantitative value that contains numerical data, such as revenue or exchange rate. You can do math
on measures, such as calculating the total revenue or the minimum exchange rate.
Denormalized Data
The data in Salesforce objects is normalized, meaning that it’s stored efficiently in a collection of related tables to minimize redundancy,
enhance consistency, and ensure data integrity. In contrast, data in datasets is denormalized, where it’s stored in an optimal format for
querying. All the work required to combine the data from multiple sources is done ahead of time. The data is centralized, compressed,
and ready to be analyzed.
Dataset Security
For each dataset that you create, you can apply security to restrict access to sensitive rows in the dataset.
SEE ALSO:
Set Up Dataset Security to Control Access to Rows
Import Data
You can import data from Excel spreadsheets (via a connector) and CSV files directly into a dataset. This approach populates the dataset
without modifying the data.
724
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Get Started with Data Integration
Other Ways to Integrate Data
725
Analyze Your Data Integrate and Prepare Data for Analysis
726
Analyze Your Data Integrate and Prepare Data for Analysis
Warning: If a numeric value is not within this range, you can receive unexpected results. For example, if you try to load the value
3.7E-16 with a scale of 16 into a dataset, CRM Analytics tries to store the value as 37000000000000000. However, because this
value exceeds the maximum, CRM Analytics fails to load the entire row. In addition, if you perform a query that aggregates measures
(such as a sum or group by) and the resulting value exceeds the maximum, the value overflows and CRM Analytics returns an
incorrect result.
727
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Null measure handling is enabled in orgs created after the Spring ’17 release and can’t be disabled. To enable this feature
in other orgs, see Enable Null Measure Handling in Orgs Created Before Spring ’17 .
CRM Analytics replaces blanks with:
• 0 when null measure handling is disabled and no default value is specified
• null when null measure handling is enabled and no default value is specified
This behavior is important because CRM Analytics treats null and 0 differently. They aren’t the same. Null means that no value exists. 0
represents a value. Math operations performed on null results in null. For example,
10 + null = null
To return 0 instead of null in a math operation, you can use an expression similar to this one: 10 + coalesce(null,0). For
example, 10 + coalesce('Amount', 0), where Amount is null.
Aggregate functions—such as sum, average, count, min, and max—exclude null values from calculations. To understand how 0 and
null are treated differently with aggregate functions, consider the following customer satisfaction scores, where one score is missing for
Customer2.
When CRM Analytics replaces the blank value with a zero, the average and minimum calculations are incorrect. When the replacement
is null, the average and minimum calculations are correct.
Null measure handling allows the use of null values in these dataflow transformations.
append CRM Analytics can append datasets with different measure columns. For example, one dataset has an Amount
column that is not present in a second dataset. After the append, the new dataset has an Amount column
containing nulls in rows from the second dataset. Without null measure handling, appending datasets is not
possible when measure columns are different.
augment When the left key is null or has no match on the right, CRM Analytics inserts nulls in the columns added from the
right. Without null measure handling, CRM Analytics inserts zeros for measures.
computeExpression The defaultValue attribute for a computed column accepts a value of null. For example:
"SAQLNode": {
"action": "computeExpression",
"parameters": {
"source": "extractOpp",
728
Analyze Your Data Integrate and Prepare Data for Analysis
"mergeWithSource": true,
"computedFields": [
{
"name": "Amount2",
"type": "Numeric",
"precision": 18,
"defaultValue": "null",
"scale": 5,
"saqlExpression": "Amount+Amount"
}
computeRelative The defaultValue attribute for a computed column accepts a value of null. When a value can’t be calculated,
such as when previous() or next() has no value, CRM Analytics uses this default. For example:
"computeTrending": {
"action": "computeRelative",
"parameters": {
"partitionBy": ["OpportunityId"],
"orderBy": [
{
"name":"CreatedDate",
"direction":"asc"
}
],
"computedFields": [
{
"name": "AmountPrev",
"defaultValue" : "null",
"expression": {
"sourceField": "Amount",
"offset": "previous()",
"default": "null"
}
}
dim2mea The measureDefault parameter accepts a value of null. CRM Analytics uses this value when it can’t convert
a dimension to a valid numeric value. When no default is specified, CRM Analytics uses a value of null. For example:
"Create_Measure_From_Dimension": {
"action": "dim2mea",
"parameters": {
"dimension": "StageVal__c",
"measure": "StageValue",
"measureDefault": "null",
"source": "Extract_Opportunities"
}
}
sfdcDigest The defaultValue attribute for a column accepts a value of null. When no default is specified, CRM Analytics
uses a value of null. For example:
Sample Sfdc-digest :{
"Extract_Opportunities": {
729
Analyze Your Data Integrate and Prepare Data for Analysis
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{
"name": "Amount",
"defaultValue": "null",
"precision":18
"scale":2
}
Note: The delta transformation is not supported when null measure handling is enabled and dataflows containing delta
transformations fail. To calculate changes in measure values over time, use computeRelative and computeExpression
transformations instead. For an example, see Handle Null Numeric Values .
730
Analyze Your Data Integrate and Prepare Data for Analysis
<date field name>_sec_epoch Numeric Number of seconds that have elapsed since
January 1, 1970 (midnight UTC).
<date field name>_day_epoch Numeric Number of days that have elapsed since
January 1, 1970 (midnight UTC).
Note: If CRM Analytics custom fiscal years were previously defined using the standard fields (not inherited), then those fields are
overwritten with data inherited from the custom fiscal years defined in Salesforce.
Here are the Fiscal fields CRM Analytics generates for each date field.
731
Analyze Your Data Integrate and Prepare Data for Analysis
Note:
• Check out Inherit Custom Fiscal Years from Salesforce to learn how CRM Analytics can apply your Salesforce org’s custom fiscal
calendar settings automatically.
• Check out Data Prep's Fiscal Year Configuration to learn how you can define a fiscal year for only your Data Prep data in CRM
Analytics.
Additionally, to configure the fiscal periods, set the following metadata attributes for each date column.
• fiscalMonthOffset
In addition to enabling fiscal date columns, this attribute also determines the first month of the fiscal year. Specify the difference
between the first month of the fiscal year and first month of the calendar year (January) in fiscalMonthOffset. For example,
if your fiscal year begins in April, set fiscalMonthOffset to 3.
• isYearEndFiscalYear
Because the fiscal year can start in one calendar year and end in another, you must specify which year to use for the fiscal year. The
isYearEndFiscalYear attribute indicates whether the fiscal year is the year in which the fiscal year ends or begins. For
example, if isYearEndFiscalYear = true or you don’t specify this attribute, then the fiscal year is the year in which the fiscal
year ends. As shown in the following diagram, any dates between 4/1/2015 and 3/31/2016 are part of the fiscal year 2016 because
the fiscal year ends in 2016.
732
Analyze Your Data Integrate and Prepare Data for Analysis
If isYearEndFiscalYear = false, then the fiscal year is the year in which the fiscal year begins. As shown in the following
diagram, any dates between 4/1/2015 and 3/31/2016 are part of the fiscal year 2015 because the fiscal year begins in 2015.
733
Analyze Your Data Integrate and Prepare Data for Analysis
734
Analyze Your Data Integrate and Prepare Data for Analysis
5. Optionally, if there are multiple date configurations you can manually change the date configuration to apply. To change the recipe’s
date configuration, use Date Configuration in an Output node or in the date extract function in a Transform node, and click Apply.
735
Analyze Your Data Integrate and Prepare Data for Analysis
If your company uses a custom fiscal year, and has defined the custom fiscal year in Salesforce, then CRM Analytics can inherit the custom
fiscal year definition from Salesforce. Once inherited, the custom fiscal year is available for use throughout CRM Analytics. For example,
a dashboard filter can return opportunities from this fiscal quarter.
Before inheriting a custom fiscal year from Salesforce, you must define one in Salesforce Setup. If you have already defined one or more
custom fiscal years in Salesforce, then you are ready for CRM Analytics to inherit custom fiscal years.
To learn how to define a custom fiscal year in Salesforce, see Define your Fiscal Year.
To learn how to turn on custom fiscal year inheritance for CRM Analytics, see
Enable Custom Fiscal Year Support.
To learn about the new fields CRM Analytics generates for each date field, see Handle Date Values on page 730.
736
Analyze Your Data Integrate and Prepare Data for Analysis
Example: The customer service operations manager at a California-based company monitors daily case creation on a Service
Operations dashboard. Here’s what she sees today, Wednesday August 22, before time zone support is enabled in her org.
The dashboard chart shows the number of cases created so far this week. But it also shows cases created tomorrow, Thursday
23rd. The customer service operations manager is in the PDT time zone, but the dashboard shows data in GMT, which is 8 hours
ahead. So, any cases created after 4:00pm in PDT appear as being created the next day when displayed in GMT.
If these 932 cases were created in a GMT location, then the chart would be accurate. But the company has customer service agents
only in California, so the widget isn’t helpful. What’s more, cases created on the last day of a reporting period can end up in the
wrong month, quarter, or even year.
With time zone support enabled, and the supported time zone set to the company’s local timezone of PDT, the customer service
operations manager gets a much more accurate view of case creation this week.
737
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Connected objects are objects that sync with Salesforce or external data sources through data sync.
Let’s take a closer look at how CRM Analytics converts date-time values. After you enable time zone support, you have to refresh your
connected objects and datasets. Refresh connected objects by syncing them, and refresh datasets by running the related recipe or
dataflow, or uploading the .csv file. During the refresh, CRM Analytics runs this process:
• CRM Analytics maps each Date field in the dataset or connected object to a new DateOnly or DateTime field, depending on whether
the field values have a time component.
• Values in the new DateTime field are assumed to be GMT, and are converted to the time zone selected for CRM Analytics.
Note: Dates from .csv-sourced datasets are assumed to be GMT unless you select a different source time zone when you
upload the file. See Set a Source Time Zone for .Csv data.
738
Analyze Your Data Integrate and Prepare Data for Analysis
• The DateTime field generates fields in the new time zone and GMT (the original version), which are added to the updated dataset
or connected object. The GMT field is included to ensure the dataset still works with your existing dashboards.
Note: To enable custom time zone support, see Enable Custom Time Zones Support.
SEE ALSO:
Handle Null Numeric Values
Profile Columns to Understand Data in a Data Prep Recipe
Predict Missing Values Transformation: Fill In Missing Values
SEE ALSO:
CRM Anaytics Limits
all
739
Analyze Your Data Integrate and Prepare Data for Analysis
ALL
count
Datasets (including staged data) Shared Datasets generated in one product can be
used in the other. Users with only one
license type don’t see the other license
type’s datasets. Datasets generated with the
Data Pipelines license and used in
conjunction with CRM Analytics support
sharing inheritance & security predicates.
Datasets generated with the Data Pipelines
license and used outside of CRM Analytics
don’t support sharing inheritance or security
predicates. Exercise caution when using
them to avoid exposing data to users that
shouldn’t have access. If users have both
license types, sharing inheritance and
security predicates are supported.
Input and Output Connections Shared Connections built for one product can be
used in the other.
Synced Data Shared Input, output, and synced out data from one
product can be used in the other.
740
Analyze Your Data Integrate and Prepare Data for Analysis
• On the Data Assets tab, view the data associated with each product by using the product dropdown (1).
Before you click New Dataset (2) to upload a local file, use the product dropdown to set which product’s limits and resources to
use.
741
Analyze Your Data Integrate and Prepare Data for Analysis
Add and Remove Local Salesforce Objects and Fields from Data Sync
Update data sync to keep up with your changing business by adding local Salesforce objects, removing objects, and managing
which fields are synced. Synced data is stored in CRM Analytics as objects that you can use in recipes.
Create Another Salesforce Local Data Connection
Create connections using the Salesforce Local connector to strategically manage when your Salesforce data syncs to CRM Analytics
using individually scheduled local connections. A local connection, SFDC_LOCAL, is included when CRM Analytics is activated.
742
Analyze Your Data Integrate and Prepare Data for Analysis
Add and Remove Local Salesforce Objects and Fields from Data Sync
Update data sync to keep up with your changing business by adding local Salesforce objects, removing objects, and managing which
fields are synced. Synced data is stored in CRM Analytics as objects that you can use in recipes.
Note: For help with managing data sync for remote objects, see Add and Remove Remote Objects and Fields from Data Sync on
page 822.
1. From Data Manager, click the Connections tab. All objects configured to sync are listed under their connection name. The default
local connection is SFDC_LOCAL.
2. To add an object and its fields:
a. Click the dropdown next to a local connection. An object’s associated connection determines its sync schedule.
b. Select Edit Objects.
c. Find the object to add by scrolling or using the search bar. Select the checkbox next to the object.
d. Select the checkbox next to the fields that you want to sync.
e. Optionally, edit the field’s attributes with or filter the data synced to CRM Analytics from Data Sync Filter.
f. Click Save.
3. To add or remove a field from data sync for an object already configured for sync:
a. From the Connections tab, select the connection associated with the object. Use the search bar to find the connection and
object if you have many connections. The connection's associated objects are listed.
b. Click the name of the object to see its columns. Fields already included for sync are selected.
c. To add a field, select the checkbox next to the field. To remove a field, deselect the checkbox next to the field.
Note: If you delete any sync-enabled field or make any sync-enabled field inaccessible to the Analytics Integration User
profile, an object's data sync fails. Undelete the field, restore access for the Analytics Integration User profile, or deselect
the field from data sync to ensure that sync runs successfully.
d. Click Save.
743
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Remove the object from all recipes before you disconnect. Data sync stops pulling data from the data source to
CRM Analytics when you disconnect an object. This impacts recipes and other assets that use this synced data.
Note: The most recently saved local Salesforce object field attributes are applied to the database. Field attributes can be modified
in data manager or using a dataflow's SFDCdigest node. If you use dataflows, check both places before saving to avoid overwriting
the field metadata.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections. SFDC_LOCAL_ is
automatically added to the beginning of the connection name
after save. For example, if you assigned the connection name
Hourly_Sales, you see the connection
SFDC_LOCAL_Hourly_Sales added to your list. The SFDC_LOCAL_
can be edited or removed after the first save.
Developer Name API name for the connection. This name can’t include spaces.
The API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description for the connection, used to remind you why you
added the connection or what it’s used for.
744
Analyze Your Data Integrate and Prepare Data for Analysis
3. Click Switch Connection. This option is available after you’ve created another local connection.
4. Click the connection to associate this object with and click Switch Connection.
An object that is moved to another connection runs data sync when next used by a dataflow.
745
Analyze Your Data Integrate and Prepare Data for Analysis
Salesforce Connectors
Use these connectors to sync your data in systems that are part of the Salesforce ecosystem, including external Salesforce orgs, to CRM
Analytics.
746
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Use Salesforce Output Connection on page 812 to push data from CRM Analytics to a Salesforce org.
Restricted API access isn't supported for Salesforce Output and External connectors. Enable the Use Any API Client permission for
the user creating the connector. For more information, see Manage API Access.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Username User name used to connect to external Salesforce org for sync of
objects and fields.
API Type The API to use. The options are SOAP for SOAP API (default) or
BULKV2 for Salesforce Bulk API 2.0. Use Salesforce Bulk API 2.0 if
you encounter issues with larger data objects timing out with SOAP
API.
747
Analyze Your Data Integrate and Prepare Data for Analysis
Note: If you might use excluded data in the future, use a recipe filter to limit the data written to a dataset instead of a data sync
filter.
1. From Data Manager, click the Connections tab.
2. Select the connection associated with the object to filter.
3. Click the name of the object to filter.
4. Click Data Sync Filter.
5. Enter the filter.
6. Click Save.
For the Salesforce External connector, enter a filter using a SOQL WHERE clause expression as described in the SOQL and SOSL Reference.
For example, "(FiscalQuarter = 2 OR FiscalQuarter = 3) AND Amount > 1000 AND Amount <=
20000".
748
Analyze Your Data Integrate and Prepare Data for Analysis
• To troubleshoot connectivity issues between Salesforce orgs, review your org IP address restrictions and consider disabling the
setting "Lock sessions to the IP address from which they originated" in both orgs. See this knowledge article for more information.
SEE ALSO:
Salesforce External Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
749
Analyze Your Data Integrate and Prepare Data for Analysis
UTC Offset Optional setting. Used to read data from Salesforce Marketing
Cloud in a UTC offset time zone.
Display Child Data Extensions Optional setting. Displays top-level and child business unit MID
information in the MID object using the format
Parentname_childnameID. The current business unit’s Data
Extensions are displayed with and without a suffix, with identical
data for both.
Note: If you might use excluded data in the future, use a recipe filter to limit the data written to a dataset instead of a data sync
filter.
1. From Data Manager, click the Connections tab.
2. Select the connection associated with the object to filter.
3. Click the name of the object to filter.
4. Click Data Sync Filter.
5. Enter the filter.
6. Click Save.
For the Marketing Cloud OAuth 2.0 Connector, enter a filter in SQL syntax equivalent to the Marketing Cloud’s Filterpart help. Filters can
include boolean statements (AND, OR), numerical comparisons (>, >=, <, <=), equality (=, !=), and LIKE operators. Filtering is only
supported for SOAP objects.
For a simple example, return entries where the Name field is Marc with the filter Name="Marc". Use this type of simple filter for
optimal performance and query response. For more complex situations, combine two filter parts with an AND or an OR logical operator,
750
Analyze Your Data Integrate and Prepare Data for Analysis
for example (Name="Marc") AND (Age=57). You can also nest filters in parentheses, for example (Name="Marc") AND
((Age=57) OR (Age=37)).
To filter with dates, store date data in a Marketing Cloud-supported format. For example, column_date >
'2010-12-31T22:00:00.000Z'
• Don’t overwrite Data Extensions during data sync. Marketing Cloud's SOAP API can return incomplete data from a Data Extension
read operation if that Data Extension is being concurrently overwritten.
• This connector can't read hexadecimal character data (such as 0x1B) stored in Marketing Cloud and will generate an HTTP 302 error.
To bring in the column, remove all hexadecimal values.
• When viewing Marketing Cloud Data Extensions, names have the text “Ungrouped__”, with a double underscore, added to the
beginning. For example, data extension MC_East will appear as Ungrouped__MC_East.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note. Here's some differences and improvements to consider.
• The new version makes more Marketing Cloud object data accessible.
• The new version names some fields differently than the legacy version. Data extensions won’t be impacted.
• You can now sync up to 20 million rows or 10 GB per object with the new version of the connector. Due to technical constraints,
the legacy version can't fully use this improved limit.
• Top-level and child business unit MID information is now available in the MID object using the format Parentname_childnameID.
We also show the current business unit’s Data Extensions with and without a suffix, with identical data for both. Enable the
connector property Display Child Data Extensions to view this information. The legacy version does not use the Display Child
Data Extensions property.
Important: If you want to sync data from CRM Analytics to Tableau Online, use the Tableau Online Output Connecion.
Connection Details
Before using this connector, assemble your data in Tableau Online.
1. Decide which tables to include. Table names must be alphanumeric, with no special characters, and start with a letter.
• In CRM Analytics, each table is represented as an individual object.
751
Analyze Your Data Integrate and Prepare Data for Analysis
2. Publish an extract data source of your tables. Only extract data is supported. For best results, leave the default schema “extract.”
You’ll use the data source name when configuring the connector.
• This connector syncs the entire data source. To sync a subset of data, generate a different data source containing only the needed
information.
3. Create a workbook including this data source. You’ll use the workbook name when configuring the connector.
4. Publish the workbook to a project. You’ll use the project name when configuring the connector.
The Tableau Online account used to create this connection must have at least Site Explorer role.
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Server URL The base URL for your Tableau Online server, including the pod
name. To isolate the Server URL, sign into Tableau Online and pull
the bolded portion of your URL:
https://us-west-5a.online.tableau.com/#/site/exampleurl5a/home
Username Optional setting*. User name for the Tableau Online account.
Content URL The subpath portion of your Tableau Online URL. To isolate the
Content URL, sign into Tableau Online and pull the bolded portion
of your URL:
https://us-west-5a.online.tableau.com/#/site/exampleurl5a/home
Authentication Type The variety of authentication used for this connection. Accepted
values are "Password" or "PersonalAccessToken". If you use
Password, enter a value in the Username and Password fields. If
you enter PersonalAccessToken, enter values in the Personal Access
Token Name and Personal Access Token Secret fields.
752
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Personal Access Token Name Optional setting*. The name associated with a personal access
token from your Tableau Online account. Learn more about
personal access tokens, including their 15 day expiration when
unused, in Tableau's PAT documentation.
Personal Access Token Secret Optional setting*. The secret code associated with a personal access
token from your Tableau Online account.
Project Name The name of the Tableau Online project that contains your
workbook to sync. This property defaults to “default.”
Workbook Name The name of the published Tableau Online workbook containing
the data sources to sync to CRM Analytics.
Datasource Name The name of the data source containing data to sync to CRM
Analytics.
Schema Name The type of operation allowed by the project. This property defaults
to “extract,” the default Tableau Online setting.
*Enter the Username & Password or the Personal Access Token Name & Personal Access Token Secret fields.
Keep these behaviors in mind when working with the Tableau Online connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100,000 rows or 500 MB per object, whichever limit it reaches first.
• This connector can only read data from a published workbook.
• When configuring the fields to sync, data preview will not fill with example data. You are still able to select and configure fields.
753
Analyze Your Data Integrate and Prepare Data for Analysis
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Master Symmetric Key Salesforce uses this master symmetric key to enable client-side
data encryption.
Folder Path Path to the folder that Salesforce connects to. This field is read-only.
Connector Considerations
Keep these behaviors in mind when working with this connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100 million rows or 50 GB per object, whichever limit it reaches first. When using this connector,
Salesforce Government Cloud org data is protected in transit with advanced encryption and can sync up to 10 million rows or 5 GB
for each connected object, whichever limit is reached first.
• Disabling the connector on the CRM Analytics Settings page removes the connection. You can disable the connector only if it isn’t
in use.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
Application Connectors
Use these connectors to sync data from your external applications to CRM Analytics.
754
Analyze Your Data Integrate and Prepare Data for Analysis
Connection Details
Use a Google service account instead of a user account to grant access to your Google Analytics data. For more information, see
Understanding Service Accounts.
Generate a JSON file containing the required client email and private key from the IAM & Admin page in the Google Cloud Platform
Console.
Connection Settings
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the connection. Use a naming convention that lets you
easily distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the name after you
create the connection.
755
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Description Description of the connection for internal use.
Client Email Enter the client_email value from the JSON file.
Private Key Enter the private_key value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE
KEY-----" at the start of the key and \n-----END
PRIVATE KEY-----\n" at the end.
Property Value
StartDate The start date of the date range that you want to sync.
Enter YYYY-MM-DD, or use a relative date keyword, such as today, yesterday, or
NdaysAgo, where N is a positive integer.
EndDate The end date of the date range that you want to sync.
Enter YYYY-MM-DD, or use a relative date keyword, such as today, yesterday, or
NdaysAgo, where N is a positive integer.
PropertyID The Property ID for the Google Analytics account, which determines which data is available
for sync. You can find the Property ID on the Admin page in Google Analytics. For more
information, see [GA4] Navigate to your account and property.
Note: For more information about supported StartDate and EndDate values, see Google’s Analytics Data API Overview.
756
Analyze Your Data Integrate and Prepare Data for Analysis
• This connector can sync up to 10 million rows or 5 GB per object, whichever limit it reaches first.
• Custom fields aren’t supported.
• Google Analytics stores your website data as a binary large object (blob). It uses SQL views to query the blob to create virtual objects
that you can connect to.
• Knowledge of Google Analytics Data API is necessary when selecting which virtual objects to connect to. Google Analytics Data API
rules for allowed object and metric interactions, described in Dimensions & Metrics Explorer, impact connecting to CRM Analytics.
When troubleshooting, use the Google Analytics Query Explorer to confirm that the fields that you intend to query are valid.
• You can select up to 9 dimensions for each virtual object that you connect to per connection. Create another connection with the
same properties to add more dimensions.
• You can sync up to one million rows for each virtual object. To sync more than one million rows for an object, consider using the
Google BigQuery connector.
• Some tables have special conditions. For more information, see GoogleAnalytics4 Data Model.
• Your Google service account must be set up and enabled to work for this connector.
– Set up OAuth 2.0 for service accounts with Using OAuth 2.0 for Server to Server Applications.
– Save the credentials created by this process. The credentials are used for the GA4 Connector Private Key setting.
– Add your service account to your Google Analytics account with Add, edit, and delete users and user groups.
– Enable the Google Analytics Admin API using the Enable and disable APIs reference.
Note: As of July 1, 2023, Google Analytics has been deprecated in favor of Google Analytics 4. For more information, see Google
Analytics 4 has replaced Universal Analytics.
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
Use a Google service account instead of a user account to grant access to your Google Analytics data. For more information about Google
service accounts, see Understanding Service Accounts.
Generate a JSON file containing the required client email and private key from the IAM & Admin page in the Google Cloud Platform
Console.
All settings require a value, unless otherwise indicated.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
757
Analyze Your Data Integrate and Prepare Data for Analysis
Client Email Enter the client_email value from the JSON file.
Private Key Enter the private_key value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE
KEY-----" at the start of the key and \n-----END
PRIVATE KEY-----\n" at the end.
Property Value
StartDate The start date of the date range that you want to sync.
Enter in the format YYYY-MM-DD, or use a relative date keyword, such as today,
yesterday, or NdaysAgo, where N is a positive integer.
ViewID The View ID for the Google Analytics account, which determines which data is available for
sync. You can find the View ID in the account’s View Settings in Google Analytics.
758
Analyze Your Data Integrate and Prepare Data for Analysis
Property Value
EndDate The end date of the date range that you want to sync.
Enter in the format YYYY-MM-DD, or use a relative date keyword, such as today,
yesterday, or NdaysAgo, where N is a positive integer.
Note: For more information about supported StartDate and EndDate values, see Google’s Core Reporting API Reference Guide.
Connector Considerations
Keep these behaviors in mind when working with the Google Analytics connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 10 million rows or 5 GB per object, whichever limit it reaches first.
• Google Analytics limits the number of rows that you can sync for each object to 1 million. When you sync more than 1 million rows,
CRM Analytics aggregates data from the extra rows and syncs it as a row marked “Others.”
• Custom fields aren’t supported.
• Google Analytics stores your website data as a binary large object (blob). It uses SQL views to query the blob to create 32 virtual
objects that you can connect to.
Note: Knowledge of Google Analytics Reporting API is necessary when selecting which virtual objects to connect to. Google
Analytics Reporting API rules for allowed object and metric interactions, described in the Dimensions & Metrics Explorer, impact
connecting to CRM Analytics. When troubleshooting, use the Google Analytics Query Explorer to confirm that the fields that
you intend to query are valid.
• CRM Analytics creates a GLOBAL_ACCESS_OBJECT virtual object containing fields from the other virtual objects. Use this object to
prepare datasets for more complex scenarios.
• Eight of the virtual objects contain only dimensions. You can't connect to these objects.
• The Google Core Reporting API includes these limits.
– You can select up to seven dimensions and 10 measures for each virtual object that you connect to per connection. Create
another connection with the same properties to add more dimensions or measures.
– You can sync up to one million rows for each virtual object. When you sync more than one million rows, CRM Analytics aggregates
the data from the extra rows and syncs the data as a row marked “Others.” To sync more than one million rows for an object,
consider using the Google BigQuery connector.
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. There are two options for this connector; manually upgrade to Google Analytics Core Reporting
v4 Connection on page 760 (recommended), or deselect the Legacy Connection toggle. If you choose to deselect the Legacy
Connection toggle, you must still manually upgrade to the improved V4 version before July 2023 when Google retires Universal
Analytics. To manually migrate, create a Google Analytics Core Reporting v4 Connection on page 760 mirroring the settings of
your legacy connection and any new required properties. Then, update your recipes and dataflows to use the external objects
759
Analyze Your Data Integrate and Prepare Data for Analysis
from the new connection. Keep the legacy version of the connection for troubleshooting. We recommend that you complete the
migration and test soon, as we’ll retire legacy connector versions beginning with the Summer ‘22 release.
SEE ALSO:
Google Analytics Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Client Email Enter the client_email value from the JSON file.
Private Key Enter the private_key value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE
KEY-----" at the start of the key and \n-----END
PRIVATE KEY-----\n" at the end.
760
Analyze Your Data Integrate and Prepare Data for Analysis
Property Value
StartDate The start date of the date range that you want to sync.
Enter in the format YYYY-MM-DD, or use a relative date keyword, such as today,
yesterday, or NdaysAgo, where N is a positive integer.
ViewID The View ID for the Google Analytics account, which determines which data is available for
sync. You can find the View ID in the account’s View Settings in Google Analytics.
EndDate The end date of the date range that you want to sync.
Enter in the format YYYY-MM-DD, or use a relative date keyword, such as today,
yesterday, or NdaysAgo, where N is a positive integer.
Note: For more information about supported StartDate and EndDate values, see Google’s Core Reporting API Reference Guide.
761
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Knowledge of Google Analytics Reporting API is necessary when selecting which virtual objects to connect to. Google
Analytics Reporting API rules for allowed object and metric interactions, described in the Dimensions & Metrics Explorer, impact
connecting to CRM Analytics. When troubleshooting, use the Google Analytics Query Explorer to confirm that the fields that
you intend to query are valid.
• CRM Analytics creates a GLOBAL_ACCESS_OBJECT virtual object containing fields from the other virtual objects. Use this object to
prepare datasets for more complex scenarios. All other objects must be self-contained to be supported.
• Google Analytics limits the number of rows that you can sync for each object to 1 million. When you sync more than 1 million rows,
CRM Analytics aggregates data from the extra rows and syncs it as a row marked “Others.”
• The Google Core Reporting API includes these limits.
– You can select up to seven dimensions and 10 measures for each virtual object that you connect to.
– You can sync up to one million rows for each virtual object. When you sync more than one million rows, CRM Analytics aggregates
the data from the extra rows and syncs the data as a row marked “Others.” To sync more than one million rows for an object,
consider using the Google BigQuery connector.
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. There are two connector options, this Google Analytics Core Reporting v4 Connector and the
legacy Google Analytics Connection on page 757. These connectors won’t use the legacy connector toggle. To migrate, create a
connection with the connector mirroring the settings of your legacy connection and any new required properties. Then, update
your recipes and dataflows to use the external objects from the new connection. Keep the legacy version of the connection for
troubleshooting. We recommend that you complete the migration and test soon, as we’ll retire legacy connector versions beginning
with the Winter ‘22 release.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
762
Analyze Your Data Integrate and Prepare Data for Analysis
Azure Tenant The Microsoft Online tenant being used to access data, for example
contoso.onmicrosoft.com. Alternatively, specify the
tenant Id. This value is the directory Id found in your Azure portal’s
Azure Active Directory in the Properties section.
For example:
x0xxx10-xx01-01x0-xx11-x0x10x0110
OAuth Client ID The client Id assigned when you register your application with an
OAuth authorization server. After registering with an OAuth
application, you will receive this value described as the
OAuthClientId or consumer key.
OAuth Client Secret The client secret assigned when you register your application with
an OAuth authorization server. After registering with an OAuth
application, you will receive this value described as the
OAuthClientSecret, client secret, or consumer secret.
SEE ALSO:
Microsoft Dynamics 365 Sales Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
763
Analyze Your Data Integrate and Prepare Data for Analysis
NetSuite Connection
Create a remote connection using the NetSuite connector to sync data from NetSuite to CRM Analytics.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Consumer Secret Client password associated with the NetSuite account. Generated
when you create an integration and enable token-based
authentication in NetSuite.
Consumer Key Client key associated with the NetSuite account. Generated when
you create an integration and enable token-based authentication
in NetSuite.
Account ID NetSuite account ID. Find this ID in Web Service Preferences in your
NetSuite account.
Rest Domain Rest domain name. Enter a URL in the format: https://<Rest
Domain Name>.netsuite.com
The rest domain name value depends on your environment or
account. Valid options are:
• rest.na1.beta for a beta environment
• rest.sandbox for a sandbox account
• rest or rest.na1 for a production account
For example:
https://rest.netsuite.com
764
Analyze Your Data Integrate and Prepare Data for Analysis
Token Secret Token secret for the access token generated in NetSuite.
Connector Considerations
When working with the Netsuite connector, keeps these behaviors in mind.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100,000 rows or 500 MB per object, whichever limit it reaches first.
• Use English alphanumeric characters A-Z, a-z, and 1-9, in object names. Other characters, including multibyte characters, are replaced
with an underscore.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
When using the legacy connector version, before you connect to a NetSuite account, you must install the NetSuite V2 bundle in
the account.
• Log in to NetSuite using a Full Access account.
• Go to Customization > SuiteBundler > Search and Install Bundles.
• In the KEYWORDS field, enter Netsuite_V2_Bundle and click Search.
• Click the Netsuite_V2_Bundle link.
• Click Install and complete the installation.
SEE ALSO:
Netsuite Connector Known Issues and Knowledge Articles
765
Analyze Your Data Integrate and Prepare Data for Analysis
Base URL URL to connect to the Eloqua application. Enter in the format
https://<Base Name>.eloqua.com
The data center that hosts your Eloqua account determines the
base URL. For help with finding your account’s base URL, see
Determining base URLs in the Oracle Eloqua Developer Help Center.
For example:
https://secure.s04.eloqua.com
Time Zone Offset Time zone in the Eloqua system settings relative to GMT.
For example, if the Eloqua system time zone is GMT-06:00, enter
-06:00
Domain Name Company name for the Eloqua account, used at Eloqua sign-in.
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. The new version currently uses different field names and includes more objects than the legacy
version. To migrate, create a connection with the connector mirroring the settings of your legacy connection. Then, update your
recipes and dataflows to use the external objects from the new connection. Keep the legacy version of the connection for
troubleshooting. We recommend that you complete the migration and test soon, as we’ll retire legacy connector versions beginning
with the Winter ‘22 release.
SEE ALSO:
Oracle Eloqua Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
766
Analyze Your Data Integrate and Prepare Data for Analysis
Database Connectors
Use these connectors to sync data from your external database services to CRM Analytics.
767
Analyze Your Data Integrate and Prepare Data for Analysis
Connection Settings
Setting Description
Connection Name Use a name that lets you easily distinguish between different
connections.
Developer Name The developer name is used in your recipes to reference data
extracted through this connection. The name can't include spaces.
After you create the connection, you can’t change the developer
name.
AWS Access Key Access key associated with your AWS root account. You can find
it on your AWS Management console in the Security Credentials
Access Keys section.
AWS Secret Key Secret key associated with your AWS root account. You can find it
on your AWS Management console in the Security Credentials
Access Keys section.
AWS Region Region name where your Amazon Athena data is hosted. Valid
values are:
• bahrain
• beijing
• capetown
• central
• frankfurt
• govcloudeast
• govcloudwest
• hongkong
• ireland
• jakarta
• london
• milan
• mumbai
• ningxia
• northerncalifornia
768
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
• northernvirginia
• ohio
• oregon
• osaka
• paris
• saopaulo
• seoul
• singapore
• stockholm
• sydney
• tokyo
• uae
• zurich
S3 Staging Directory Folder in S3 where you want to store the results of queries.
Note: The connector uses AwsRootKeys for the AuthSchema value, so make sure to use the AWS root key values.
For more information, see CData JDBC Driver for Amazon Athena and AWS security credentials.
Connection Considerations
When working with the Amazon Athena connector, keep these behaviors in mind.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 10 million rows or up to 5 GB per job, whichever limit it reaches first.
769
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily distinguish between
different connections.
Developer Name API name for the connection. This name can’t include spaces. The API name is used in
your recipes to reference data extracted through this connection. You can’t change the
developer name after you create the connection.
JDBC Connection URL URL schema for the database. The port isn’t optional. If no port is specified, the default
port is used. Enter in the format:
<prefix>.<hostname>.<cluster>.rds.amazonaws.com:<port>
For example:
analyticsaws.csg5yuelzxbf.us-west-2.rds.amazonaws.com:5407
Schema Schema name for the database. Required if the JDBC connection URL doesn’t provide
This setting is available for MariaDB and enough context. Otherwise, this setting is optional.
MySQL connections. • Microsoft SQL Server—Use the schema name to specify the correct object.
• PostgreSQL—Use the schema name to specify the correct object.
Note: If you plan to use excluded data in the future, use a recipe filter to limit the data written to a dataset instead of a data sync
filter.
770
Analyze Your Data Integrate and Prepare Data for Analysis
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note
SEE ALSO:
Amazon RDS Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Connection Requirements
Before you create an Amazon Redshift connection, ensure that the Redshift cluster that you’re connecting to is SSL enabled. For more
information about using SSL, see Configure Security Options for Connections in Amazon Web Services documentation.
Note: SHA256 encryption isn't supported for the certificate bundle. You must use MD5 encryption.
771
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The API name is used in your recipes to
reference data extracted through this connection. You can’t change the developer name after you create
the connection.
Description Description
Schema Your Amazon Redshift schema name. Only objects that exist within this schema are available for sync.
JDBC URL Your Amazon Redshift connection URL. Enter in the format:
jdbc:redshift://<cluster>.<hostname>.<region>.redshift.amazonaws.com:<port>/<database>
For help finding your URL, see Amazon Web Services’ Obtain the JDBC URL. Use the exact URL specified in
the cluster database properties. For example:
jdbc:redshift://examplecluster.cke7ebis04kb.us-west-2.redshift.amazonaws.com:5631/dev
Note: If you expect to use excluded data in the future, use a recipe filter to limit the data written to a dataset instead of a data
sync filter.
1. From Data Manager, click the Connections tab.
2. Select the connection associated with the object to filter.
772
Analyze Your Data Integrate and Prepare Data for Analysis
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
When you run a sync job on a Redshift object using the legacy connector, the Redshift data is first staged in an Amazon S3 bucket
and then pulled from the S3 bucket into CRM Analytics. To enable the connector to access the data, specify the name of the bucket,
its secret access key, and its access key ID in the connection settings. You can only sync data included in the specified Amazon S3
bucket. The new connector version doesn’t use Amazon S3.
773
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
S3 Bucket Name The name of your Amazon S3 bucket. Required when using the
legacy version of this connector.
SEE ALSO:
Amazon Redshift Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Databricks Connection
Sync Databricks to CRM Analytics by creating a remote connection..
Connection Settings
Setting Description
Connection Name Use a name that lets you easily distinguish between different
connections.
Developer Name The developer name is used in your recipes to reference data
extracted through this connection. The name can't include spaces.
After you create the connection, you can't change the developer
name.
Token Personal access token for Databricks. You can find it on your
Databricks User Settings page on the Access Tokens tab.
Connection Considerations
When working with the Databricks connector, keep these behaviors in mind.
774
Analyze Your Data Integrate and Prepare Data for Analysis
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can't end with an
underscore.
• This connector can sync up to 10 million rows or up to 5 GB per job, whichever limit it reaches first.
Important: Use the Google BigQuery Standard SQL Connection instead of this connector if using standard SQL or when querying
partitioned tables. For more information on the limitations with legacy SQL and partitioned tables, see Google’s Introduction to
Partitioned Tables.
Connection Requirements
The service account that you use to connect to Google Big Query must have the standard role "BigQuery Data Viewer" and a custom
role with these permissions.
• bigquery.jobs.create
• bigquery.jobs.get
• bigquery.jobs.list
• bigquery.jobs.listAll
• bigquery.jobs.update
• bigquery.tables.create
• bigquery.tables.delete
• bigquery.tables.update
• bigquery.tables.updateData
• storage.buckets.list
Account creation generates a JSON file of account properties. Most of the necessary connection settings are in this file. For more
information about viewing and downloading service account details, see Google’s Creating and managing service account keys
documentation.
Create Connection
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
775
Analyze Your Data Integrate and Prepare Data for Analysis
Description Description
Private Key Enter the private_key value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE
KEY-----" at the start of the key, and \n-----END
PRIVATE KEY-----\n" at the end.
Client Email Enter the client_email value from the JSON file.
Region Id Optional setting. Enter the data location of the Google BigQuery
dataset if the location isn’t in North America. The dataset data
location is found in the BigQuery console in the Dataset Info section.
For example, asia-northeast1.
Extract Mode Optional setting. Enter one of the following modes to extract data
from Google BigQuery. Direct is the default if a mode isn’t specified.
Direct: Use this mode to extract small data volumes. The connector
extracts the data directly from Google BigQuery.
Staging: Use this mode to extract large data volumes, such as 10
million records. To increase performance when handling large data
volumes, the connector stages the data in the specified Google
Cloud storage path and then extracts the data from the storage
path. If a direct extract fails, try using this extract mode.
Use Storage API Optional setting. If True, uses the Google BigQuery Storage Read
API. See Google’s BigQuery Storage Read API documentation to
understand your expected consumption, and Google’s data
extraction pricing for additional cost information. If False, uses
Direct extract mode.
Note: If you might use excluded data in the future, use a recipe filter to limit the data written to a dataset instead of a data sync
filter.
1. From Data Manager, click the Connections tab.
776
Analyze Your Data Integrate and Prepare Data for Analysis
If you include the addresses field for sync, each nested field appears as a separate field in each row of the synced connected
object. The repeated address fields result in two rows for each contact: one row for the current address, and one row for the previous
address.
777
Analyze Your Data Integrate and Prepare Data for Analysis
Table Support
The Google BigQuery for Legacy SQL connector supports Standard SQL Tables, Legacy SQL Tables, and Legacy SQL Views, but doesn’t
support Standard SQL Views.
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. The new version of this connector uses the Google BigQuery Storage Read API for increased
throughput, and may impact your Google billing. You may see a nominal cost increase per TB if you're not on a flat-rate plan. See
Google’s BigQuery Storage Read API documentation to understand your expected consumption, and Google’s data extraction
pricing for additional cost information.
SEE ALSO:
Google BigQuery Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Important: Use the Google BigQuery for Legacy SQL Connection instead of this connector if using legacy SQL.
Create Connection
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
778
Analyze Your Data Integrate and Prepare Data for Analysis
Description Description
Private Key Enter the private_key value from the JSON file.
Client Email Enter the client_email value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE
KEY-----" at the start of the key, and \n-----END
PRIVATE KEY-----\n" at the end.
Region Id Optional setting. Enter the data location of the Google BigQuery
dataset if the location isn’t in North America. The dataset data
location is found in the BigQuery console in the Dataset Info section.
For example, asia-northeast1.
Use Storage API Optional setting. If True, uses the Google BigQuery Storage Read
API. See Google’s BigQuery Storage Read API documentation to
understand your expected consumption, and Google’s data
extraction pricing for additional cost information. If False, uses
Direct extract mode.
779
Analyze Your Data Integrate and Prepare Data for Analysis
automatically. To avoid incurring extra data storage costs on Google BigQuery, check that all temporary tables have been deleted,
and manually delete any tables that haven’t been deleted.
Table Support
The Google BigQuery Standard SQL connector supports Standard SQL Tables, Legacy SQL Tables, and Standard SQL Views, but
doesn’t support Legacy SQL Views.
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. The new version of this connector uses the Google BigQuery Storage Read API for increased
throughput, and may impact your Google billing. You may see a nominal cost increase per TB if you're not on a flat-rate plan. See
Google’s BigQuery Storage Read API documentation to understand your expected consumption, and Google’s data extraction
pricing for additional cost information.
Connection Requirements
A Google Cloud Spanner connection requires a private key and client email. You can generate a JSON file containing this information
from the IAM & Admin page in the Google Cloud Platform Console.
Create Connection
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
780
Analyze Your Data Integrate and Prepare Data for Analysis
Private Key Enter the private_key value from the JSON file.
Client Email Enter the client_email value from the JSON file.
Connector Considerations
Keep these behaviors in mind when working with a Google Cloud Spanner connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 20 million rows or 10 GB per object, whichever limit it reaches first. When using this connector,
Salesforce Government Cloud org data is protected in transit with advanced encryption and can sync up to 10 million rows or 5 GB
for each connected object, whichever limit is reached first.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
SEE ALSO:
Google Cloud Spanner Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Connection Requirements
To access Heroku Postgres in Heroku Private Spaces, complete these steps before you create the connection.
1. Contact Heroku Support to activate Trusted IP ranges for data services in the space. Trusted IP ranges for data services is a beta
feature.
781
Analyze Your Data Integrate and Prepare Data for Analysis
2. Add the Salesforce IP ranges to the Trusted IP ranges in the space. See the Salesforce IP Addresses and Domains to Allow knowledge
article for a list of Salesforce IP ranges. To use this connector with Hyperforce, use the IPs listed in Hyperforce External IPs.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
JDBC Connection URL URL schema for the database. Enter in the format:
jdbc:postgresql://<host>:<port>/<database>
Look for the host, port, and database details in the database
credentials. For example:
jdbc:postgresql://ec1-23-45-67-89.compute-2.amazonaws.com:5112/a1b2c3
Schema The name of the schema you want to use for the database. If no
schema names have been specified for the database, you can enter
public.
782
Analyze Your Data Integrate and Prepare Data for Analysis
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
SEE ALSO:
Heroku Postgres Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
783
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Azure DW JDBC URL URL schema for the database. Enter in the format: <host
name>:<port>
To form the host name, append .sql.azuresynapse.net
or .database.windows.net to the server name. The server
name is found by following Microsoft’s documentation. For
example, if your server’s name is Blue_server, the host name is
Blue_server.sql.azuresynapse.net. The default port is 1433.
Azure DW JDBC URL example:
Blue_server.sql.azuresynapse.net:1433
Azure DW JDBC Password Password to connect to the Microsoft Azure Synapse Analytics
account.
Azure Blob Account Name Name of the Microsoft Azure Synapse Analytics Storage account
to stage the files.
Database Name of the Microsoft Azure Synapse Analytics database that you’re
connecting to.
Azure DW JDBC Username User name to connect to the Microsoft Azure Synapse Analytics
account.
Azure Blob Account Key Microsoft Azure Storage access key to stage the files.
Azure DW Schema Name Name of the schema in Microsoft Azure Synapse Analytics.
784
Analyze Your Data Integrate and Prepare Data for Analysis
Connector Considerations
Keep these behaviors in mind when working with an Azure Synapse Analytics connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 20 million rows or 10 GB per object, whichever limit it reaches first. When using this connector,
Salesforce Government Cloud org data is protected in transit with advanced encryption and can sync up to 10 million rows or 5 GB
for each connected object, whichever limit is reached first.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
When using the legacy connector version, the user that you use to connect to Microsoft Azure Synapse Analytics must have the
db_owner privilege.
SEE ALSO:
Microsoft Azure Synapse Analytics Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
785
Analyze Your Data Integrate and Prepare Data for Analysis
Schema Schema name for the database. You must enter a schema name
if the JDBC connection URL doesn’t provide enough context.
The default value is dbo
786
Analyze Your Data Integrate and Prepare Data for Analysis
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
SEE ALSO:
Microsoft Azure SQL Database Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. There are two connector options, the new SAP HANA Cloud Connection on page 788 and this
legacy SAP HANA Connection. These connectors don’t use the legacy connector toggle. To migrate, create a connection with the
connector mirroring the settings of your legacy connection and any new required properties. Then, update your recipes and
dataflows to use the external objects from the new connection. Keep the legacy version of the connection for troubleshooting.
We recommend that you complete the migration and test soon, as we retire legacy connector versions beginning with the Winter
‘22 release.
Connection Settings
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your dataflows to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
787
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
SAP HANA Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Note: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new connector
version impacts your existing connections, the connection upgrade path to the new version, and considerations when creating
connections, see this release note. There are two connector options, this SAP HANA Cloud Connection and the legacy SAP HANA
Connection on page 787. These connectors won’t use the legacy connector toggle. To migrate, create a connection with the
connector mirroring the settings of your legacy connection and any new required properties. Then, update your recipes and
dataflows to use the external objects from the new connection. Keep the legacy version of the connection for troubleshooting.
We recommend that you complete the migration and test soon, as we’ll retire legacy connector versions beginning with the
Winter ‘22 release.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
788
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Port The specified server port for your SAPA Hana database. For example,
556.
Schema Schema name for the database. The default value is DBADMIN.
789
Analyze Your Data Integrate and Prepare Data for Analysis
Snowflake Connection
Create a remote connection using the Snowflake connector to sync data from Snowflake to CRM Analytics.
Note: If you want to sync data from CRM Analytics to Snowflake, use the Snowflake Output Connector on page 817 or Sync Out
for Snowflake on page 834 instead.
These high-level instructions help you navigate the steps involved. Remember to contact your Network Security or IT department for
help with configuration consistent with your organization’s security requirements.
1. Configure Snowflake and your selected external authorization server. Here’s Snowflake's help, with detailed instructions for connecting
to services like Okta and Microsoft Azure AD.
2. With the authorization server is configured, follow the steps under Define an Authentication Provider in Salesforce from Configure an
Authentication Provider Using OpenID Connect.
• If you’re using Okta, here are Okta's instructions for adding their service to Salesforce.
3. With the authentication provider added to Salesforce, define a named credential in Salesforce. Select the OAuth 2.0 authentication
protocol and Named Principal identity type.
4. Add the Snowflake connection. For Authentication Type setting, enter OAuth.
Note: OAuth 2.0 is the industry-standard protocol for authorization, however we’re unable to test every possible combination of
services. Log a case with Salesforce Customer Support if your service can’t connect with the Authentication Provider system.
Connection Details
Generate your Snowflake private key and private key passphrase using the Snowflake Private Key documentation. If you opt to rotate
your Snowflake private key manually, update the connection properties with the new key.
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
790
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Description Description
Authentication Type The type of authentication used for this connection. Accepted
values are "OAuth", "Password", or "PrivateKey".
• If you use OAuth, enter a value in the Named Credential field.
• If you use Password, enter a value in the Username and
Password fields.
• If you use PrivateKey, enter a value in the Username, Private
Key, and Private Key Passphrase fields.
Named Credential The Name field from a named credential stored in your Salesforce
org.
Private Key Optional setting*. A private key associated with your Snowflake
account.
Don’t include -----BEGIN ENCRYPTED PRIVATE
KEY----- at the start of the key, and -----END
ENCRYPTED PRIVATE KEY----- at the end.
Private Key Passphrase Optional setting*. The passphrase associated with your specified
private key.
Role Optional setting. Snowflake role assigned to the user that you’re
using to connect.
Additional JDBC URL Parameters Optional setting. One or more JDBC connection parameters. Enter
in the format
parameter1=value;parameter2=value;parameter3=value
For example:
user=joates;warehouse=mywh;db=mydb&schema=public
791
Analyze Your Data Integrate and Prepare Data for Analysis
*Enter the Password or both the Private Key and Private Key Passphrase. Learn more about private keys in the Snowflake Private Key
documentation.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
• When using the legacy version of the Snowflake connector, the settings Private Key and Private Key Passphrase aren't used. The
Password property is required.
SEE ALSO:
Snowflake Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Zendesk Connection
Create a remote connection using the Zendesk connector to sync data from Zendesk to CRM Analytics.
792
Analyze Your Data Integrate and Prepare Data for Analysis
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
URL Complete URL of the Zendesk account. Enter in the format: <http
or https>://<Instance
Name>.zendesk.com/<Instance Details>
For example:
https://blueskysystems.zendesk.com/api/v3
When working with the Zendesk connector, keeps these behaviors in mind.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100,000 rows or 500 MB per object, whichever limit it reaches first.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
793
Analyze Your Data Integrate and Prepare Data for Analysis
Important: These connectors sync data from cloud-based systems. You can’t use these connectors to sync data from an on-premises
system.
Important: This connector syncs data from cloud-based systems. You can’t use it to sync data from an on-premises system.
A Mulesoft license, purchased or acquired separately, is required. The 30-Day Mulesoft Trial license is supported. Ask your Mulesoft admin
for CloudHub credentials with access to deploy.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
To simplify AnyPoint management, the application name of the
Mule instance initiated by this connector is automatically added
to the end of your Connection Name. For example, if you assigned
the connection name ABC_Systems and the Mule's
autogenerated name is MyMulesoft-tzflx, the connection
ABC_Systems (mule:MyMulesoft-tzflx) is added
to your list.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
794
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Database Port Network port number used to connect to the database server.
CloudHub Env Name CloudHub environment name where the connection is deployed.
Typical values are Sandbox, Design, or Production.
CloudHub Username User name to connect to the Mulesoft Anypoint account containing
the CloudHub instance.
Database Name Name of the Microsoft SQL Server database that you are connecting
to.
Database Host URL schema for the database. Enter in the format:
<prefix>.<hostname>.<cluster>.rds.amazonaws.com
For example:
myrdssqlmule.ast7yapjzxxq.us-west-2.rds.amazonaws.com
Keep these behaviors in mind when working with the Analytics Mulesoft Microsoft SQL Server connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 1 million rows or 1 GB per object, whichever limit it reaches first.
• Your CloudHub administrator manages your CloudHub resources. If you’re running multiple concurrent syncs or larger volumes of
data, inform your CloudHub administrator so they can manage CloudHub allocations.
• Saving the connector prompts Anypoint to generate a Mule for the connection. Mule generation can take up to two minutes. If you
attempt to open the new connection during Mule generation, an error message says that objects can’t be retrieved. You can check
Mule status in Anypoint.
Important: This connector syncs data from cloud-based systems. You can’t use it to sync data from an on-premises system.
A Mulesoft license, purchased or acquired separately, is required. The 30-Day Mulesoft Trial license is supported. Ask your Mulesoft admin
for CloudHub credentials with access to deploy.
795
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
To simplify AnyPoint management, the application name of the
Mule instance initiated by this connector is automatically added
to the end of your Connection Name. For example, if you assigned
the connection name ABC_Systems and the Mule's
autogenerated name is MyMulesoft-tzflx, the connection
ABC_Systems (mule:MyMulesoft-tzflx) is added
to your list.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Database Port Network port number used to connect to the database server.
Database Name Name of the MySQL database that you are connecting to.
CloudHub Env Name CloudHub environment name where the connection is deployed.
Typical values are Sandbox, Design, or Production.
CloudHub Username User name to connect to the Mulesoft Anypoint account containing
the CloudHub instance.
Database Host URL schema for the database. Enter in the format:
<prefix>.<hostname>.<cluster>.rds.amazonaws.com
For example:
mysqlmule.ast7yapjzxxq.us-west-2.rds.amazonaws.com
Keep these behaviors in mind when working with the Analytics Mulesoft MySQL connector.
796
Analyze Your Data Integrate and Prepare Data for Analysis
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 1 million rows or 1 GB per object, whichever limit it reaches first.
• Saving the connector prompts Anypoint to generate a Mule for the connection. Mule generation can take up to two minutes. If you
attempt to open the new connection during Mule generation, an error message says that objects can’t be retrieved. You can check
Mule status in Anypoint.
Important: This connector syncs data from cloud-based systems. You can’t use it to sync data from an on-premises system.
A Mulesoft license, purchased or acquired separately, is required. The 30-Day Mulesoft Trial license is supported. Ask your Mulesoft admin
for CloudHub credentials with access to deploy.
1. On the Data Manager Connections tab, click New Connection.
2. Click the name of the connector, and click Next.
3. Enter the connector settings.
4. To validate your settings and attempt to connect to the source, click Save & Test. If the connection fails, CRM Analytics shows
possible reasons.
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
To simplify AnyPoint management, the application name of the
Mule instance initiated by this connector is automatically added
to the end of your Connection Name. For example, if you assigned
the connection name ABC_Systems and the Mule's
autogenerated name is MyMulesoft-tzflx, the connection
ABC_Systems (mule:MyMulesoft-tzflx) is added
to your list.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Database Port Network port number used to connect to the database server.
CloudHub Env Name CloudHub environment name where the connection is deployed.
Typical values are Sandbox, Design, or Production.
797
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
CloudHub Username User name to connect to the Mulesoft Anypoint account containing
the CloudHub instance.
Database Name Name of the Oracle database that you are connecting to.
Database Host URL schema for the database. Enter in the format:
<prefix>.<hostname>.<cluster>.rds.amazonaws.com
For example:
oracledbmule.ast7yapjzxxq.us-west-2.rds.amazonaws.com
Keep these behaviors in mind when working with the Analytics Mulesoft Oracle connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 1 million rows or 1 GB per object, whichever limit it reaches first.
• Saving the connector prompts Anypoint to generate a Mule for the connection. Mule generation can take up to two minutes. If you
attempt to open the new connection during Mule generation, an error message says that objects can’t be retrieved. You can check
Mule status in Anypoint.
Amazon S3 Connection
Create a remote connection using the Amazon S3 connector to sync CSV data from an S3 bucket to CRM Analytics.
Amazon S3 Connection
Create a remote connection using the Amazon S3 connector to sync CSV data from an S3 bucket to CRM Analytics.
Note: If you want to write from CRM Analytics to Amazon S3, use an Amazon S3 Output Connection on page 809 instead.
Connection Details
Knowing your S3 bucket folder hierarchy is important to configuring this connector. Set the S3 bucket settings and parent’s folder path
when creating the connection. Then select one or more objects, which are the subfolders under the parent’s folder path, that contain
the CSV files you want to sync to CRM Analytics. When you sync the connected object, CRM Analytics looks for a CSV file called
schema_sample.csv to detect the schema of the CSV data in the folder and to display a data preview. From this preview, you can
view and change field attributes for all the files that you’re loading from the folder.
798
Analyze Your Data Integrate and Prepare Data for Analysis
CRM Analytics loads all CSV files in the subfolder that have the same fields as the schema_sample.csv and appends the rows in
a single object.
The permissions for the Amazon S3 account used to create this connection must include ListBucket and GetObject. Permissions must
include resource grants to the bucket and either "any object" or, if you chose to be specific, the appropriate ARNs that represent the
path and objects being referenced. For example:
799
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Description Description
Master Symmetric Key Optional setting for managing client-side encryption. You can
connect to objects encrypted with customer master keys stored
in the AWS Key Management Service or a customer-generated key
in the 256-bit AES format. See Amazon’s documentation for details.
Region Name Region of your S3 service, for example EU (Ireland). For the
list of region names, see the S3 Region Names in CRM Analytics
below.
Folder Path Path to the folder that you want to connect to. The path must start
with the bucket name and can’t include the name of the subfolder
whose data you want to sync.
800
Analyze Your Data Integrate and Prepare Data for Analysis
EU (Frankfurt) eu-central-1
EU (Ireland) eu-west-1
EU (London) eu-west-2
EU (Paris) eu-west-3
EU (Stockholm) eu-north-1
Keep these behaviors in mind when working with the Amazon S3 connector.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100 million rows or 50 GB per object, whichever limit it reaches first. When using this connector,
Salesforce Government Cloud org data is protected in transit with advanced encryption and can sync up to 10 million rows or 5 GB
for each connected object, whichever limit is reached first.
• To avoid Amazon S3 connector setup timeout, choose a Folder Path with fewer than 5,000 entry options. An entry is the folder you
intend to sync, the files within the folder, as well as all subfolders and subfiles. Recommended best practice is to create a bucket or
folder within the bucket dedicated to Data Sync, populated with only the files to sync.
• Surround fields that contain quotes and commas in double quotes. Some CSV generators automatically double quote text fields
when needed, while others do not. Due to inconsistent generator behavior, we recommend you surround all text fields in double
quotes to ensure characters such as ' or , do not cause data sync issues
• The folder path that you specify in the connection settings must start with the bucket name and the parent folder. Don’t include
the folder that you want to connect to. Let’s look at an example. You want to load files from the Call_Back_Logs_2018_Jan in S3.
The folder path appears above the folder when you open it in S3.
801
Analyze Your Data Integrate and Prepare Data for Analysis
The folder path in S3 starts with the bucket name (1), followed by a folder name (2). In this example, subfolder (3) contains CSV data
that you want to sync. When you specify this connection’s folder path setting, you include only the bucket (1) and parent folder (2),
not the subfolder (3) that you’re syncing. After you create the connection, all subfolders directly under the parent folder (2), including
Call_Back_Logs_2018_Jan, appear as possible objects that you can sync using this connection.
• Folder names in S3 must follow developer naming conventions, with no spaces or special characters.
• Rename one of the files in the subfolder to schema_sample.csv. CRM Analytics uses this file to detect the schema of the CSV
data.
802
Analyze Your Data Integrate and Prepare Data for Analysis
• Each file that you want to load from the S3 subfolder must have a file name ending in .csv. Each file must also have a header row
and the same fields as the schema_sample.csv file. A file can have extra fields, but these fields aren’t loaded. CRM Analytics
ignores files that don’t meet these requirements.
• Field names in the header row of each file must follow developer naming conventions, with no spaces or special characters. The
header rows in your schema file and data files are case-sensitive, so use the same capitalization throughout.
• You can load only whole files, not parts of files.
Connection Example
To better understand how the S3 connector works under more complex scenarios, consider the following hierarchy in S3. The hierarchy
has two buckets: Quarterly_Financial_Data and Call_Logs. The first bucket has one level of folders. The second bucket has two levels:
parent folders and subfolders. Here’s the S3 hierarchy.
• Quarterly_Financial_Data
– 2018
• 2018_quarter1_results.csv
• 2018_quarter2_results.csv
• 2018_quarter3_results.csv
• 2018_quarter4_results.csv
– 2019
• 2019_quarter1_results.csv
• 2019_quarter2_results.csv
• 2019_quarter3_results.csv
• 2019_quarter4_results.csv
• Call_Logs
– 2018_Call_Logs
• Q1_2018
– call_logs_2018_01.csv
– call_logs_2018_02.csv
– call_logs_2018_03.csv
• Q2_2018
– call_logs_2018_04.csv
– call_logs_2018_05.csv
– call_logs_2018_06.csv
• Q3_2018
– call_logs_2018_07.csv
– call_logs_2018_08.csv
– call_logs_2018_09.csv
• Q4_2018
– call_logs_2018_10.csv
803
Analyze Your Data Integrate and Prepare Data for Analysis
– call_logs_2018_11.csv
– call_logs_2018_12.csv
Let’s look at how you can set up connections and connected objects to accomplish the following goals.
Goal Action
Extract data from multiple buckets into CRM Analytics. Because each connection is associated with a single bucket, create
a separate connection for each bucket.
For example, to extract data from the Quarterly_Financial_Data
and Call_Logs buckets, create two connections, one for
Quarterly_Financial_Data and another for Call_Logs. For each
connection, set the appropriate bucket name in the Folder Path
connection property.
Extract specific folders, but not all subfolders, from a parent folder. Create a connection for the parent folder, and then use the
connection to connect to specific subfolders.
For example, to extract call logs from Q1_2018 and Q2_2018
folders, create one connection with folder path
Call_Logs/2018_Call_Logs. Then create connected
objects for Q1_2018 and Q2_2018.
Extract data from a subset of the CSV files under a folder. Move the subset of files into a subfolder, create the connection on
the parent folder, and then use the connection to connect to the
subfolder.
For example, to extract data from call_logs_2018_11.csv and
call_logs_2018_12.csv, move these CSV files under a new subfolder
under Q4_2018. Next, create a connection with folder path
Call_Logs/2018_Call_Logs/Q4_2018. Finally, create
a connected object based on the new subfolder.
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this knowledge article.
• The legacy version supports connecting to objects encrypted with a customer-generated key in the 256-bit AES format. See
Amazon’s documentation for details.
• The legacy version of connector is not supported when your data is client-side encrypted with an AWS KMS managed key.
804
Analyze Your Data Integrate and Prepare Data for Analysis
Important: There’s a new codebase version of this connector available with the Summer ‘21 release. To learn how the new
connector version impacts your existing connections, the connection upgrade path to the new version, and considerations when
creating connections, see this release note.
SEE ALSO:
Amazon S3 Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Note: This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service
is subject to the applicable Beta Services Terms provided at Agreements and Terms.
To use the CRM Analytics HubSpot connector with an OAuth connection, you must configure HubSpot for OAuth, Salesforce, and CRM
Analytics.
These high-level instructions help you navigate the steps involved. Remember to contact your Network Security or IT department for
help with configuration consistent with your organization’s security requirements.
1. Configure HubSpot for OAuth using the HubSpot OAuth Quickstart Guide.
2. With HubSpot OAuth configured, follow the steps under Define an Authentication Provider in Salesforce from Configure an Authentication
Provider Using OpenID. Here’s some of the field mapping between Hubspot and Salesforce:
• Copy the Hubspot Client ID to the Salesforce Consumer Key.
• Copy the Hubspot Client secret to the Salesforce Consumer Secret.
• The Authorization Endpoint URL is https://app.hubspot.com/oauth/authorize
• The Token Endpoint URL is https://api.hubapi.com/oauth/v1/token
• After the auth provider is saved, copy the Callback URL from Salesforce to the Redirect URL in HubSpot’s OAuth configuration.
3. With the authentication provider added to Salesforce, define a named credential in Salesforce. Select the OAuth 2.0 authentication
protocol and Named Principal identity type.
4. Add the HubSpot connection. For Authentication Type, enter OAuth.
805
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connections. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Authentication Type The variety of authentication used for this connection. Accepted
values are "OAuth" or "Token".
• If you use OAuth, enter a value in the Named Credential field.
• If you use Token, enter a value in the API Key and Schema.
Named Credential The Name field from a named credential stored in your Salesforce
org.
API Key Your Hubspot account’s API key. See Hubspot’s help for more
details.
Schema The Hubspot API version. Assign the value HUBSPOT to use the
HubSpot CRM API v2, or set it to HUBSPOTV3 to use the HubSpot
CRM API v3.
806
Analyze Your Data Integrate and Prepare Data for Analysis
When working with the Hubspot connector, keeps these behaviors in mind.
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100,000 rows or 500 MB per object, whichever limit it reaches first.
• The named credential must use the identity type Named Principal and have the status Authenticated.
Note: This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service
is subject to the applicable Beta Services Terms provided at Agreements and Terms.
The Marketo connector accesses Marketo data using REST API. You need a Marketo custom service’s Client ID, Client Secret, and your
Marketo REST API endpoint for authentication. Ask your Marketo administrator or track down the credentials and endpoint in Marketo.
1. In Marketo, create a role with Access API permission and assign it to a user.
2. Create a custom service using the user’s credentials.
3. Record the custom service’s Client ID and Client Secret credentials. For instructions on generating the credentials, see Client ID and
Client Secret credentials.
4. Record the REST API endpoint from the Web Services section. To locate your Marketo endpoint, see REST API endpoint.
Developer Name API name for the connection. This name can’t include spaces. The
API name is used in your recipes to reference data extracted
through this connection. You can’t change the developer name
after you create the connection.
Rest API URL Marketo web services connection REST API endpoint string. Enter
in the format: https://<Database
Name>.mktorest.com
Example: https://123-ABC-456.mktorest.com
807
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Based on the Marketo API design, adding a filter is recommended for better performance.
Connector Considerations
When working with the Marketo connector, keeps these behaviors in mind.
808
Analyze Your Data Integrate and Prepare Data for Analysis
• Connected object names must start with a letter and contain only letters, digits, or underscores. Object names can’t end with an
underscore.
• This connector can sync up to 100,000 rows or 500 MB per object, whichever limit it reaches first.
• You can extract up to 300 lead records at a time from Marketo when using the Filter Field and Filter Values properties.
• If your Marketo instance is synced with a CRM, Marketo disables connections to the Company, Opportunity, OpportunityRole,
SalesPerson, and custom objects. If you try to extract from one of these objects when synced with a CRM, an error saying that the
object API is disabled appears.
SEE ALSO:
Marketo Connector Known Issues and Knowledge Articles
Add and Remove Remote Objects and Fields from Data Sync
Output Connectors
Use output connectors to push data from CRM Analytics to the remote system. Output connectors can push as part of a data prep output
node, and some can also push out unprepared data using sync.
Note: If you want to sync data from an Amazon S3 bucket to CRM Analytics, use an Amazon S3 Connection on page 798 instead.
809
Analyze Your Data Integrate and Prepare Data for Analysis
Developer Name API name for the connection. The developer name can’t include
spaces, and you can’t change it after you create the connection.
Description Description
Region Name Region of your S3 service. The default region is US East(N. Virginia).
For the list of region names, see the AWS service endpoints
documentation.
Folder Path Path to the folder that you want to connect to. The path must start
with the bucket name and can’t include the name of the subfolder
whose data you want to sync.
810
Analyze Your Data Integrate and Prepare Data for Analysis
Keep these behaviors in mind when working with the Amazon S3 output connector.
• You can use an output connection more than once per recipe, but each output node must use a different object. Each output node
can use up to the connector's per-run limit independently, but is still subject to the rolling 24 hour limit.
• Output connections are only available for recipes built with Data Prep.
• Each output connection only supports one folder path. To output to another folder path, create another output connection.
• When the prior run’s files are deleted in preparation for the current run, the earlier version of an output dataset is inaccessible. Set
up a process to copy or use the output after each run, and use the _SUCCESS file as an indication that the write is complete.
• Null values are output to AWS as null-[token], where the token is a string of characters. For example,
null-OrJLA4JEfCjToa4DDN or null-PaKIW3MEfCaQou9WXM. To interpret the null values, you may need to implement
post-processing using AWS CLI or on the target where data is consumed.
SEE ALSO:
Output Node: Write Recipe Results to a Dataset or External System
Note: If you want to sync data from Microsoft Azure Synapse Analytics or dedicated SQL pool to CRM Analytics, use an Azure
Synapse Analytics Connection instead. Or, to sync data from Microsoft Azure SQL Database to CRM Analytics, use an Azure SQL
Database Connection.
811
Analyze Your Data Integrate and Prepare Data for Analysis
Developer Name API name for the connection. The developer name can’t include
spaces, and you can’t change it after you create the connection.
Access Key Your Azure Data Lake access key. To learn more, see Microsoft’s
Azure Data Lake Help
Container The name of the Azure Data Lake container that the connector will
write to.
Folder Path Path to the folder that you want to connect. There must be a
subfolder within the specified folder. For example, to write to
support/servicedata, specify support for the folder
path property in the connection then choose servicedata when
configuring the recipe output node.
Keep these behaviors in mind when working with the Azure data lake output connector.
• You can use an output connection more than once per recipe, but each output node must use a different object. Each output node
can use up to the connector's per-run limit independently, but is still subject to the rolling 24 hour limit.
• Output connections are only available for recipes built with Data Prep.
• Each output connection only supports one folder path. To output to another folder path, create another output connection.
• When the prior run’s files are deleted in preparation for the current run, the earlier version of an output dataset is inaccessible. Set
up a process to copy or use the output after each run, and use the _SUCCESS file as an indication that the write is complete.
Note: Use the Salesforce External Connection on page 747 to sync data from another Salesforce org to CRM Analytics.
Restricted API access isn't supported for Salesforce Output and External connectors. Enable the Use Any API Client permission for
the user creating the connector. For more information, see Manage API Access.
812
Analyze Your Data Integrate and Prepare Data for Analysis
Developer Name API name for the connection. This name can’t include spaces. You
can’t change the developer name after you create the connection.
Description Description
Username User name used to connect to external Salesforce org for sync of
objects and fields.
Service URL Login URL for the external org. The default value uses the generic
Salesforce login URL for your org. For an added layer of security,
update this field to use your org’s My Domain login URL. For a
production org, use the
format:https://<MyDomainName.my
.salesforce.com/services/Soap/Identifier/VersionNumber.0For
example:
https://mycompany.my.salesforce.com/services/Soap/u/34.0
813
Analyze Your Data Integrate and Prepare Data for Analysis
814
Analyze Your Data Integrate and Prepare Data for Analysis
• To troubleshoot unsuccessful or partial failed runs, see Investigate Unsuccessful Salesforce Output Connector Runs.
• You can use an output connection more than once per recipe, but each output node must use a different object. Each output node
can use up to the connector's per-run limit independently, but is still subject to the rolling 24-hour limit.
• Output connections are only available for recipes built with Data Prep.
• This connector doesn’t support objects that are the parent or child in a parent-child relationship. If there are two custom objects
with a dependency, manually insert the header record, get the header ID, then insert the detail record with those details.
• Sharing descriptors, the ID of any user or group that has access to a record, aren’t included in the output from the source org to the
target org.
• This connector supports INSERT, UPDATE, and UPSERT to custom objects, these supported Salesforce objects:
– Account
– AccountContactRelationship
– AccountForecast
– AccountProductForecast
– AccountProductPeriodForecast
– AccountForecastPeriodMetrics
– AccountTeamMember
– Activities
– AdvAccountForecastFact
– AdvAccountForecastSetPartner
– Asset
– Campaign
– CampaignMember
– Cases
– ContactPointAddress
– ContactPointEmail
– ContactPointPhone
– Contacts
– CurrencyType
– Event
– Leads
– ObjectTerritory2Association
– Opportunity
– OpportunityLineItem
– OpportunityLineItemSchedule
– OpportunityTeamMember
– Order
– OrderItem
– Product2
– ProgramRebateTypPayoutSrc
– RebateMemberProductAggregate
– RebateProgramMemberPayout
815
Analyze Your Data Integrate and Prepare Data for Analysis
– RebateProgramPayoutPeriod
– Task
– TransactionJournal
and these Salesforce Industries objects:
– AccountServicePreference (Health Cloud)
– Claim (Automotive Cloud, Financial Services Cloud, and Manufacturing Cloud)
– ClaimItem (Automotive Cloud, Financial Services Cloud, and Manufacturing Cloud)
– QuoteLineItem (Commerce Cloud)
– SalesAgreement (Manufacturing Cloud)
– Visit (Consumer Goods Cloud)
• To output null measure values to Salesforce, see Enable Null Measure Handling. To output null dimension values, add a bucket
transformation for each dimension column with nulls, select Bucket null values, and set the value N/A.
A row fails because its data couldn’t create or update a record in Salesforce. Several issues can cause this failure, including incorrect
date formatting or a mismatch between the source row’s and record field’s datatype.
5. To find which rows failed, create this API URI using your API version and Job ID:
/services/data/vXX.X/jobs/ingest/jobID/failedResults/.
For example, /services/data/v51.0/jobs/ingest/751B000000JLPLt/failedResults/For more information,
see Get Job Failed Record Results.
6. Execute the API call in Postman or using cURL.
816
Analyze Your Data Integrate and Prepare Data for Analysis
The end of the raw response has a representation of your failed rows starting with sf__Id. The text after the row names is the
error reason. For example, here’s a raw response.
"sf__Id","sf__Error",Id,Account__c,Checkbox__c,Date__c,Text__c,Currency__c
"","ENTITY_IS_DELETED:entity is
deleted:--","a1h5G0000000OhEXTJ","003M000000YAEHJLA5","false","","","41040.0"
7. To find successful rows, create the URI based on the instructions in Get Job Successful Record Results.
For more information on Salesforce Bulk API and Postman, see the Use Bulk API Trailhead module.
Note: Use Sync Out for Snowflake on page 834 to push raw data from CRM Analytics to Snowflake after setting up the connection.
If you want to sync data from Snowflake to CRM Analytics, use the Snowflake Connection on page 790 instead.
These high-level instructions help you navigate the steps involved. Remember to contact your Network Security or IT department for
help with configuration consistent with your organization’s security requirements.
1. Configure Snowflake and your selected external authorization server. Here’s Snowflake's help, with detailed instructions for connecting
to services like Okta and Microsoft Azure AD.
2. With the authorization server is configured, follow the steps under Define an Authentication Provider in Salesforce from Configure an
Authentication Provider Using OpenID.
• If you’re using Okta, here are Okta's instructions for adding their service to Salesforce.
3. With the authentication provider added to Salesforce, define a named credential in Salesforce. Select the OAuth 2.0 authentication
protocol and Named Principal identity type.
4. Add the Snowflake connection. For Authentication Type setting, enter OAuth.
Note: OAuth 2.0 is the industry-standard protocol for authorization, however we’re unable to test every possible combination of
services. Log a case with Salesforce Customer Support if your service can’t connect with the Authentication Provider system.
817
Analyze Your Data Integrate and Prepare Data for Analysis
Developer Name API name for the connection. This name can’t include spaces. You
can’t change the developer name after you create the connection.
Description Description
Authentication Type The type of authentication used for this connection. Accepted
values are "OAuth", "Password", or "PrivateKey".
• If you use OAuth, enter a value in the Named Credential field.
• If you use Password, enter a value in the Username and
Password fields.
• If you use PrivateKey, enter a value in the Username, Private
Key, and Private Key Passphrase fields.
Named Credential The Name field from a named credential stored in your Salesforce
org.
Account Name of your Snowflake account. The account name is the first
segment in the domain in your Snowflake URL. For example,
123abc is your account name in
https://123abc.snowflakecomputing.com.
Role Optional setting. Snowflake role assigned to the user that you’re
using to connect.
818
Analyze Your Data Integrate and Prepare Data for Analysis
Private Key Optional setting*. A private key associated with your Snowflake
account. Don’t include -----BEGIN ENCRYPTED PRIVATE
KEY----- at the start of the key, and -----END
ENCRYPTED PRIVATE KEY----- at the end.
Private Key Passphrase Optional setting*. The passphrase associated with your specified
private key.
*Enter the Password or both the Private Key and Private Key Passphrase. Learn more about private keys in the Snowflake Private Key
documentation.
SEE ALSO:
Output Node: Write Recipe Results to a Dataset or External System
Important: If you want to sync data from Tableau Online to CRM Analytics, use the Tableau Online Connection.
819
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Connection Name Identifies the connection. Use a convention that lets you easily
distinguish between different connections.
Developer Name API name for the connection. This name can’t include spaces. You
can’t change the developer name after you create the connection.
Description Description
Username Optional setting*. User name for the Tableau Online account.
Authentication Type The variety of authentication used for this connection. Accepted
values are "Password" or "PersonalAccessToken". If you use
Password, enter a value in the Username and Password fields. If
you enter PersonalAccessToken, enter values in the Personal Access
Token Name and Personal Access Token Secret fields.
Personal Access Token Name Optional setting*. The name associated with a personal access
token from your Tableau Online account. Learn more about
personal access tokens, including their 15 day expiration when
unused, in Tableau's PAT documentation.
Personal Access Token Secret Optional setting*. The secret code associated with a personal access
token from your Tableau Online account.
820
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Content URL The subpath portion of your Tableau Online URL. To isolate the
Content URL, sign into Tableau Online and pull the bolded portion
of your URL:
https://us-west-5a.online.tableau.com/#/site/exampleurl5a/home
Server URL The base URL for your Tableau Online server, including the pod
name. To isolate the Server URL, sign into Tableau Online and pull
the bolded portion of your
URL:https://us-west-5a.online.tableau.com/#/site/exampleurl5a/home
*Enter the Username & Password or the Personal Access Token Name & Personal Access Token Secret fields.
821
Analyze Your Data Integrate and Prepare Data for Analysis
Add and Remove Remote Objects and Fields from Data Sync
Update data sync for connected external data sources to keep up with your changing business by
EDITIONS
adding objects, removing objects, and managing which fields are synced. Synced data is stored in
CRM Analytics as objects that can be used in recipes. Available in Salesforce
Note: For help with managing data sync for local Salesforce objects, see Add and Remove Classic and Lightning
Experience.
Local Salesforce Objects and Fields from Data Sync on page 743.
1. From Data Manager, click the Connections tab. All objects configured to sync are listed under Available with CRM
their connection name. Analytics, which is available
for an extra cost in
2. To add an object and its fields: Enterprise, Performance,
a. Click the dropdown next to the connection. An object’s associated connection and Unlimited Editions. Also
determines its sync schedule. available in Developer
Edition.
b. Select Edit Objects.
c. Find the object to add by scrolling or using the search bar. Select the checkbox next to the
object.
USER PERMISSIONS
d. Select the checkbox next to the fields that you want to sync. To create a connection:
• Edit CRM Analytics
e. Optionally, edit the field's attributes with .
Dataflows
f. If you’re using a connector that supports filtering the data synced to CRM Analytics, use the
Data Sync Filter.
g. Click Save.
3. To add or remove a field from data sync for an object already configured for sync:
a. From the Connections tab, select the connection associated with the object. Use the search bar to find the connection and
object if you have more than one connection. The connection's associated objects are listed.
b. Click the name of the object to see its columns. Fields already included for sync are selected.
c. To add a field, select the checkbox next to the field. To remove a field, deselect the checkbox next to the field.
d. Click Save.
Important: Only field names with combinations of alphanumeric, dot, underscore, or dash characters are supported. If a
connector includes field names that contain other special characters, like brackets, the sync fails.
822
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Before you disconnect, remove the object from all recipes. Data sync stops pulling data from the data source to
CRM Analytics when you disconnect an object. This impacts recipes and other consumers of this synced data.
Note:
• Only field label changes appear in the preview data.
• The default value and precision must be consistent between combined data sources. Review other data sources’ configuration
when changing the value and precision.
• For existing non-S3 connected objects, you can change measure and date field types to text. If you change a field to text and
want to change it back, return to the field selection screen. Deselect the field, and select the field again. The field’s original
type is restored when you continue to the preview screen.
• For new S3 connected objects, you can change any field type to any other field type. For existing connected S3 objects, you
can change field types if you remove the object and fields then recreate them, or transform them after extraction.
• If the connection with your remote system times out, no rows load in the data preview. You can continue to edit field attributes
and save, or cancel and try again to see if we're able to pull the data.
Important: Connected objects are synced the next time the sync runs for the connection. To make the data immediately available
in a recipe, sync manually.
SEE ALSO:
Verify the Incremental Sync Settings for Salesforce Data
Schedule, Run, and Monitor Data Sync
Upgradable Connectors
Your existing connections created with one of these connectors stay on the legacy version until you upgrade using the connector’s
legacy toggle.
Connector Notes
Amazon Redshift Connector The new version doesn’t use Amazon S3. The Master Symmetric
Key, AWS Secret Access Key, AWS Access Key ID, and S3 Bucket
Name settings aren’t used.
823
Analyze Your Data Integrate and Prepare Data for Analysis
Connector Notes
Amazon S3 Connector The new version supports connecting to objects encrypted with
customer master keys stored in the AWS Key Management Service
or a customer-generated key in the 256-bit AES format.
Google BigQuery Legacy SQL Connector BigQuery Storage Read API is now supported, which can increase
throughput. Set the new version’s Use Storage API property to true
to use BigQuery Storage API. The new version doesn’t use the
staging environment.
Google BigQuery Standard SQL Connector BigQuery Storage Read API is now supported, which can increase
throughput. Set the new version’s Use Storage API property to true
to use BigQuery Storage API. The new version doesn’t use the
staging environment.
NetSuite Connector The new version names objects differently than the legacy version.
Update your recipes and dataflows with the new object names
after upgrading.
Salesforce Marketing Cloud Contacts OAuth 2.0 Connector The new version makes more Marketing Cloud data accessible
through expanded Data Extension support.
Snowflake Connector
Zendesk Connector
Upgrade path for existing connections We recommend that you upgrade and fully test the new connector version in your Sandbox org.
Make the switch, run data sync, then run the recipes and dataflows that use the data. Check the data to confirm data is transmitting and
populating correctly. To switch back from the new version to legacy connector, select Use legacy connector.
• Select Connect to Data on the Connect tab of the Data Manager.
• Select the connection’s menu (1) and click Edit Connection (2).
824
Analyze Your Data Integrate and Prepare Data for Analysis
Note: If you don’t see this option, you’re likely already on the new version. Contact Salesforce Customer Support to discuss
if your connection is eligible to revert to the legacy version.
Connector Notes
Google Analytics Core Reporting v4 Connector The new version supports custom objects. Using core reporting
API v4.0 provides additional Google Analytics options. You need
to enable v4.0.
Marketo Connector There are two connector options, Marketo Connector and Marketo
Legacy Connector, that reflect the new or legacy version. These
connectors don‘t use the legacy connector toggle. The new
connector version supports filtering on select objects.
Oracle Eloqua Connector The new version currently uses different field names, includes more
objects than the legacy version and doesn’t yet support the Activity
object.
SAP HANA Connector There are two connector options, SAP HANA Cloud Connector and
SAP HANA Connector, reflecting the new or legacy version. These
connectors don’t use the legacy connector toggle. The new
connector version supports filtering, uses different connection
properties, and is JDBC-based.
Upgrade path for existing connections To migrate, create a connection with the connector mirroring the settings of your legacy connection
and any new required properties. Then, update your recipes and dataflows to use the external objects from the new connection. Keep
the legacy version of the connection for troubleshooting. When you create a connection from the manually migrated group, it always
uses the new version.
825
Analyze Your Data Integrate and Prepare Data for Analysis
Your connector upgrade strategy is based on the complexity of your sources and data. Generally, you can do a Sandbox comparison or
build mirror connections, then generate sync objects that you can compare. Database-based connectors are inherently less complicated
and are more likely to have parity. Some of the API-based connectors, such as Marketing Cloud, Netsuite, and Eloqua, have complexities
that require more attention to reach parity.
Sales Analytics
App Dataflow
Service
Analytics App
Dataflow
Every time these dataflows run, they must extract all this Salesforce data. And the more data there is, the longer the dataflow takes to
run. In addition, the dataflows perform separate, duplicate, extracts from the same object. For example, all three dataflows extract
Accounts data.
With data sync, all of these extracts are performed as a separate process, which you can schedule to take place before your dataflows
run.
This synced data is then available to all your dataflows, which run faster because they no longer have to extract any data—just load and
transform.
826
Analyze Your Data Integrate and Prepare Data for Analysis
Add, Remove, and Manage the Objects and Fields That Sync to CRM Analytics
As your analytics and business needs change, the data synced to CRM Analytics change, too. Add, remove, and change the settings
for the objects and fields included in data sync.
Schedule, Run, and Monitor Data Sync
In CRM Analytics, you can schedule sync to run automatically, manually run a sync, and monitor a sync's progress, all in the data
manager.
Verify the Incremental Sync Settings for Salesforce Data
Before you run or schedule data sync, specify whether the sync extracts incremental changes or all records from each Salesforce
object. By default, Salesforce Data Pipelines performs an incremental sync. An incremental sync runs faster because it extracts only
the latest changes to the Salesforce object.
Enable Data Sync and Connections
Data Sync is enabled by default if you turned on CRM Analytics after the Winter ’20 release. If you turned on CRM Analytics before
the Winter ’20 release, manually enable Data Sync and Connections to optimize your dataflows and connect to external data.
Sync Out for Snowflake
Sync Out for Snowflake exports your raw local Salesforce data via CRM Analytics to Snowflake using the CRM Analytics output
connector for Snowflake. With Sync Out for Snowflake, keep your Salesforce data in Snowflake up to date using scheduled Data Sync
without the need for a third-party ETL tool. Fresh Salesforce data is vital if you maintain a central Snowflake data lake for processing,
analysis, business automation, or storage. For example, give your shipping logistics team the freshest data by merging your account
data from your system of record, Salesforce, with your ERP’s shipping data in your data lake.
Data Sync Limits and Considerations
Here are some things to consider when you’re working with data sync.
Add, Remove, and Manage the Objects and Fields That Sync to CRM Analytics
As your analytics and business needs change, the data synced to CRM Analytics change, too. Add, remove, and change the settings for
the objects and fields included in data sync.
For help with managing data sync for local Salesforce objects, see Add and Remove Local Salesforce Objects and Fields from Data Sync
on page 743.
For help with managing data sync for remote objects, see Add and Remove Remote Objects and Fields from Data Sync on page 822.
SEE ALSO:
Configure the Dataflow Through the Definition File
sfdcDigest Transformation
Important: If you manually enable Data Sync, run sync for your Salesforce objects, and make sure that it completes before your
dataflow’s next run. Dataflows with sfdcDigest nodes fail until sync has run for the first time.
827
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Data sync jobs don’t count towards your daily recipe run limit. Available in Salesforce
Classic and Lightning
1. In data manager, click the Connections tab to display the list of objects enabled for sync Experience.
grouped by connection.
Available with CRM
2. To show and hide the list of objects, click the connection name. Analytics, which is available
3. To run sync for all objects in a connection, click to the right of the connection name, and for an extra cost in
Enterprise, Performance,
select Run Now. The connection is queued to sync.
and Unlimited Editions. Also
4. To run sync for a single remote object, click to the right of the object name, and select Run available in Developer
Data Sync. Edition.
5. To run sync for a single local Salesforce object, first select the connection mode you want to
use. Click to the right of the local object name, and select Edit Connection Mode. USER PERMISSIONS
6. Choose from the following:
To run sync:
a. Incremental Sync updates only rows that changed since the last sync. It’s the fastest • Edit CRM Analytics
option. Dataflows
b. Periodic Full Sync updates rows incrementally and periodically overwrites all rows with
records in the Salesforce object.
c. Full Sync updates all rows with records in the Salesforce object.
7. Click Save.
8. Click again, and select Run Data Sync. Use the Jobs Monitor tab of Data Manager to see the status of your sync.
SEE ALSO:
Monitor a Data Sync Job
CRM Anaytics Limits
828
Analyze Your Data Integrate and Prepare Data for Analysis
When you deactivate a user who scheduled a data sync, the schedule is deleted and the data sync is unscheduled.
Tip: If you have a CRM Analytics Plus license, you can set the schedule to run every 5, 15, 20, or 30 minutes. This feature isn’t
available in sandbox orgs.
SEE ALSO:
Monitor a Data Sync Job
CRM Anaytics Limits
829
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To monitor sync:
• Edit CRM Analytics
Dataflows
Before you run or schedule data sync, specify whether the sync extracts incremental changes or all
records from each Salesforce object. By default, Salesforce Data Pipelines performs an incremental sync. An incremental sync runs faster
because it extracts only the latest changes to the Salesforce object.
Note: During the first sync of an object, CRM Analytics always performs a full sync. Switching the site or migrating the org also
triggers the object to undergo a full sync.
1. In Data Manager, click the Connections tab.
2.
From a local connection, such as SFDC_LOCAL, click to the right of the Salesforce object that you want to sync, and then select
Edit Connection Mode.
Note: Connection mode doesn’t apply to objects with other connection types.
830
Analyze Your Data Integrate and Prepare Data for Analysis
Periodic Full Sync Runs an incremental sync on each scheduled sync. Also runs a
full sync on the first sync that happens after Friday 11 PM in your
org’s time zone.
Full Sync Pulls all records from the Salesforce object and overwrites the
records from the previous sync.
• Even if incremental sync is enabled, CRM Analytics performs a full sync at runtime for these objects.
– The object performs hard deletes or cascade hard deletes on records.
– The object is known to fail when queried without a specific filter or where condition.
– The object doesn’t have a datetime system field.
831
Analyze Your Data Integrate and Prepare Data for Analysis
– The object has fields or field attributes (such as scale and precision) specified for the sync that don't match the previously synced
dataset. If you make field changes in an sfdcDigest dataflow node, such as adding or removing fields, or changing attributes,
CRM Analytics triggers a full sync the next time that sync runs.
– The object is configured for a periodic full sync.
• Some objects, like ContentVersion, delete records without notifying the incremental mechanism, which can result in data drift. Data
drift is the potential for records to be included or excluded due to operations that run during a data sync run. For example, adding
a record during a sync isn't always included or a hard record delete between incremental runs can be ignored. Selecting periodic
full sync performs the reset required to keep the data sync object true to what appears in Salesforce.
• Verify that your org doesn’t have conflicting sync settings for the same object. For example, if incremental sync is turned off in an
sfdcDigest node and not turned on in later nodes for the same object in the same dataflow, then a full sync is performed. To enable
incremental sync, set the incremental parameter to true in the dataflow JSON.
• If multiple dataflows have conflicting sync settings for the same object, CRM Analytics uses the object’s sync settings from the last
saved dataflow.
• Run full sync for objects containing formula fields. With incremental sync, formula fields can become out of sync with your synced
object.
• Run a full sync manually if incremental sync fails for objects that have many updates. If incremental syncs continue to fail, set the
object’s connection mode to Full Sync.
• To ensure that all updates are included, set the object's connection mode to Periodic Full Sync.
USER PERMISSIONS
Understand What Happens When You Enable Data Sync and Connections
Data Sync is enabled by default if you turned on CRM Analytics after the Winter ’20 release. If To enable data sync and
you turned on CRM Analytics before the Winter ’20 release, you can manually enable Data Sync. connections:
When you enable the Data Sync and CRM Analytics Connections setting, CRM Analytics looks • Customize Application
at the sfdcDigest nodes in your existing scheduled dataflows to see which Salesforce objects
and fields you’re currently extracting. Using this information, CRM Analytics enables sync for
each object to extract the data separately. Understanding exactly what happens when you enable Data Sync helps you identify other
actions to consider to ensure that your sync runs successfully.
832
Analyze Your Data Integrate and Prepare Data for Analysis
Understand What Happens When You Enable Data Sync and Connections
Data Sync is enabled by default if you turned on CRM Analytics after the Winter ’20 release. If you turned on CRM Analytics before the
Winter ’20 release, you can manually enable Data Sync. When you enable the Data Sync and CRM Analytics Connections setting, CRM
Analytics looks at the sfdcDigest nodes in your existing scheduled dataflows to see which Salesforce objects and fields you’re currently
extracting. Using this information, CRM Analytics enables sync for each object to extract the data separately. Understanding exactly what
happens when you enable Data Sync helps you identify other actions to consider to ensure that your sync runs successfully.
Here’s what happens, and the action we recommend that you take.
All Fields in Multiple sfdcDigest Nodes for an Object Are Included in Data Sync
If your dataflows have multiple sfdcDigest nodes for the same object, each with a different set of fields, a superset of all these fields is
included in data sync. In addition, if the same field has different attributes, such as type or isMultivalue, the attributes from the
most recently created dataflow are used for data sync. Consider the following example dataflows, each containing an sfdcDigest node
for the Opportunity object:
{ {
"Extract_OpportunitiesA": { "Extract_OpportunitiesA": {
"action": "sfdcDigest", "action": "sfdcDigest",
"parameters": { "parameters": {
"object": "Opportunity", "object": "Opportunity",
"fields": [ "fields": [
{ "name": "Id"}, { "name": "Id"},
{ "name": "Name" }, { "name": "Name" },
{ "name": "StageName" }, { "name": "StageName" },
{ "name": "CloseDate", { "name": "CloseDate",
"fiscalMonthOffset": 9 }, "fiscalMonthOffset": 3 }
{ "name": "AccountId" }, ]
{ "name": "OwnerId" } }
] }
}
}
In the resulting data sync settings for this object, the Id, Name, StageName, CloseDate, AccountId, and OwnerId are included. The
fiscalMonthOffset attribute for CloseDate is set to 3 from the most recently created dataflow.
833
Analyze Your Data Integrate and Prepare Data for Analysis
We recommend that you review the fields in the sfdcDigest nodes of your dataflows. If the resulting data sync settings include fields
that you don’t require, you can disable them in the settings for that object. If you have field attribute conflicts, ensure that the attributes
you want to use for data sync are in the most recently created dataflow.
SEE ALSO:
Configure the Dataflow Through the Definition File
sfdcDigest Transformation
Filtering Records Extracted from a Salesforce Object
Note: The Snowflake account used for the output connection needs privileges to create and own tables; insert, update,
truncate, and merge data; and create temporary stages.
834
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: Do you want to sync out only some of this connection’s objects? Add another local connection, then reassign the objects
for sync out objects to the local connection.
These high-level instructions help you navigate the steps involved. Remember to contact your Network Security or IT department for
help with configuration consistent with your organization’s security requirements.
1. Configure Snowflake and your selected external authorization server. Here’s Snowflake's help, with detailed instructions for connecting
to services like Okta and Microsoft Azure AD.
2. With the authorization server is configured, follow the steps under Define an Authentication Provider in Salesforce from Configure an
Authentication Provider Using OpenID.
• If you’re using Okta, here are Okta's instructions for adding their service to Salesforce.
3. With the authentication provider added to Salesforce, define a named credential in Salesforce. Select the OAuth 2.0 authentication
protocol and Named Principal identity type.
4. Add the Snowflake connection. For Authentication Type setting, enter OAuth.
Note: OAuth 2.0 is the industry-standard protocol for authorization, however we’re unable to test every possible combination of
services. Log a case with Salesforce Customer Support if your service can’t connect with the Authentication Provider system.
835
Analyze Your Data Integrate and Prepare Data for Analysis
• When the prior run’s data is deleted in preparation for the current run, the earlier version of the data becomes inaccessible. Set up
a process to copy or use the output after each run.
• Don’t modify or delete the Snowflake schema. Sync Out creates and manages the tables in Snowflake. Tables are recreated with
each full sync.
• Use periodic full sync to avoid data drift.
• Object data pushed in Sync Out uses Salesforce’s field attributes, like precision and scale, instead of the attributes defined in Data
Sync.
• To investigate Sync Out run status, expand the Data Sync nodes on the Monitor page.
• To receive updates about Sync Out, change your Data Sync Notifications to All instead of Warning.
• A Sync Out failure doesn’t always cause the Data Sync run to fail. View the Sync Out status and message on the Monitor page by
expanding the Data Sync job.
• To remove a field from Sync Out, remove it from Data Sync.
• When you access your Snowflake table, reserved keywords are shown in uppercase and double quotes. This presentation includes
all Snowflake reserved keywords except those described as “Can’t be used as an identifier in a SHOW command (for example, ‘SHOW
… IN <identifier>’).”
• When you use Sync Out for an incrementally updated object, there could be a discrepancy in the pushed rows between CRM Analytics
(viewed in the Monitor tab) and Snowflake (viewed in the Snowflake History interface in the [ROWS] column). Depending on your
Snowflake setup, inserting one row could impact a partition with thousands of rows, so reporting doesn’t show a direct one-to-one
relationship. To verify the rows sent and processed in Snowflake, examine the Profile off of the Query ID.
836
Analyze Your Data Integrate and Prepare Data for Analysis
• When you remove a field from an sfdcDigest node, the field is still included for sync. If necessary, exclude the field in the objects
sync settings.
• When you add a field in an sfdcDigest node, the field is included for data sync and a sync is triggered for the object when the dataflow
next runs.
• When you unschedule the dataflow, CRM Analytics does not disconnect the Salesforce objects and fields from sync.
Considerations When Using CRM Analytics Templated Apps with Data Sync
If you use template-based CRM Analytics apps, such as Sales Analytics or Service Analytics, here are some things to consider before and
after you enable Data Sync. Data Sync is enabled by default if you turned on CRM Analytics after the Winter ’20 release.
Enabling Data Sync When You’re Already Using CRM Analytics Templated Apps
If you already have CRM Analytics apps when you enable Data Sync, it’s important that the sync includes all the Salesforce objects and
fields used in these apps. If it doesn’t, the affected CRM Analytics app dataflows fail. Before enabling Data Sync, ensure that all the required
objects and fields are included.
• Before you enable Data Sync, set a recurring schedule on each CRM Analytics app dataflow. When you first enable Data Sync, CRM
Analytics considers objects and fields only in scheduled dataflows.
• After you enable Data Sync, check sync settings to verify that all the required objects and fields are included. See Add and Remove
Local Salesforce Objects and Fields from Data Sync.
• Run sync to ensure that all objects and fields in the CRM Analytics app dataflows have been synced.
• Run your CRM Analytics app dataflows, and verify that they run to completion.
• Schedule sync to run before all your dataflows to keep your CRM Analytics app data up to date.
837
Analyze Your Data Integrate and Prepare Data for Analysis
A Data Prep graph doesn’t show every transformation. It shows only inputs (source data), appends, aggregates, filters, joins, and the
output (where the data is written). It also shows transforms, which are groups of transformations that change the raw data, such as
concatenation and column type conversions. By hiding lower-level data changes, the graph provides a higher-level, easier-to-read view
of the flow of data. We call each object shown in the graph a node. A recipe can have multiple Input, Append, Aggregate, Filter, Join,
Transform, and Output nodes.
Although the graph doesn’t show individual data transformations, you can select a Transform node (1) in the Graph area to see its
transformations in the Details area (2).
838
Analyze Your Data Integrate and Prepare Data for Analysis
You can select a transformation step in the left panel of the Details area to preview the results of that transformation in the Preview tab.
Similarly, you can select any node in the graph to preview the results of that node.
When you run a recipe, CRM Analytics applies the function of each node on the input data, and then outputs the results to the specified
target. If the target is a dataset, you can then use that dataset as input to other recipes.
SEE ALSO:
Why Should I Use Recipes Instead of Dataflows?
839
Analyze Your Data Integrate and Prepare Data for Analysis
If you’re assigned the Edit Dataset Recipes user permission, you have limited access, including:
• When you create a recipe, you can’t use datasets with security predicates as a source for the recipe.
• To prevent you from granting yourself access to rows that you currently don't have permission to see, you can’t add or change
security predicates on target datasets.
• You can’t create, edit, run, or schedule recipes that have target datasets defined with security predicates.
• To prevent you from seeing data that you don’t have access to view, you can’t view connected objects on the Data tab or preview
them as sources in a recipe.
To understand all differences between the user permissions, check out this table.
View, create, edit, and delete output connections. To create an output connection, X
the org admin must enable the output connection in setup, and you need the Edit
Analytics Dataflows and Add Remote Connections user permissions.
Run, schedule, unschedule, and set notifications for data syncs. You can also change
the schedule and disconnect an object from a data sync.
Write recipe results to an output connection. You must create the output connection X
before you can select it in an output node of a recipe.
Preview recipe data from a remote input or output connection in Data Prep. X
Add, change, and remove security predicates for datasets that contain Salesforce X
data.
View, create, edit, delete, run, schedule, unschedule, and set notifications for a X
dataflow.
Edit, run, schedule, unschedule, and set notifications for a recipe that writes to a X X
dataset without a security predicate.
Edit, run, schedule, unschedule, and set notifications for a recipe that writes to a X
dataset with a security predicate.
840
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Set Up Dataset Security to Control Access to Rows
841
Analyze Your Data Integrate and Prepare Data for Analysis
4. To choose the initial input data for the recipe, click Select Data.
5. Select the checkbox next to each dataset, connected object, or direct data that you want to add as input for the recipe.
A direct data reference doesn’t store data in CRM Analytics. Each time a recipe uses direct data, a query gets the current data, In Data
Manager, SFDC_Local connections represent data stored in CRM analytics. Therefore, direct data references aren’t included in
SFDC_Local connections.
You can’t use a trended dataset as input data for a recipe. If needed, you can add more data to the recipe later.
6. In the Selected Columns area on the right, choose either Custom Columns to include selected input data or All Columns to automatically
update every available column when the recipe syncs.
By default, up to 50 columns are selected. If you added multiple data source objects, select each row, one at a time, to choose its
columns. The Selected Columns area shows columns for the highlighted row only.
842
Analyze Your Data Integrate and Prepare Data for Analysis
7. Click Next.
Data Prep adds a separate Input node to the graph for each input data selection.
8. To add a node to the recipe, click the Add Node button ( ) between two nodes or at the end of the recipe, and then select the
node type. To show the Add Node button between two nodes, hover the cursor on the connecting line.
To transform, filter, aggregate, join, and append data, add nodes.
Note: if you want to flatten your hierarchy (flatten transformation), do so before you join datasets. If you flatten after the join,
the transformation doesn’t create the flatten hierarchy data you expect.
9. To ensure you’re adding the right data prep logic, preview the results of each node and transformation that you add to the recipe.
To preview the results, select the node or transformation in the graph.
For example, selecting an Aggregate node shows the following preview results.
843
Analyze Your Data Integrate and Prepare Data for Analysis
10. To edit or delete a node, select the node, click , and then select the appropriate action.
11. To edit or delete a transformation in a Transform node, select the Transform node, select the transformation step, and then click
or .
12. To split the recipe into two branches, hover the cursor over the node where the branch begins, click , and then select the node
type to start the new branch.
You can branch a recipe to write results to multiple output nodes or to transform some of the rows before appending or joining
them together again later.
844
Analyze Your Data Integrate and Prepare Data for Analysis
13. To connect, join, or append nodes in the graph, drag the Add Node button (+) next to a node or Branch button ( ) on top of
another node in the recipe graph. Then select one of the Connect Nodes option.
14. End the recipe with one or more Output nodes to tell the recipe where to write the results.
15. To undo or redo an action, click the Undo or Redo button.
You can undo all actions since the last save. Use redo to restore a recipe state that was undone.
Tip: You can also use the keyboard shortcuts Ctrl+Z (Windows) and Cmd+Z (MacOS) for undo, and Ctrl+Y (Windows) and
Cmd+Y (MacOS) for redo.
845
Analyze Your Data Integrate and Prepare Data for Analysis
As you build recipes, feel free to share your feedback with us. Click Got Feedback in Data Prep to tell us what’s on your mind.
846
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Run a Recipe
Open and Edit a Recipe
Delete a Recipe
Preview Results in a Data Prep Recipe
Connect and Reorganize Nodes or Branches in a Recipe
847
Analyze Your Data Integrate and Prepare Data for Analysis
848
Analyze Your Data Integrate and Prepare Data for Analysis
3. Click Next.
Data Prep adds a separate Input node to the graph for each input data selection. If an input source has more than 100 columns, the
first 100 columns are automatically shown in preview by default. If needed, you can show more columns in preview.
849
Analyze Your Data Integrate and Prepare Data for Analysis
1. In a Data Prep recipe input node, under Data Preview Sampling, select a Sample Size, the number of rows to include in Preview.
2. Under Sampling Mode, select the mode that best fits the needs of your data. Select All Column Values to populate a sample when
you need to see all column values, such as when creating a bucket. Select Filtered Rows to isolate specific values.
3. If you choose the Filtered Rows sampling mode, click the + under Filter and choose the column value to filter on. Select the values
to include in your filtered results.
850
Analyze Your Data Integrate and Prepare Data for Analysis
4. Click Apply.
851
Analyze Your Data Integrate and Prepare Data for Analysis
Access frequency: How often is this data Low: One recipe uses this data one time a High: Multiple recipes use this data, or it’s
pulled? week used multiple times per day
Incremental support: Can only changed and None Most objects (see Verify the Incremental
new records be pulled? Sync Settings for Salesforce Data for list)
Rate of change: How often do the object High frequency (recipe can be scheduled Low frequency (data sync can be scheduled
records change? up to every 15 minutes, with no reliance on up to every 15 minutes, followed by the
data sync’s schedule) recipe run)
Preview size: How many rows do you want Max 2,000 rows Max 10,000 rows
to see in data preview?
In the Location column, Salesforce direct data is distinguished by a gray Salesforce cloud icon. Salesforce connected objects are
distinguished by a blue Salesforce cloud icon.
Note: As direct data doesn’t store data in CRM Analytics, references to direct data aren’t included in SFDC_Local connections.
852
Analyze Your Data Integrate and Prepare Data for Analysis
853
Analyze Your Data Integrate and Prepare Data for Analysis
Aggregate Node
Use an Aggregate node in CRM Analytics to roll up data. You can aggregate to a higher level of
USER PERMISSIONS
granularity or roll up hierarchical data.
To manage and create a
recipe:
Aggregate Node: Roll Up Data to a Higher Level
• Edit CRM Analytics
Use an Aggregate node to roll up data to a higher granularity in CRM Analytics. You can Dataflows OR Edit
aggregate using: unique, sum, average, count, maximum, and minimum. You can group by Dataset Recipes
any dimension or date column. You can also pivot dimensions as columns. For example, you
can group opportunities by account to get account-level details, like total opportunity amount,
average number of cases, and the average days to close an opportunity for each account. You can then pivot on account type to
analyze each combination of account and account type.
Aggregate Node: Hierarchical Aggregation
Use Hierarchical Aggregation in CRM Analytics to sum measures across multilevel data. For example, you can roll up revenues, assets,
or liabilities for companies and their subsidiaries. Or, you can roll salesperson data up the management chain to see aggregates by
team, region, area, and beyond. Hierarchical Aggregation requires rows with an ID and a parent ID. Many rows can have the same
parent ID, or the parent ID can be empty. Some rows can even share an ID, such as a record with multiple parents. You can also use
the optional roll up percentage to apply percentage splits to allocate portions to different parents, such as commission among
members of the sales team.
SEE ALSO:
Aggregate Node: Roll Up Data to a Higher Level
Aggregate Node: Hierarchical Aggregation
854
Analyze Your Data Integrate and Prepare Data for Analysis
Sum Calculates the total by adding all values in the selected column.
Stddevp Calculates the population standard deviation. Population standard deviation measures the spread
of data distribution—the typical distance between each data point and the average.
Stddev Calculates the sample standard deviation. Sample standard deviation measures the spread of data
distribution for a given sample. Use sample standard deviation to estimate the population standard
deviation based on a sample.
Varp Calculates the population variance. Population variance indicates how spread out data points are in
a specific population.
Var Calculates the sample variance. Sample variance indicates how spread out data points are for a given
sample. Use sample variance to estimate the population variance based on a sample.
855
Analyze Your Data Integrate and Prepare Data for Analysis
4. To group rows, add one or more dimension or date columns in the Group Rows field.
For example, you can group by account name.
5. To pivot dimensions as columns, add up to two dimension columns in the Group Columns field, select the values for each dimension
column, and click Apply. For direct datasets and datasets, you can search for all column values. Otherwise, you are limited to preview
data. If a value doesn’t appear in the list, adjust your sample size or refine your search. Then, click Add new value and enter the
value.
For example, you can group columns by opportunity type. Each combination of opportunity type and aggregate appears as a separate
column.
856
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Because pivoting increases the number of columns, keep in mind that the Aggregate node can create up to 5,000 columns.
If the node exceeds the maximum, you can reduce the number of columns by changing the aggregates or row and column
groupings.
Your values that aren’t picked are automatically included in an Other column when you pivot with the Data Prep aggregate node.
For example, you can group columns by opportunity type, select your most important types, and let the rest be grouped as Other.
SEE ALSO:
Aggregate Node: Hierarchical Aggregation
Note: If the data has duplicate rows with the same record ID and parent ID, you must clean
the data. Run a standard aggregation before running the hierarchical aggregation.
1. In a Data Prep recipe that already has at least one Input node, select the Add Node button ( ) between two nodes or at the end
of the recipe. To show the Add Node button between two nodes, hover the cursor on the connecting line.
2. In the Add Node dialog box, select Aggregate.
857
Analyze Your Data Integrate and Prepare Data for Analysis
4. Add at least one Aggregate, such as the sum of a measure or count of rows.
858
Analyze Your Data Integrate and Prepare Data for Analysis
5. Select the Record ID Column. The record ID can be any dimension in the dataset that defines the row, such as salesperson or
account name.
6. Specify the Parent ID Column. The parent ID identifies which record each row rolls up to. This can be any dimension in the dataset
that has not been selected as the record ID, such as the manager or parent account. Not every record needs to have a parent, for
instance if it’s at the top of a hierarchy.
859
Analyze Your Data Integrate and Prepare Data for Analysis
7. Optionally, select a Roll-Up Percentage Column to apply a percentage split. The aggregated value is multiplied by the number in
this column. For example, your records have more than one parent, and you want to roll them up differently based on the parent.
860
Analyze Your Data Integrate and Prepare Data for Analysis
861
Analyze Your Data Integrate and Prepare Data for Analysis
862
Analyze Your Data Integrate and Prepare Data for Analysis
A07 700
863
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Aggregate Node: Roll Up Data to a Higher Level
864
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: If a recipe column contains unique IDs that identify each row, you must ensure that the appended data doesn't duplicate
the IDs. The Append node doesn't remove duplicate records or validate the uniqueness of columns.
1. In a Data Prep recipe that already has at least one Input node, select the Add Node button ( ) between two nodes or at the end of
the recipe. To show the Add Node button between two nodes, hover the cursor on the connecting line.
2. In the Add Node box, select Append.
865
Analyze Your Data Integrate and Prepare Data for Analysis
3. Select the data to append (1), and then choose which columns to include (2).
4. Click Next.
Data Prep automatically maps columns from both sets of input data based on matching column names. These mappings are based
on API names. You can change the mappings, manually map unmapped columns, or leave columns unmapped. To continuously
map all columns as your recipe updates, turn on Map all columns in the node details section. To map all columns that don't have
corresponding API names, select Allow schema merge.
Note: Map all columns is available for datasets only. It is not available for direct data, staged, or connected datasets.
866
Analyze Your Data Integrate and Prepare Data for Analysis
If a column is mapped for one source and not the other, the Append node inserts null values for all source rows to which the column
doesn’t apply. For example, the Product ID and Region columns aren’t mapped to Legacy Sales Data source. As a result, the preview
shows nulls for these columns for all rows coming from Legacy Sales Data (1). If the reverse is true, and Legacy Sales Data contains
rows that aren’t mapped to the recipe columns Product ID and Region, then preview inserts null values in those columns for all rows
coming from Legacy Sales Data.
Note: If a measure column isn’t mapped to a source and null measure handling isn’t enabled, the Append node inserts zeroes
instead of nulls for those source rows.
5. To map two columns, enter the column name from the appended rows next to its corresponding recipe column.
6. To add a column from the appended rows that doesn’t exist in the recipe, click + (below the mapped columns) and select the
column. Leave the recipe column blank.
7. Click Apply to add the node to the recipe.
8. Save the recipe.
When you run the recipe, the Append node combines rows from both sets of input data into the same dataset.
867
Analyze Your Data Integrate and Prepare Data for Analysis
A filter node adjacent to a direct data input node is marked with a lightning bolt. This direct data filter limits the number of records
loaded into the recipe.
868
Analyze Your Data Integrate and Prepare Data for Analysis
3. Click the + to add a standard filter. A standard filter uses conventional filter operators—equals, does not equal, less than, and so on.
For more granularity in your filter options, such as access to string and math functions, select Add Custom Filter Expression from
the dropdown next to Filters. Filter values for both options are case-sensitive.
If you define a filter condition on a dimension column, you can select a filter value from a list of values in your dataset. For direct
datasets and datasets, you can search for all values. Otherwise, you are limited to preview data. If a value doesn’t appear in the list,
adjust your sample size or refine your search. Then, click Add new value and enter the value.
Note: Column search results display up to 250 values for direct datasets and 2000 for datasets.
4. Click Apply.
5. To display the current standard filter logic click and Add Standard Filter Logic.
The default AND logic is shown, and each filter component is assigned a number.
869
Analyze Your Data Integrate and Prepare Data for Analysis
7. Build the filter logic with parenthesis and the AND, OR, and NOT Boolean operators.
870
Analyze Your Data Integrate and Prepare Data for Analysis
8. Click Apply.
9. Save the recipe.
871
Analyze Your Data Integrate and Prepare Data for Analysis
3. Select the data to join (1), and then choose which columns to include (2).
4. Click Next.
5. Choose the join type.
By default, Lookup is selected.
872
Analyze Your Data Integrate and Prepare Data for Analysis
Important: CRM Analytics datasets contain date and time component fields (such as Year, Quarter, and Month) that are
derived automatically from existing date and time fields. You can’t use these component fields as join keys.
7. To prevent API name conflicts between columns in the left and right data sources, enter a prefix for columns coming from the right
data source.
The Join node prepends the prefix to the API names of all columns from the right. For example, if you specify Case as the prefix, all
right column API names begin with “Case.”
8. If you chose the Lookup join type, select Lookup Multiple Values for the lookup to return all matching rows from the right data
stream. If you don’t select this option, the lookup returns only one of the matching rows.
873
Analyze Your Data Integrate and Prepare Data for Analysis
For more information about single-match and multiple-match lookups, see Lookup.
9. In the Columns tab in the right panel, select the columns to include in the recipe. The Source column in the table shows the object
where each column comes from.
By default, the recipe only adds the join key columns. If a join key column isn’t included in the recipe, you can’t apply the transformation
to the recipe.
11. If needed, you can show additional columns or hide existing ones from preview. To hide columns, click the Hide button ( ). To
show columns, click the Show button ( ).
The preview can display up to 100 columns. Hiding columns from the preview doesn’t affect whether the columns are included in
the recipe.
874
Analyze Your Data Integrate and Prepare Data for Analysis
Use a Join Node on the Add Input Data Screen (Salesforce Objects Only)
When working with Salesforce objects in CRM Analytics, you can create your dataset and join data
USER PERMISSIONS
source in one step on the Input Data screen. Add Input Data also recommends columns that match
each of your data sources and can serve as join keys. To manage and create a
1. From the Add Input Data screen of a Data Prep recipe, select an object. This object is the left recipe:
• Edit CRM Analytics
side of the join operation.
Dataflows OR Edit
Dataset Recipes
2. In the right pane, the Related Objects tab lists the columns that have other objects related by a matching column. The selected
related object is the right side of the join operation. When you select one, a number appears in the left column to indicate the order
in which it was joined.
875
Analyze Your Data Integrate and Prepare Data for Analysis
3. Click Next.
4. The recipe displays the joined objects.
876
Analyze Your Data Integrate and Prepare Data for Analysis
Join Operations
Data Prep supports these join operations.
Lookup
In CRM Analytics, a lookup returns all rows from the left data stream (recipe data) and only matching rows from the right data stream
(lookup source). If multiple matches are found in the right data stream, you can set the lookup to return either a single row or all
matching rows. To ensure that the grain of the results doesn’t change, the lookup outputs one row for each row in the left data
stream.
877
Analyze Your Data Integrate and Prepare Data for Analysis
Left Join
Like a lookup, a left join in CRM Analytics includes all rows from the left (recipe data) and only matching rows from the right. Unlike
a lookup, a join includes all matched rows in the target when multiple rows match.
Right Join
A right join in CRM Analytics includes all rows from the right and only matching rows from the left (recipe data). The join includes
all matched rows in the target when multiple rows match.
Inner Join
In CRM Analytics, an inner join includes only matching rows from the left (recipe data) and right. The join includes all matched rows
in the target when multiple rows match.
Full Outer Join
In CRM Analytics, a full outer join includes all rows from the left (recipe data) and right, regardless of whether they have matches.
The join includes all matched rows in the target when multiple rows match.
Cross Join
In CRM Analytics, a cross join combines unrelated records and includes all rows from the left (recipe data) and the right. Unlike other
joins that use keys to find matches, the cross join pairs every row from one dataset with every row of another dataset (known as the
Cartesian Product).
Considerations When Using Joins
In CRM Analytics, unlike a lookup, a join creates a separate record for each match in the target dataset when multiple rows match.
Before using a join, ensure that you understand the implications of duplicate rows.
Lookup
In CRM Analytics, a lookup returns all rows from the left data stream (recipe data) and only matching
EDITIONS
rows from the right data stream (lookup source). If multiple matches are found in the right data
stream, you can set the lookup to return either a single row or all matching rows. To ensure that Available in Salesforce
the grain of the results doesn’t change, the lookup outputs one row for each row in the left data Classic and Lightning
stream. Experience.
Example
Available with CRM
Our company's marketing team captures demographic data in an external data source for Analytics, which is available
opportunities stored in Salesforce. To help create more targeted campaigns, the team is building for an extra cost in
a dashboard that segments our current opportunities by the customer demographics. Let’s use a Enterprise, Performance,
lookup to add the demographic data to each opportunity record. and Unlimited Editions. Also
available in Developer
Consider the following two data streams. The left data stream contains opportunity records. The
Edition.
right contains demographic data. To illustrate how the lookup handles special cases, both data
streams contain unmatched rows and duplicate keys.
878
Analyze Your Data Integrate and Prepare Data for Analysis
If the lookup is configured to return a single match when multiple matches are found, the lookup produces the following results based
on the matching keys.
All rows from the left, including rows without a match, are included in the results. Although Cust_ID 1 has two matches on the right,
the lookup returns only the first matching record. Also, because Cust_ID 4 doesn’t have a match, the Cust_id and Education Level columns
are null and Average Income is 0 for that record. Unmatched dimensions are set to null. Unmatched measures are set to 0.
If the lookup is configured to return all matching values when multiple matches are found, the lookup produces the following results
based on the matching keys.
A multiple-match lookup returns the same results as the single-match lookup, except for left rows that have multiple matches. Unlike
a single-match lookup, a multiple-match lookup returns all matches and combines them. For dimension columns, it generates a multivalue
column with all dimension values—notice how High School and Secondary School are both in the Education Level column for Cust_ID
1. For measure columns, it adds the measure values from all matched records. For Cust_ID 1, the Avg Income column is 98,000 (50,000
+ 48,000).
Note: The Preview tab doesn’t show all values in a multivalue column. Instead, it shows the first value only. Keep this behavior
in mind when you preview the results of a multiple-match lookup. In the example, notice that the Preview tab shows only High
School in the Education Level column even though the column contains High School and Secondary School.
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
Left Join
879
Analyze Your Data Integrate and Prepare Data for Analysis
Like a lookup, a left join in CRM Analytics includes all rows from the left (recipe data) and only
EDITIONS
matching rows from the right. Unlike a lookup, a join includes all matched rows in the target when
multiple rows match. Available in Salesforce
Example Classic and Lightning
Experience.
Our company's marketing team captures demographic data in an external data source for
opportunities stored in Salesforce. To help create more targeted campaigns, the team is segmenting Available with CRM
our current opportunities by the Education Level demographic. Let’s use a left join to add Analytics, which is available
demographic data to the opportunity data. for an extra cost in
Enterprise, Performance,
Consider the following two data streams that feed the recipe’s target dataset. To illustrate how this
and Unlimited Editions. Also
recipe function handles unmatched rows and duplicate keys, we included them in both data streams.
available in Developer
Edition.
After performing the left join based on the matching keys, the recipe produces the following target dataset.
All rows from the left, including rows without a match and rows with multiple matches, are included in the target. Because Opp_ID 1
has two matches on the right (High School and Secondary School), the target contains a separate record for each education level. Also,
because Opp_ID 4 doesn’t have a match, the Opp_id and Education Level columns are null for that record.
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
Right Join
880
Analyze Your Data Integrate and Prepare Data for Analysis
A right join in CRM Analytics includes all rows from the right and only matching rows from the left
EDITIONS
(recipe data). The join includes all matched rows in the target when multiple rows match.
Example Available in Salesforce
Classic and Lightning
Our company's marketing team captures demographic data in an external data source for
Experience.
opportunities stored in Salesforce. To help create more targeted campaigns, the team is segmenting
our current opportunities by the Education Level demographic. Let’s use a right join to add the Available with CRM
opportunity data to the demographic data. Analytics, which is available
for an extra cost in
Consider the following two data streams that feed the recipe’s target dataset. To illustrate how this
Enterprise, Performance,
recipe function handles unmatched rows and duplicate keys, we included them in both data streams.
and Unlimited Editions. Also
available in Developer
Edition.
After performing the right join based on the matching keys, the recipe produces the following target dataset.
All rows from the right, including rows without a match and rows with multiple matches, are included in the target. Because Opp_id 2
has two matches on the left (Amy and Bob), the target contains a separate record for each of them. Also, because Opp_id 5 doesn’t have
a match, the Opp_ID and Customer Name columns are null for that record.
Warning: If duplicate records contain measures (as shown for Opp_id 1 in the following screenshot), don’t double count the
measures when aggregating the records. To prevent duplicate records, use a lookup instead of a join.
881
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
Inner Join
In CRM Analytics, an inner join includes only matching rows from the left (recipe data) and right.
EDITIONS
The join includes all matched rows in the target when multiple rows match.
Example Available in Salesforce
Classic and Lightning
Our company's marketing team captures demographic data in an external data source for
Experience.
opportunities stored in Salesforce. To compare opportunities by education level of the customer,
let’s first combine both sets of data into a dataset using an inner join. Available with CRM
Consider the following two data streams that feed the recipe’s target dataset. To illustrate how this Analytics, which is available
for an extra cost in
recipe function handles unmatched rows and duplicate keys, we included them in both data streams.
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
After performing the inner join based on the matching keys, the recipe produces the following target dataset.
882
Analyze Your Data Integrate and Prepare Data for Analysis
All rows that have a match are included in the target. Because of multiple matches, you see two records with Opp_ID 2 (Amy and Bob)
and two records with Opp_id 1 (High School and Secondary School). Notice also that Opp_ID 4 and Opp_id 5 are excluded from the
target because neither have a match.
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
Full Outer Join
In CRM Analytics, a full outer join includes all rows from the left (recipe data) and right, regardless
EDITIONS
of whether they have matches. The join includes all matched rows in the target when multiple rows
match. Available in Salesforce
Example: Our company's marketing team captures demographic data in Redshift for Classic and Lightning
Experience.
opportunities stored in Salesforce. To help create more targeted campaigns, the team is
segmenting our current opportunities by the Education Level demographic. Let’s use a full Available with CRM
outer join to combine the opportunity and demographic data. Analytics, which is available
Consider the following two data streams that feed the recipe’s target dataset. To illustrate for an extra cost in
how this recipe function handles unmatched rows and duplicate keys, we included them in Enterprise, Performance,
and Unlimited Editions. Also
both data streams.
available in Developer
Edition.
After performing the full outer join based on the matching the keys, the recipe produces the
following target dataset.
883
Analyze Your Data Integrate and Prepare Data for Analysis
All rows—matched or not—are included in the target. Because of multiple matches, you see two records with Opp_ID 2 (Amy
and Bob) and two more records with Opp_id 1 (High School and Secondary School). Opp_ID 4 and Opp_id 5 are also included
despite not having a match.
By including unmatched left records, we now know that we have to find out David’s education level to complete this dataset. By
including unmatched right records, we see that no customers have a PhD.
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
Cross Join
In CRM Analytics, a cross join combines unrelated records and includes all rows from the left (recipe
EDITIONS
data) and the right. Unlike other joins that use keys to find matches, the cross join pairs every row
from one dataset with every row of another dataset (known as the Cartesian Product). Available in Salesforce
Tip: When designing a cross join, use the larger dataset first (left) and then join the smaller Classic and Lightning
Experience.
dataset (right). For example, join a:
• 10,000-row dataset (left) with a 1,000-row dataset (right) Available with CRM
Analytics, which is available
• 20,000-row dataset (left) with a 500-row dataset (right)
for an extra cost in
• 40,000-row dataset (left) with a 250-row dataset (right) Enterprise, Performance,
• 100,000-row dataset (left) with a 100-row dataset (right) and Unlimited Editions. Also
available in Developer
Example Edition.
A company sells products at various locations. To assist with stock tracking, use a cross join to
combine the product and store datasets to find all the possible pairs of product and store.
Consider the following two data streams that feed the recipe’s target dataset. To illustrate how this join combines unrelated records,
row number is included for reference but isn’t needed in the data.
884
Analyze Your Data Integrate and Prepare Data for Analysis
After performing the cross join, the recipe produces this target dataset.
885
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Join Node: Add Related Columns of Data to the Recipe
886
Analyze Your Data Integrate and Prepare Data for Analysis
A left join duplicates the Opp_ID 1 record in the left data stream because it has multiple matches in the right data stream.
Notice that the duplicated records repeat the opportunity amount for Alice. If you added all opportunity amounts to get the total, double
count the amount for Alice. To prevent duplicate records, use a lookup instead of a join.
Refrain from using joins when the join keys have a many-to-many relationship.
When the join keys have a many-to-many relationship, the target dataset can become significantly larger than the input data streams.
For instance, if four records on the left and five records on the right have the same key value, the join adds 20 (4*5) records to the target
dataset. In a more extreme case, if 10,000 records on the left and 5,000 on the right share a key value, the join creates 50 million records
in the target dataset.
To illustrate why this occurs, consider the following two data streams that feed the recipe’s target dataset. Both input data streams have
duplicate key values.
887
Analyze Your Data Integrate and Prepare Data for Analysis
A left join duplicates each record in the left data stream five times because it has five matches in the right data stream.
To prevent duplicate records, use a lookup instead of a join. If you must use a join, try adding more key fields to make the keys have
more unique values.
888
Analyze Your Data Integrate and Prepare Data for Analysis
3. In the Preview tab of the details section, select one or more columns for which you want to transform their data.
4. Use the Transform toolbar (1) to add a transformation based on the selected columns .
Each time you add a transformation to the Transform node, it appears in the left panel (2). We refer to each card in the left panel as
a step.
889
Analyze Your Data Integrate and Prepare Data for Analysis
5. To preview the results of a transformation in the Preview tab, select the step in the left panel.
SEE ALSO:
Transformations for Data Prep Recipes
890
Analyze Your Data Integrate and Prepare Data for Analysis
891
Analyze Your Data Integrate and Prepare Data for Analysis
Alternatively, if the original and update data are already added as input nodes, drag the Add Node button ( ) from one to the
other and click Update. The two inputs are used as the source and update location.
4. Choose which key pair values must match between the original and update data (1).
892
Analyze Your Data Integrate and Prepare Data for Analysis
5. Choose the columns to update (2). If all key pairs match for a row, the column value is updated.
6. Click Apply. When the recipe runs, the update node contains the original data with updated column values.
7. Save the recipe.
893
Analyze Your Data Integrate and Prepare Data for Analysis
3. Fill in the target details. For example, you can fill in the label, API name, and app of the dataset.
894
Analyze Your Data Integrate and Prepare Data for Analysis
You can also output to a remote system using an output connection or to Salesforce as a .csv file.
Note: The Dataset API Name can contain only underscores and alphanumeric characters. It also must be unique, must begin
with a letter, can’t include spaces, can’t end with an underscore, and can’t contain two consecutive underscores. If the specified
API name is already used by a dataset in the same app, the dataset is overwritten. If the name is used by a dataset in a different
app, you must choose a different, unique name. If an API name isn’t specified, a unique API Name is generated.
4. Optionally, if using sharing inheritance, select a Sharing Source to apply sharing rules.
5. Optionally, add a security predicate to restrict access to records with row-level security.
Note: If the dataset exists, changes to its security settings must be done directly by editing the dataset. After a dataset is
created, changes to security settings in the dataflow (rowLevelSharingSource or rowLevelSecurityFilter) or recipe (Security
Predicate) have no effect.
6. Click Apply.
7. Save the recipe.
Run the recipe to create the dataset. As you create more datasets, keep in mind that your org has a row limit for all datasets in your org.
895
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Run a Recipe
CRM Anaytics Limits
Set Up Dataset Security to Control Access to Rows
Note: Staged data isn’t available if you have Shield Platform enabled.
Staged data can’t be used in dataflows, dashboards, or lenses.
Build your recipe with Data Prep and add an output node. Write the output node to Staged Data.
After you save the output, you can’t change the type. To change from staged data to a dataset or a dataset to staged data, create another
output node.
Build your second recipe. When you add the input data, select the staged data from your first recipe.
Continue to build and save your recipe. When the recipe sequence runs, the staged data is used as an input source.
Staged data is retained for 7 days and its rows are counted in the row limits for recipes during that period.
896
Analyze Your Data Integrate and Prepare Data for Analysis
5. (Optional) To set the maximum file size and maximum number of rows per partitioned section, select Specify CSV partition settings.
6. Click Apply and save the recipe.
Pull Data from the Salesforce Database
To retrieve the data from the Salesforce database, use a tool to find the dataset ID. Download the file using the Salesforce CLI. Work with
your Salesforce developer about using these tools and consult this Salesforce blog for a similar process.
CSV Output Considerations
Keep these behaviors in mind when working with the CSV output from the Data Prep recipe output node.
• An output connection is available only for recipes built with Data Prep.
• Stored data is removed after 48 hours.
• If the data exceeds the maximum file size or number of rows specified in the output node’s partition settings, more than one CSV
file is created. All partitioned CSV files can function independently, and you can download and merge the files to recreate the dataset.
• The maximum size of an export job is 40 GB.
• The maximum export data size per day (sum of all exports) is 50 GB.
Exporting a Dataset
When you export a dataset, a DatasetExportEvent is generated. You can subscribe to receive DatasetExportEvents. See Subscribing to
Platform Events. For event reference, see DatasetExportEvent.
897
Analyze Your Data Integrate and Prepare Data for Analysis
898
Analyze Your Data Integrate and Prepare Data for Analysis
899
Analyze Your Data Integrate and Prepare Data for Analysis
4.
Select .
5. Enter a label for the first bucket.
The first bucket is for the earliest date range. Each subsequent bucket must have a later date range than the previous bucket.
900
Analyze Your Data Integrate and Prepare Data for Analysis
10. Under Show Results In, select whether the new bucket values appear in a new column and what happens to the original column.
11. If you elect to create a column, set its label under Column Label.
12. Click Apply to add the transformation to the Transform node. The Preview tab shows the new bucket column.
13. To view the Graph area, click the Collapse button ( ).
14. Save the recipe.
After you run the recipe, you can view the bucket assigned to each row in the bucket column.
3.
Click .
901
Analyze Your Data Integrate and Prepare Data for Analysis
4.
902
Analyze Your Data Integrate and Prepare Data for Analysis
3. For Range 1, enter a value and label for the first bucket. Rows with values below the Range 1 value are assigned to this bucket.
4. If your bucket column has more than two buckets, click Add Range>> to add a middle range.
5. For each additional middle range you add, enter the range of values and the bucket label.
Rows with values greater than or equal to the first value and less than the second value are assigned this bucket.
6. For the final range, enter a value and bucket label. Rows with values greater than or equal to this value are assigned to this bucket.
903
Analyze Your Data Integrate and Prepare Data for Analysis
7. To place null values into their own bucket, select Bucket null values.
8. Under Show Results In, select whether the buckets appear in a new column and what happens to the original column.
9. If you elect to create a column, set the label under Column Label.
10. Click Apply to add the transformation to the Transform node. The Preview tab shows the new bucket column.
11. To view the Graph area, click the Collapse button ( ).
12. Save the recipe.
After you run the recipe, you can view the bucket assigned to each row in the bucket column.
904
Analyze Your Data Integrate and Prepare Data for Analysis
3. In Number of Clusters, enter the number of clusters to create, from 2–20, inclusive.
4. Select Use optimal number of clusters and we evaluate all options 25% above and below your base Number of Clusters to find
the best data organization where data groupings are most like each other.
For example, if you enter 20, we evaluate scenarios from 15—25 and show data for the optimum number of clusters in that range.
If you select to detect the optimal number of clusters without a starting point, we evaluate each clustering scenario from 2–50. This
evaluation takes more time than if you enter a starting number of clusters, but it can reveal a data relationship you weren’t aware
of.
5. In Columns Used to Determine Clusters, select the text (dimension) columns to determine the clusters.
The clustering algorithm determines clusters by comparing the values for all selected columns. For example, if the number of
employees and annual revenues don’t fall into the same ranges determined by the algorithm, accounts with the same industry and
rating can be placed in different clusters.
6. Select an option under Scale Number to rescale the data. For example, comparing between differently scaled data easier by rescaling
each column’s data values from 0 through 1 with the Min-Max scaling option.
7. If needed, change the label of the cluster column, which stores the cluster for each row.
8. To add the transformation to the Transform node, click Apply.
Preview shows sample cluster values you can use when building other recipe transformations. These values are just samples—they
can change after the recipe runs.
905
Analyze Your Data Integrate and Prepare Data for Analysis
Example: For months, you’ve noticed that some accounts have lots of deals with lower average opportunity amounts and other
accounts that have larger deals, but fewer of them. To find ways to drive larger deal sizes and more deals, you decide to cluster
your accounts.
You use the Cluster transformation to create three clusters based on the account industry, number of employees, rating, and
annual revenue.
While analyzing the clusters in a dashboard, you notice that Cluster 3 has the highest average annual revenue (about $40 billion),
but only three accounts are in that cluster.
Why doesn’t Cluster 3 have more deals? Is it due to repeat business? Let’s find out.
906
Analyze Your Data Integrate and Prepare Data for Analysis
Use the Aggregate node to group total spend by account and pivot the results by opportunity type: Add-On Business, New Business,
Renewal, and Services.
Looking at spend by opportunity type for Cluster 2, we see lots of repeat business. Great!
But Cluster 3 has new business only. These accounts buy one time and don’t return for additional business—hence the lower
number of deals.
We found gold! To increase the number of deals from Cluster 3 accounts, we can push renewals, services, and add-on business.
907
Analyze Your Data Integrate and Prepare Data for Analysis
908
Analyze Your Data Integrate and Prepare Data for Analysis
3. In the Date Format field, select the date format to display the dates.
4. Under Show Results In, select whether the new values appear in a new column and whether to keep the original column.
5. If you elect to create a column, set the label under Column Label.
909
Analyze Your Data Integrate and Prepare Data for Analysis
6. To change more column attributes, click the Column Attributes box, change them, and click Apply.
7. Click Apply to add the transformation to the Transform node. The Preview tab shows the new date component column.
8. To view the Graph area, click the Collapse button ( ).
9. Save the recipe.
Run the recipe to convert the column type to Date and the date values to the specified format. If the transformation can’t parse a date
value, it replaces the value with null.
910
Analyze Your Data Integrate and Prepare Data for Analysis
3. Under Show Results In, select whether the new values appear in a new column and whether to keep the original column.
4. If you elect to create a column, set the label under Column Label.
911
Analyze Your Data Integrate and Prepare Data for Analysis
5. To change more column attributes, click the Column Attributes box, change them, and click Apply.
Based on the output column’s datatype, you can set these attributes.
Attribute Description
API Name The API name of the column. The column API name can each be up to 255 characters. The API name must
also be unique within the recipe.
Precision The maximum number of digits in a numeric (measure) column. Includes all numbers to the left and to the
right of the decimal point (but excludes the decimal point character). Enter an integer from 1 through 18,
inclusive. If a numeric value exceeds the specified precision, the value is set to 0 or null, depending on
whether null measure handling is enabled. For example, if precision is set to 5 and null measure handling
is enabled, the numeric value 123456.78 is replaced with null.
Scale The number of digits to the right of the decimal point in a numeric column. Enter an integer from 0 through
17, inclusive. The scale must be less than the precision. For example, if the numeric value is 123456.789 and
you set the scale to 2, the number appears as 123456.78.
Length The maximum number of characters in a text (dimension) column. Enter an integer from 1 through 32000,
inclusive. The default length is 255 characters.
For more guidelines, see the “Field Name Restrictions” section in this help topic.
6. Click Apply to add the transformation to the Transform node. The Preview tab shows the number column.
7. To view the Graph area, click the Collapse button ( ).
8. Save the recipe.
Run the recipe to convert the column type to number.
912
Analyze Your Data Integrate and Prepare Data for Analysis
3. Under Show Results In, select whether the new values appear in a new column and whether to keep the original column.
4. If you elect to create a column, set the label under Column Label.
913
Analyze Your Data Integrate and Prepare Data for Analysis
5. To change more column attributes, click the Column Attributes box, change them, and click Apply.
Based on the output column’s datatype, you can set these attributes.
Attribute Description
API Name The API name of the column. The column API name can each be up to 255 characters. The API name must
also be unique within the recipe.
Precision The maximum number of digits in a numeric (measure) column. Includes all numbers to the left and to the
right of the decimal point (but excludes the decimal point character). Enter an integer from 1 through 18,
inclusive. If a numeric value exceeds the specified precision, the value is set to 0 or null, depending on
whether null measure handling is enabled. For example, if precision is set to 5 and null measure handling
is enabled, the numeric value 123456.78 is replaced with null.
914
Analyze Your Data Integrate and Prepare Data for Analysis
Attribute Description
Scale The number of digits to the right of the decimal point in a numeric column. Enter an integer from 0 through
17, inclusive. The scale must be less than the precision. For example, if the numeric value is 123456.789 and
you set the scale to 2, the number appears as 123456.78.
Length The maximum number of characters in a text (dimension) column. Enter an integer from 1 through 32000,
inclusive. The default length is 255 characters.
For more guidelines, see the “Field Name Restrictions” section in this help topic.
6. To add the transformation to the Transform node, click Apply. The Preview tab shows the text column.
7. To view the Graph area, click the Collapse button ( ).
8. Save the recipe.
Run the recipe to convert the column type to Text.
915
Analyze Your Data Integrate and Prepare Data for Analysis
a. Start Date Column is automatically filled with the date column you previously chose. Cancel and restart to choose a different
Start Date.
b. Choose Days or Months to add or subtract.
c. Select the number to add or subtract with the plus and minus buttons.
d. Choose the date format of the output column.
5. Optionally, change the label of the column that stores the result data in the Column Label field.
6. Click Apply to add the transformation to the Transform node.
The Preview tab shows the new calculated date column.
916
Analyze Your Data Integrate and Prepare Data for Analysis
Date Difference
In CRM Analytics, calculate the duration between two selected date columns as days, months, or
USER PERMISSIONS
years.
Date Difference To create a recipe:
• Edit CRM Analytics
1. In a Transform node of a Data Prep recipe, select one date column in the Preview tab. Dataflows OR Edit
2. Select the Formula button ( ) in the Transform toolbar. Dataset Recipes
a. Start Date is automatically filled with the date column you previously chose. Cancel and restart to choose a different Start Date.
b. End Date is the value used to calculate the duration from the start date. Choose a date column from your data or the Now option
to use the current date and time.
c. Select whether to return duration as days, months, or years. Days are rounded up to the nearest value, while months and years
include the selected number of decimal places.
5. Optionally, change the label of the column that stores the result in the Column Label field.
6. Click Apply to add the transformation to the Transform node.
The Preview tab shows the new Now column.
917
Analyze Your Data Integrate and Prepare Data for Analysis
Now
In CRM Analytics, create a column in a Data Prep recipe that displays the current date and time in
USER PERMISSIONS
a specified format.
Now To create a recipe:
• Edit CRM Analytics
This transformation works without interacting with any other columns. Dataflows OR Edit
1. In a Transform node of a Data Prep recipe, select the Formula button ( ) in the Transform Dataset Recipes
toolbar.
2. Select Now.
3.
918
Analyze Your Data Integrate and Prepare Data for Analysis
919
Analyze Your Data Integrate and Prepare Data for Analysis
3. Optionally, use More Options in the setup panel to change the output type or to show sentiment scores.
Options Description
Output Type Results of the sentiment analysis in a new column in the dataset.
Text (default) shows detected sentiment as Positive, Neutral, or Negative.
Number shows detected sentiment as a decimal value on a scale of from 1 through 5, with 5 as the most
positive.
When determining sentiment, Detect Sentiment classifies the text into groups from 1 through 5.
When output is Text, the sentiment values are mapped to the numbers as follows:
• Positive is >3.50 and <= 5.00
• Neutral is >= 2.50 and < 3.5
• Negative is >= 1.00 and < 2.50
When output is Number, the sentiment is calculated as a weighted sum of the number probabilities.
920
Analyze Your Data Integrate and Prepare Data for Analysis
Options Description
Show Sentiment Einstein self-assesses its confidence in the accuracy of each sentiment option. Sentiment scores are decimal
Score values that add up to 1 and that can be used in formulas. For example, trigger a support case when an online
review is negative with a strong sentiment score.
None (default) shows the detected sentiment column only. No sentiment scores are added to the dataset.
All Sentiments shows the detected sentiment column and sentiment score columns in the dataset.
• If output type is Text, sentiment scores appear in three columns for Positive, Neutral, and Negative.
• If output type is Number, sentiment scores appear in five columns for 1, 2, 3, 4, and 5.
4. Optionally, to change the label of the column that stores the detected sentiments, go to Column
Label.
5. To add the transformation to the Transform node, click Apply.
The Preview tab shows the new sentiment column. The column shows the temporary value Sentiment TBD. To see the detected
sentiment results, run the recipe.
921
Analyze Your Data Integrate and Prepare Data for Analysis
Detail Description
Model Developer CRM Analytics
Model Version 4
Model Output For each field in a text (dimension) column of a Data Prep recipe,
the model returns the sentiment: positive, negative, or neutral. The
model returns null if the input is null and returns neutral if the input
is an empty string ('').
Minor changes to the model can occur throughout the release. Major changes can occur and are communicated via Release Notes.
Model Training
We trained the Detect Sentiment model based on the GloVe dictionary and training data. To learn sentiments of text, we used the GloVe
dictionary to convert text from the training data to word vectors, and then identified the sentiment based on the rating associated with
each comment in the training data.
We used the following process to train the model.
1. Gather the training data. The training data consists of product review comments and their ratings, like 4 stars out of 5.
2. Use a preprocess to massage the training data into the format required by GloVe.
3. Run the training data through GloVe to convert it to vectors. We used the Wikipedia 2014 + English Gigaword Fifth Edition GloVe
dictionary to convert each string to a vector.
922
Analyze Your Data Integrate and Prepare Data for Analysis
4. Pass the vectors and their associated ratings through a Multilayer Perceptron (MLP) neural network model to train the model to
predict the sentiment of text.
For more information about the GloVe dictionary, see this website.
The GloVe dictionary is made available under the Public Domain Dedication and License v1.0 whose full text can be found at:
http://opendatacommons.org/licenses/pddl/1.0/.
Use Cases
Understand the primary intended and out-of-scope use cases associated with the Detect Sentiment model.
The primary use case is to detect the sentiment of unstructured text passed to the Detect Sentiment transformation in a Data Prep recipe.
Unstructured text can include customer surveys, product and service feedback, and unstructured communication, such as chat messages,
text messages, email correspondence, and social media posts.
These use cases are out of scope:
• The Detect Sentiment transformation can’t be invoked outside of Data Prep recipes.
• The input text can’t bypass Salesforce data centers. The data must be available in Salesforce to be evaluated by the Detect Sentiment
transformation.
• Detect Sentiment doesn’t support non-English input text. It processes non-English text as English and ignores images, including
emoji.
Factors
After considering the deep-learning and lexicon-based approaches for sentiment analysis, we decided to use a hybrid of both approaches
to mitigate bias in the sentiment model.
We chose to train the model using publicly available, labeled product review datasets over other datasets because of its relevance to
business use cases. Other publicly available, labeled datasets, such as movie reviews or social media posts, are generally not as relevant
and can hamper accuracy. Because the sentiment model is trained on specific sets of data, the accuracy of the sentiment can vary based
on how similar your data is to the training data. Also, because the training data currently is in English, the Detect Sentiment model
supports only English text at this time.
To learn how well the model works with different domains of data, check out the accuracies and F1 scores. When we evaluated the
model based on product reviews and customer service survey responses, the model achieved sentiment accuracy between 69.09%-83.12%
and an F1 score from 0.34 through 0.9. When we performed biased testing, the model achieved 92.31% accuracy and an F1 score of 0.9.
If you’re curious why the results vary, it’s because each data domain can have unique terms that weren’t used to train the Detect Sentiment
model. As a result, the model’s accuracy can vary based on the domain of the data.
The model is trained using 80% of openly available product review data, which consists of about 100,000 ratings and reviews. The
sentiments of the training data are determined based on the ratings. For example, highly rated comments are considered positive. To
evaluate the model, we compared the generated sentiments of the remaining 20% of the product reviews against their actual ratings.
We also evaluated the model using proprietary survey responses.
Ethical Considerations
We have taken additional measures and precautions to correct bias against terms representing gender identity, sexual orientation,
religious affiliation, and race. Eleven identity terms were included in this mitigation (atheist, queer, gay, lesbian, homosexual, feminist,
black, white, heterosexual, islam, muslim, and bisexual). Using synthetic data, we trained the model to always predict neutral sentiments
for these terms. Although text surrounding these identity terms can change the sentiment, these terms alone have a neutral sentiment.
With the introduction of mostly handcrafted, high-quality data, we were able to reduce bias for the specified terms to a great extent
without harming model performance. We recognize that the list of identity terms included in this mitigation is not exhaustive, and that
future work must be undertaken to expand the list to be more inclusive of a broader range of stakeholders.
The model typically generates the correct sentiments, but the results can vary based on the data. For example, the model doesn’t
accurately process new language, slang, or sarcasm. It also returns unexpected results for text without sentiment, such as IDs, nouns,
923
Analyze Your Data Integrate and Prepare Data for Analysis
addresses, and alphanumeric values. Because the accuracy can vary, consider making decisions based on trends in sentiment scores
over time rather than on scores at a particular moment in time.
For more details about the Detect Sentiment model card, check out the following resources.
• GloVe: Global Vectors for Word Representation
3. Alternatively, to keep the columns selected instead of removing them click Keep.
924
Analyze Your Data Integrate and Prepare Data for Analysis
4. To include additional columns, enter their label in the Select Columns to Drop/Keep field.
5. Click Apply to add the transformation to the Transform
node.
6. To view the Graph area, click the Collapse button ( ).
7. Save the recipe.
From this point forward, dropped columns can’t be used in recipe transformations and nodes. They also no longer appear in Preview.
925
Analyze Your Data Integrate and Prepare Data for Analysis
926
Analyze Your Data Integrate and Prepare Data for Analysis
5. If you want to include prediction and improvement text in the dataset, click the Options subtab.
927
Analyze Your Data Integrate and Prepare Data for Analysis
Issue Description
Top predictors Enable Top predictors and specify the number of entries you want to save to the dataset.
Top improvements Enable Top improvements and specify the number of entries you want to save to the dataset.
This option is available only for predictions that use:
• numeric or binary classification models, and
• the Generalized Linear Model (GLM) algorithm
If the selected prediction uses a multiclass classification model, or if it uses a different algorithm, then
getting top improvements is not an available option. To learn more about algorithms in Einstein Discovery
story settings, see Edit Story Settings.
6. Click Apply.
928
Analyze Your Data Integrate and Prepare Data for Analysis
Edit Attributes Transformation: Change the Column Names and Value Formats
In CRM Analytics, to make column names more descriptive and apply consistent formats to column
USER PERMISSIONS
values, use the Edit Attributes transformation in a Data Prep recipe. You can set the labels and API
names of all columns. You can also set the precision and scale for number columns, character length To create a recipe:
for text columns, and date formats for date columns. • Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
Edit Attributes Transformation: Change the Column Names and Value Formats
1. In a Transform node of a Data Prep recipe, select the column in the Preview tab.
2.
In the Transform toolbar, click the Edit Attributes button ( ).
929
Analyze Your Data Integrate and Prepare Data for Analysis
Attribute Description
Label The display label for the column, the one that appears in charts and dashboards. Column labels can each
be up to 255 characters.
API Name The API name of the column. The column API name can each be up to 255 characters. The API name
must also be unique within the recipe.
Precision The maximum number of digits in a numeric (measure) column. Includes all numbers to the left and to
the right of the decimal point (but excludes the decimal point character). Enter an integer from 1 through
18, inclusive. If a numeric value exceeds the specified precision, the value is set to 0 or null, depending
on whether null measure handling is enabled. For example, if precision is set to 5 and null measure
handling is enabled, the numeric value 123456.78 is replaced with null.
Scale The number of digits to the right of the decimal point in a numeric column. Enter an integer from 0
through 17, inclusive. The scale must be less than the precision. For example, if the numeric value is
123456.789 and you set the scale to 2, the number appears as 123456.78.
Length The maximum number of characters in a text (dimension) column. Enter an integer from 1 through 32000,
inclusive. The default length is 255 characters.
For more guidelines, see the “Field Name Restrictions” section in this help topic.
930
Analyze Your Data Integrate and Prepare Data for Analysis
Consider the number of levels you’re flattening with the row size of your dataset. The Flatten transformation can flatten:
• Up to 300 levels with a < 1million-row dataset.
• Up to 100 levels with a 15 million-row dataset.
• Up to 50 levels with a 20 million-row dataset.
See the Roles and Role Path columns in the following flattened dataset to see how ancestors are stored.
You can also configure the Flatten transformation to include the record ID in the generated hierarchy columns. The following dataset
shows the record ID in bold.
931
Analyze Your Data Integrate and Prepare Data for Analysis
If a hierarchy is incomplete or contains a circular relationship, the Role and Role Path values aren’t calculated. For example:
• If Regional Manager 1 isn’t present in the dataset, a flattened hierarchy isn’t generated for Salesperson 1 and Salesperson 2.
• If Salesperson 1 reports to Regional Manager 1, who reports to Vice President 1, who reports to Salesperson 1, a flattened hierarchy
isn’t generated for these roles.
To create a flatten transformation:
1. In a Transform node of a Data Prep recipe, select the text (dimension) column that contains all the record IDs (or child nodes) in the
hierarchy. The record ID column can’t contain null
values.
2. In the Transform toolbar, click the Flatten button ( ).
3. Enter the following transformation details.
Property Description
Record ID Column Column that identifies each record. Also known as the child node.
Parent ID Column Column that contains the parent of each node in the hierarchy. For example, the Regional
Manager 1 role is the parent of the Salesperson 1 role in a role hierarchy.
Include Record ID Column Value Indicates whether to include the record ID column value in the generated hierarchy nodes
and path columns.
Hierarchy Nodes Column Label Name of the multivalue output column that contains a list of all ancestors in the hierarchy,
in order from the lowest to the highest level. The Flatten transformation creates this column
and generates the list of ancestors for each node in the hierarchy. For example, for
Salesperson 1 role, the hierarchy of ancestors is:
932
Analyze Your Data Integrate and Prepare Data for Analysis
Property Description
. To hide this column from queries and dataset exploration, select Is a system column. By
default, this column isn’t created as a system column.
Hierarchy Path Column Label String that contains the hierarchical path of all ancestors in the hierarchy, in order from the
lowest to the highest level. Nodes are separated by forward slashes. The Flatten
transformation creates this output column and generates the ancestry path for each node
in the hierarchy. For example, for a salesperson role in a role hierarchy, the value is:
Sales Manager 1/Regional Manager 1/Vice President 1/CEO
. To hide this column from queries and dataset exploration, select Is a system column. By
default, this column isn’t created as a system column.
4. Preview the transformation results to check that the flattened hierarchy is right.
Preview shows only the record ID and its parent in the hierarchy nodes column and only the record ID in the hierarchy path column.
You have to run the recipe to see all ancestors in both columns.
933
Analyze Your Data Integrate and Prepare Data for Analysis
934
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The order of the date formats in the Original Formats box matters. For example, if a date is 01/06/2011, the date format
could be dd/MM/yyyy or MM/dd/yyyy. The Date Format transformation assumes the first matching format shown the Original
Date Format box is the right one.
935
Analyze Your Data Integrate and Prepare Data for Analysis
3. In the formula editor, enter the formula and add parameters using the correct syntax.
As you type in the formula editor, functions and columns matching the name appear for you to select to add to the formula.
936
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The best practice is to use double quotes around all column names. For a value that is a string literal, use single quotes.
.
Double quotes are required when referencing dataset columns that share a name with reserved keywords.
To get help, check out all functions and columns in the Functions and Columns tabs. To add one to the formula, select it and click
+.
Functions are listed in the Functions tab by category: Window Functions, String Functions, Numeric Functions, Date/Time Functions,
and Additional Functions. To view the window functions, enable Multiple row formula.
4. For formulas with window functions, specify the column used to partition the rows in Partition By, column used to sort the data
in Order By, and sort direction in Sort Direction.
For example, set Partition By to Opportunity Name, Order By to Last Modified Date, and Sort Direction to Ascending. Based on these
settings, the transformation combines all records into partitions (think buckets) based on the same opportunity name. It then sorts
the records in each partition in ascending order based on the last modified date.
5. Identify each column in the formula by its API name. Type in the API name or select the column from the Columns tab.
6. In Output Type, select whether the calculated column’s data is text, numeric, date, or datetime.
7. Based on the output type, you can set these attributes.
937
Analyze Your Data Integrate and Prepare Data for Analysis
Attribute Description
Precision The maximum number of digits in a numeric (measure) column. Includes all numbers to the left and to the
right of the decimal point (but excludes the decimal point character). Enter an integer from 1 through 18,
inclusive. If a numeric value exceeds the specified precision, the value is set to 0 or null, depending on
whether null measure handling is enabled. For example, if precision is set to 5 and null measure handling
is enabled, the numeric value 123456.78 is replaced with null.
Scale The number of digits to the right of the decimal point in a numeric column. Enter an integer from 0 through
17, inclusive. The scale must be less than the precision. For example, if the numeric value is 123456.789 and
you set the scale to 2, the number appears as 123456.78.
Length The maximum number of characters in a text (dimension) column. Enter an integer from 1 through 32000,
inclusive. The default length is 255 characters.
8. In Default Value, choose the value to show if your expression returns no results.
9. If needed, you can change the label of the calculated column.
10. To add the formula as a step in the Transform node, click Apply.
The calculated column appears in the recipe preview.
938
Analyze Your Data Integrate and Prepare Data for Analysis
939
Analyze Your Data Integrate and Prepare Data for Analysis
returns 2016
940
Analyze Your Data Integrate and Prepare Data for Analysis
returns
1460098800
941
Analyze Your Data Integrate and Prepare Data for Analysis
returns
2015-03-01T00:00:00
Keep these behaviors in mind when working with date and time functions.
• These functions are relative to when the job runs.
– now
– current_date
– current_timestamp
– to_unix_timestamp
• All date and datetime functions are based on the UTC time zone.
• When Custom Time Zone Support is enabled, date functions and date-time functions are separated. When it’s disabled, the functions
are grouped together.
Operator Description
+ Calculates the sum of two values.
942
Analyze Your Data Integrate and Prepare Data for Analysis
Operator Description
() Specifies that the expressions within the parentheses are evaluated first. All other expressions are
evaluated using standard operator precedence.
943
Analyze Your Data Integrate and Prepare Data for Analysis
944
Analyze Your Data Integrate and Prepare Data for Analysis
instr('123!456!8!', !, [4])
--The result is 7
945
Analyze Your Data Integrate and Prepare Data for Analysis
946
Analyze Your Data Integrate and Prepare Data for Analysis
947
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Functions that don't handle null values explicitly don’t convert NULL values to be empty (for strings) or 0 (for numerics).
For example, a concat output returns NULL if any of the concatenated fields have a null value on that row. So if the formula
looks like concat(first_name, last_name), the returned data with a NULL value for last_name is:
First Name | Last Name | Output
Alice | Smith | Alice Smith
Bob | NULL | NULL
To handle null values, you can use the concat function with another function. For example: concat(first_name,
coalesce(last_name, ''))
948
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
String Functions for Formulas
Reserved Keywords in Formulas
In CRM Analytics, Data Prep has reserved keywords that need special handling when manually writing formulas. Use double quotes "
when referencing dataset columns that share a name with reserved keywords. To avoid cross-referencing your column names to this
list, the best practice is to use double quotes around all column names.
Reserved Keywords in Formulas
Enclose dataset columns that share a name with a reserved keyword in double quotes. For example, if your dataset has a column named
Month, you can enter this expression:
case when "Month" = ‘New’ then ‘High’ else ‘Low’
949
Analyze Your Data Integrate and Prepare Data for Analysis
These additional keywords are reserved in formulas with the Multiple row formula turned on. Use double quotes " when referencing
dataset columns that have any of these names.
• CURRENT
• DENSE_RANK
• FIRST_VALUE
• LAG
• LAST_VALUE
• LEAD
• RANK
• ROW_NUMBER
• SUM
SEE ALSO:
String Functions for Formulas
950
Analyze Your Data Integrate and Prepare Data for Analysis
951
Analyze Your Data Integrate and Prepare Data for Analysis
952
Analyze Your Data Integrate and Prepare Data for Analysis
When you enter a formula, use the API name of the column in the expression, not the label. The parameters section is surrounded by
parentheses. Also, text strings must be enclosed in single straight quotes ('This is a string.').
You can use the following multivalue functions in a formula expression.
953
Analyze Your Data Integrate and Prepare Data for Analysis
• result_expr is an expression that can be evaluated by the EA SQL engine. You can include values, identifiers, and scalar
functions, including date and math functions. The expression can evaluate to any data type, but the data type must be consistent
among all conditional expressions. So if result_expr is of NUMERIC type, then result_expr2 … result_exprN must also be of NUMERIC
type. Example:
abs(price)
• else allows a default expression to be specified. The else statement must follow the conditional when/then statement. There
can be only one else statement. This parameter is optional.
• default_expr is an expression that can be evaluated by the EA SQL engine. The outcome if the condition expression evaluates
as false.
954
Analyze Your Data Integrate and Prepare Data for Analysis
Here’s a case function example. Type is a field in the dataset. “New Business” and “Existing Business” are values of the Type field.
case
when Type = 'New Business'
then 'NB'
when Type = 'Existing Business'
then 'EB'
else
Type
end
The coalesce function returns the first non-null value in an expression. Otherwise, returns null. This function can be used with TEXT,
NUMBER, DATE_ONLY, and DATETIME data. The syntax is: coalesce(expr1,expr2)
The syntax includes these parameters:
• expr1 is the first field or text string to search for a non-null value
• expr2is the next field or text string to search for a non-null value
955
Analyze Your Data Integrate and Prepare Data for Analysis
If the editor instead looks like this one, your formula was converted successfully and you use the Data Prep recipe formula editor
instructions instead.
956
Analyze Your Data Integrate and Prepare Data for Analysis
a. Copy and save your original formula and select Switch To SQL Editor. The Data Prep recipe formula editor opens.
b. Recreate your original formula using the correct syntax described in the Data Prep recipe formula editor instructions.
3. To edit your formula without upgrading, make your edits following the same syntax used when the formula was originally written.
Do not select to switch to the SQL editor.
4. If needed, change the label of the calculated column.
5. When you have completed the formula, click Apply to add the transformation to the Transform node.
The new formula column appears in the recipe preview.
6. To view the Graph area, click the Collapse button ( ).
7. Save the recipe.
Note: To get a list of numeric functions for a Data Prep Classic recipe, see Numeric Functions for Formula Fields.
When entering a formula, column names must be enclosed in square brackets. Also, use the API name of the column in the expression,
not the label. For example, you can enter the following expression.
round([Total_Amount]/[Unit_Price], 2)
Operator Description
+ Calculates the sum of two values.
() Specifies that the expressions within the parentheses are evaluated first. All other expressions are
evaluated using standard operator precedence.
957
Analyze Your Data Integrate and Prepare Data for Analysis
958
Analyze Your Data Integrate and Prepare Data for Analysis
Note: To get a list of string functions for a Data Prep recipe, see String Functions for Formula Fields.
For example, you can nest string functions in an expression to combine the sales territory and country into a single column. Then you
can apply title casing to the results.
title(concat(Sales_Territory, ‘ ‘,Country))
When you enter a formula, text strings must be enclosed in single straight quotes (’This is a string.’). Column names must
be enclosed in square brackets ([Opportunity_Name]).
You can use these string functions in a formula expression.
959
Analyze Your Data Integrate and Prepare Data for Analysis
960
Analyze Your Data Integrate and Prepare Data for Analysis
Use the trim function Example: Remove the two leading spaces before and after a string.
in a SAQL query to trim(' Spaces Before and After ')
trim other types of
characters.
961
Analyze Your Data Integrate and Prepare Data for Analysis
( ).
3. Select up to three text columns to use to predict the missing values for the selected column.
Tip: To make an accurate prediction, each column must have less than 200 unique values. Also, verify that these predictive
columns contain clean, quality data. For example, you have an Education predictive column that contains values such as
“Bachelors Degree” and “Bachelors.” Use the bucket transformation to bucket field values with the same meaning. Then use
the column with the clean data as a predictive column. For more information about bucketing, see Bucket Transformations
(see the following link).
4. If needed, change the column label. This label appears as the column header in the dataset.
5. Click Apply to add the transformation to the Transform node.
The preview shows the original column with the missing values and the new column with “Predict” at the end of the header. The
preview shows “Prediction TBD” for predicted values in the new column. The predicted values don’t appear until after you run the
recipe.
962
Analyze Your Data Integrate and Prepare Data for Analysis
963
Analyze Your Data Integrate and Prepare Data for Analysis
6. If needed, add the Split transformation again to further split the column values.
For example, to finish splitting the city, state, and ZIP code, we can add two more Split transformations.
964
Analyze Your Data Integrate and Prepare Data for Analysis
965
Analyze Your Data Integrate and Prepare Data for Analysis
3. Optionally, in Group Rows, select groups to forecast by. For example, forecast by region.
4. In Date for Time Series, select a date column and a date grouping. For example, Close Date year-month.
5. In Forecast Period, specify your forecast outlook.
966
Analyze Your Data Integrate and Prepare Data for Analysis
Forecast Specify length of forecast from recipe run date. Forecast length is the number of future time periods you want
Length to forecast for.
For example, if date grouping is year-month, then a rolling forecast length of 3 represents the next 3 months.
If date grouping is year, then a rolling forecast length of 3 represents the next 3 years.
More data is predicted if there’s a gap between the dataset’s most recent date and the current period. For
example, if your data isn’t updated for two months and you’re forecasting out 3 months, then 5 months of
data is predicted. Say your data hasn’t been updated since October and it’s now December, and you’re
forecasting out 3 months, then you’ll get a forecast until March of next year.
6. Optionally, use More Options to further modify the time series forecast.
Options Description
Seasonality Periodic fluctuations that occur around the same time every year.
• For example, if sales fluctuate quarterly, select 4 (quarters in a year) and use a date grouping of year-quarter.
• Choose Auto so Data Prep determines the best seasonality for you.
967
Analyze Your Data Integrate and Prepare Data for Analysis
Options Description
Generate To account for errors in forecasts, select an 80% or a 95% confidence interval.
Confidence
Interval A confidence interval provides a range of values for each forecast based on a certain level of confidence —
the higher the confidence level, the wider the range.
Creates two columns for the low and high values of the confidence interval. For example, the column names
for a 95% confidence interval are column_name (Low 95) and column_name (High 95).
968
Analyze Your Data Integrate and Prepare Data for Analysis
969
Analyze Your Data Integrate and Prepare Data for Analysis
In the Connect Nodes box, select whether to join or append the data.
2. To join or append data to another node, drag the Add Node button ( ) for a node or a Branch button on top of the predecessor.
Then select whether to join or append the data in the Connect Nodes box. This graph joins aggregated account data back to the
account records.
970
Analyze Your Data Integrate and Prepare Data for Analysis
3. To make the flow of data easier to view, reposition the recipe nodes in the graph.
Select and move individual nodes, or drag your mouse to select as many nodes as you want. Pull the group of nodes around to
rearrange, or delete them all at once.
971
Analyze Your Data Integrate and Prepare Data for Analysis
972
Analyze Your Data Integrate and Prepare Data for Analysis
For example, you can move upstream nodes after a downstream node in the graph, where nodes flow right to left.
973
Analyze Your Data Integrate and Prepare Data for Analysis
2. From the toolbar, click or press Ctrl+c to copy, click or press Ctrl+x to cut, or click duplicate, which copies and pastes
in one step. To delete a node, click or press Ctrl+d.
974
Analyze Your Data Integrate and Prepare Data for Analysis
Cmd+/ (macOS)
Cmd+O (macOS)
Cmd+Z (macOS)
Cmd+Y (macOS)
Cmd+D (macOS)
Cmd+V (macOS)
Cmd+S (macOS)
975
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The column profile is also based on the sample data. It also doesn’t include changes to the connected object data within
the last 24 hours.
1. In the Data Prep recipe, select a node in the graph to view its results.
For example, selecting an Aggregate node shows the following preview results.
If you add a Filter node, the preview filters the currently sampled rows. For example, the recipe processes 20,000 rows. The preview
shows 5,000 sample rows for the Aggregate node. If you add a Filter node after the Aggregate node, you might see only 4,000 of
the same sampled rows. The preview doesn’t retrieve an updated sample of 5,000 rows for the Filter node.
976
Analyze Your Data Integrate and Prepare Data for Analysis
4. If needed, edit the transformation to ensure it produces the correct results. When the data preview for a node doesn’t complete
immediately, view the preview build status at a glance with the progress wheel. Mouse over the wheel to see the percent built.
5. To focus on columns that are impacted by a node or transformation, hide a column from the preview. Select a column in the Preview
tab and click Hide ( ). Hiding a column from preview doesn’t remove it from the recipe.
6. To view the columns only and hide the data, click the Columns tab.
7. To save the recipe, click Save.
Example: To increase performance when previewing results in Data Prep, hide columns that don’t require a preview, such as
columns that aren’t transformed by a node or transformation. By default, the first 100 columns of each source object in an input
node are shown in preview. To hide a column from preview, select it and then click the Hide button in the Transform toolbar.
To further increase preview performance, hide all unused columns. Click the Hide Unused button from the Transform toolbar.
If data preview is still delayed, disable data preview. You can always turn it back on when you want to see your progress.
977
Analyze Your Data Integrate and Prepare Data for Analysis
978
Analyze Your Data Integrate and Prepare Data for Analysis
• Histogram—The histogram shows the shape of the sample data for measure and date columns. Shape refers to the distribution of
the data over equal-length ranges. Use the histogram to understand the shape of the data and identify outliers. Outliers are important
because they can distort calculation results. For a measure column profile, the histogram shows the count of rows, maximum value,
minimum value, median value, and average value for each range. To see the percentage of the sample total, hover over a bar. For a
date column profile, the histogram shows the count of rows for the selected date grouping. You can group by different time frames,
including Year-Month, Year-Quarter, Year, Quarter, and Month.
979
Analyze Your Data Integrate and Prepare Data for Analysis
The Attributes tab shows the label, API name, and data type of the selected column. For measure columns, it also shows the scale. For
dimension columns, it also indicates whether the column contains multiple values.
Manage Recipes
After you create a recipe, use the Recipes tab to edit and delete them.
980
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
981
Analyze Your Data Integrate and Prepare Data for Analysis
Example: Data Prep can store up to 20 versions for each recipe—10 with descriptions and 10 without. The latest versions are
always kept. For example, if there are 10 versions with descriptions and another version with a description is added, the oldest
one with a description is deleted.
982
Analyze Your Data Integrate and Prepare Data for Analysis
The reverted recipe opens in Data Prep Classic. This recipe version is the last saved recipe in Data Prep Classic—the one that was
previously upgraded to Data Prep. This version doesn’t contain changes made with Data Prep.
5. When you’re done, save the recipe in Data Prep Classic.
The Recipes subtab shows two versions of the recipe, one Data Prep Classic version (the reverted one) and one Data Prep version (a
backup copy). Both recipes have the same name. The recipe with the Information icon ( ) is the Data Prep Classic version.
983
Analyze Your Data Integrate and Prepare Data for Analysis
6. To distinguish the two recipes, rename the Data Prep recipe. To change the name, edit it and rename it in Data Prep.
Both recipes also write to the same dataset. The dataset updates each time you run either recipe. Lenses and dashboards based on
this dataset show the latest data based on the last run recipe.
7. To edit the Data Prep Classic recipe in Data Prep Classic, click the actions button ( ) to the right of the recipe, and then click Open
with Data Prep Classic.
The Open with Data Prep Classic option appears only for recipes reverted to Data Prep Classic.
8. To edit the Data Prep Classic recipe with Data Prep, click the actions button ( ) to the right of the recipe, and then click Edit.
After you save the recipe in Data Prep, the recipe upgrades to Data Prep. You no longer see the Information icon because it’s no
longer a Data Prep Classic recipe. If you didn’t rename the previous Data Prep recipe, you now have two Data Prep recipes with the
same name.
984
Analyze Your Data Integrate and Prepare Data for Analysis
If needed, you can revert the latest Data Prep recipe to Data Prep Classic.
Delete a Recipe
In CRM Analytics, delete recipes that you no longer need. Deleting a recipe does not delete its target dataset.
1. In Data Manager, click Recipes.
2. Click to the right of the recipe that you want to delete, and then select Delete.
985
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Connect and Sync Your Data to CRM Analytics
Get Started with Data Integration
CRM Anaytics Limits
SEE ALSO:
Connect and Sync Your Data to CRM Analytics
986
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Data sync jobs don’t count towards your daily recipe run limit. Available in Salesforce
Classic and Lightning
1. In data manager, click the Connections tab to display the list of objects enabled for sync Experience.
grouped by connection.
Available with CRM
2. To show and hide the list of objects, click the connection name. Analytics, which is available
3. To run sync for all objects in a connection, click to the right of the connection name, and for an extra cost in
Enterprise, Performance,
select Run Now. The connection is queued to sync.
and Unlimited Editions. Also
4. To run sync for a single remote object, click to the right of the object name, and select Run available in Developer
Data Sync. Edition.
5. To run sync for a single local Salesforce object, first select the connection mode you want to
use. Click to the right of the local object name, and select Edit Connection Mode. USER PERMISSIONS
6. Choose from the following:
To run sync:
a. Incremental Sync updates only rows that changed since the last sync. It’s the fastest • Edit CRM Analytics
option. Dataflows
b. Periodic Full Sync updates rows incrementally and periodically overwrites all rows with
records in the Salesforce object.
c. Full Sync updates all rows with records in the Salesforce object.
7. Click Save.
8. Click again, and select Run Data Sync. Use the Jobs Monitor tab of Data Manager to see the status of your sync.
SEE ALSO:
Monitor a Data Sync Job
CRM Anaytics Limits
987
Analyze Your Data Integrate and Prepare Data for Analysis
When you deactivate a user who scheduled a data sync, the schedule is deleted and the data sync is unscheduled.
Tip: If you have a CRM Analytics Plus license, you can set the schedule to run every 5, 15, 20, or 30 minutes. This feature isn’t
available in sandbox orgs.
SEE ALSO:
Monitor a Data Sync Job
CRM Anaytics Limits
988
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To monitor sync:
• Edit CRM Analytics
Dataflows
Run a Recipe
Run a CRM Analytics recipe for the first time to create the dataset it defines. Run a recipe again to
EDITIONS
update the dataset with the latest synced data. You can run a recipe manually or on a schedule.
Available in Salesforce
Run a Recipe Manually Classic and Lightning
Run a CRM Analytics recipe for the first time to create the datasets it defines. Run it again to Experience.
update the dataset with the latest synced data. Available with CRM
Schedule a Recipe to Run Automatically Analytics, which is available
You can schedule a CRM Analytics recipe to run at a specific time or after an event. Use for an extra cost in
time-based scheduling to ensure that fresh data is available by a particular time or to run the Enterprise, Performance,
and Unlimited Editions. Also
job during non-business hours. You can schedule a recipe to run hourly, weekly, monthly, or
available in Developer
on specific days of the week or dates. Use event-based scheduling to run a recipe after the sync
Edition.
runs to ensure that datasets include the latest data. If you split data prep across multiple recipes,
use event-based scheduling to chain these recipes together to obtain the desired outcome
automatically. USER PERMISSIONS
Monitor a Recipe Job To create a recipe:
The Jobs subtab on the Monitor tab shows the status of data sync and recipe CRM Analytics • Edit CRM Analytics
jobs. You can view error messages about a job, view the run-time details about every Dataflows OR Edit
transformation that is processed, and monitor the number of jobs remaining from your org’s Dataset Recipes
24-hour limit.
Set Recipe Notifications
Get notified when your scheduled recipe runs.
989
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Monitor a Recipe Job
CRM Anaytics Limits
Why is my scheduled recipe not running as expected?
Create a Recipe with Data Prep
990
Analyze Your Data Integrate and Prepare Data for Analysis
3. To schedule the recipe to run after its related data sync, external connection sync, CSV upload,
or another recipe finishes, under Schedule Mode, select Event-based.
a. Select the events to run the recipe schedule after. You can select one or more events. For example, if the recipe pulls data from
the Salesforce Accounts and Opportunities objects and uses data from an external connection, select both The Salesforce local
syncs and The Salesforce external connection syncs.
b. If you select The selected CSVs are updated or dataflow/recipes run, choose the CSVs, recipes, or dataflows from the list to
trigger this schedule. Use this option to wait for fresh data or to run another preceding recipe or dataflow first. You can make
multiple selections of different types, but each selection increases the complexity of the schedule. Only recipe runs that were
successful or completed with warnings trigger this schedule. Only CSVs that have been uploaded in the last 30 days are available
in the list. If you don’t see a CSV you need, upload it again. The maximum dependent jobs for an event-based schedule is 5.
c. An event-based schedule is triggered after a sync on objects from local Salesforce orgs, a sync on objects from external connections,
and uploads from CSVs. When you use data from multiple connections in a recipe or dataflow, event-based scheduling runs
after all the connected objects are synced. For example, if a local connection is scheduled to sync hourly and an external connection
syncs daily, an event-based scheduled recipe using data from both runs daily.
991
Analyze Your Data Integrate and Prepare Data for Analysis
When using a single local connection, the job only waits for the objects used in the recipe to sync before it triggers the recipe
to run. It doesn't wait for any unrelated objects to complete their data sync.
4. Click Save.
Schedules for data sync, dataflow, and recipes are removed 30 days after the last save in Sandbox and Developer edition orgs, and
10 days after the last save in Trial orgs. Users subscribed to notifications receive an email when a schedule is removed. Set the
schedule again at any time.
The scheduler provides details on who created or modified the schedule and when the schedule was created or last modified.
If the schedule is deleted, the scheduler shows who unscheduled it and when. When you deactivate a user who scheduled a recipe, the
recipe schedule is deleted and the recipe is unscheduled.
Note: To secure access to sensitive data in datasets and connected objects, you also need the Edit CRM Analytics Dataflows user
permission when working with recipes. With that permission, you can:
• Use connected objects in a recipe.
992
Analyze Your Data Integrate and Prepare Data for Analysis
• Edit security predicates in existing recipes, which allows you to grant others, including yourself, access to more rows in the
dataset.
• Run or schedule recipes that pull data from existing datasets with security predicates.
• Run or schedule recipes that pull data from existing datasets with security predicates.
Users with the Edit Dataset Recipes permission but without the Edit CRM Analytics Dataflows permission can:
• Create a recipe that outputs datasets to their private app only.
• Run and schedule recipes that write to datasets that don’t have security predicates.
• Use a recipe to extract data from a dataset with a security predicate, but can’t change the predicate on the resulting dataset.
SEE ALSO:
Monitor a Recipe Job
CRM Anaytics Limits
Why is my scheduled recipe not running as expected?
3. If the job fails or completes with a warning, click the job name to get more details.
4. If there’s a problem with the recipe logic, edit the recipe and then run it again.
5. To get details about a running job, like progress, who started it, or why it was canceled, click the job ID.
SEE ALSO:
Set Recipe Notifications
993
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
Run a Dataflow
Like recipes, you can run dataflows manually or schedule them to run automatically at regular intervals to create your datasets and keep
the data up to date. You can also stop a dataflow while it’s running.
994
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To run a dataflow:
• Edit CRM Analytics
Dataflows
3. Click the triangle to the right of the dataflow you want to run, and select Run Now.
The dataflow job is added to the job queue. The Start action is grayed out while the dataflow job runs.
4. After the job completes, CRM Analytics sends an email notification to the user who created the dataflow.
The email notification indicates whether the job completed successfully. It also shows job details like start time, end time, duration,
and number of processed rows. If the job failed, the notification shows the reason for the failure.
Note: If the dataflow creator is not an active user, the notification is sent to the user who last modified the dataflow schedule
or definition file.
5.
To stop a dataflow job that is currently running, click next to the job status.
If you click Start to restart a stopped dataflow, the job starts over—the dataflow job does not resume from the point at which it
was stopped.
995
Analyze Your Data Integrate and Prepare Data for Analysis
Note: A dataflow automatically restarts if it is forcibly terminated by an external process like patches to the OS or Maestro,
specifically bifrost.
You can monitor the dataflow job on the Monitor tab to determine when the dataflow completes. After the dataflow completes
successfully, refresh the CRM Analytics home page to view the registered dataset.
SEE ALSO:
Monitor a Dataflow Job
CRM Anaytics Limits
1. In Analytics, click Data Manager in the left pane to open Data Manager. Available for an extra cost in
Data Manager opens to the Monitor tab with the Jobs view selected. Enterprise, Performance,
and Unlimited Editions. Also
2. Click the Dataflows & Recipes tab.
available in Developer
3. Click the triangle to the right of the dataflow you want to run, and select Schedule. Edition
USER PERMISSIONS
996
Analyze Your Data Integrate and Prepare Data for Analysis
a. Select the event-based scheduling mode that includes all sources of data that contribute to your dataflow. For example, if the
dataflow pulls data from the Salesforce Accounts and Opportunities objects, and uses data generated by another dataflow, select
The Salesforce local connections sync and the selected recipes or dataflows runs
b. If you selected an event-based scheduling mode that waits on recipes or dataflows to run, select up to 5 from the list. Use this
option to await fresh data or coordinate running another preceding recipe or dataflow first. Only runs that were successful or
completed with warnings trigger this run. To increase the number of prerequisite recipes or dataflows you can choose, contact
Salesforce Customer Support.
Note: Event-based schedules are triggered only by completed data sync of local objects in the dataflow’s sfdcDigest nodes
through a scheduled run, manual run, or another successful dataflow run. Data syncs from remote connections, including
Salesforce remote orgs, don’t trigger event-based schedules. When you use data from multiple local connections in a recipe
or dataflow, event-based scheduling will run only after all local connections are synced. For example, if one local connection
is scheduled to sync hourly and another syncs daily, an event-based scheduled recipe using data from both runs one time
daily.
5. To run the dataflow at a specific time, select Time-based under Schedule Mode. Select the time to run the dataflow. You can
schedule the dataflow to run by minute, hour, week, or month.
CRM Analytics runs the dataflow according to the time zone of the user who set the schedule.
Tip: If you have a CRM Analytics Plus license, you can set the schedule to run every 5, 15, 20, or 30 minutes. This feature isn’t
available in sandbox orgs.
6. If you schedule the dataflow to run by minute or hour, optionally select Stop queuing at a specific time to stop the schedule from
adding more dataflow runs to the queue after a certain time. For example, to restrict runs to office hours, set a job to start at 8:00
am, run every hour, and stop at 5:00 pm. If you don’t select a time, the schedule stops adding dataflow runs to the queue at 11:59
PM.
7. Click Save.
997
Analyze Your Data Integrate and Prepare Data for Analysis
Schedules for data sync, dataflow, and recipes are removed 30 days after the last save in Sandbox and Developer edition orgs, and 10
days after the last save in Trial orgs. Users subscribed to notifications receive an email when a schedule is removed. Set the schedule
again at any time.
To cancel the scheduled dataflow, select Unschedule from the dataflow’s menu.
When you deactivate a user who scheduled a dataflow, the dataflow schedule is deleted and the dataflow is unscheduled.
SEE ALSO:
Schedule, Run, and Monitor Data Sync
Monitor a Dataflow Job
CRM Anaytics Limits
998
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
999
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Duration is calculated as the sum of the job queue time and job run time.
2. Monitor the flow indicator to see how many dataflow and recipe jobs can be run in a rolling 24-hour period.
Note: Runs less than 2 minutes in duration, and data sync, don’t count toward this limit. To request a higher 24-hour limit,
contact Salesforce Support.
3.
Click to see the latest status of a job.
Each job can have one of these statuses.
Status Description
Running The job is running.
4. If the dataflow job fails, expand the job node (2) to view the run-time details for every transformation that was processed.
5. If an error log is available for a node, click the download log button (3) to download a CSV file containing the failed rows.
1000
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Error logs display the data from rows that have failed to load. To maintain data security and prevent unauthorized
access to this data, only the dataflow owner or users with the View All Data permission can download an error log.
6. If there’s a problem with the dataflow logic, edit the dataflow and then run it again.
SEE ALSO:
Set Dataflow Notifications
Why are my data sync and recipe runs getting canceled?
Open a dataflow, then click the history icon (1). All versions of the dataflow appear in the Versions panel (2), with the live version
on top.
4. Revert to a previous version by clicking its name, such as Change 2, then click Update Dataflow (3).
5. To delete a previous version, click the dropdown (4) and click Delete.
For details, see Backup and Restore Previous Versions of Analytics Assets with History API.
1001
Analyze Your Data Integrate and Prepare Data for Analysis
4. From the Notify Me About picklist, select what you want to be notified about.
5. To receive an elapsed time notification, select All Events from the Notify Me About options. Then select Elapsed time notification
and select the number of hours and minutes.
1002
Analyze Your Data Integrate and Prepare Data for Analysis
Note: By default, email notifications are sent only to the person setting the notifications. Other people with the Edit Analytics
Dataflows permission can subscribe to a dataflow by setting notifications.
Note: You can disable priority scheduling at any time to return to a first in, first out queue.
SEE ALSO:
Run a Recipe Manually
Schedule a Recipe to Run Automatically
Run a Dataflow Manually
Schedule a Dataflow to Run Automatically
1003
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Considerations Before Integrating Data into Datasets
1004
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Why Should I Use Recipes Instead of Dataflows?
CRM Anaytics Limits
Note: Recipes and dataflows aren’t mutually exclusive. You can use both to meet more complex data preparation requirements.
For example, you can use a dataflow to generate an intermediate dataset, and then use that dataset as the source for a recipe to
perform additional transformations.
Recipe
Recipes are great for Salesforce admins and data experts who want to preview and transform data.
With a recipe you can:
• Work in an easy-to-use graphical interface.
• Preview your data and how it changes as you apply each transformation.
• Quickly remove columns or change column labels.
• Analyze the quality of your data with column profiles.
• Aggregate and join data.
• Use built-in machine learning such as detect sentiment, data clustering, and time series forecasting.
• Bucket values without having to write complex SAQL expressions.
• Create calculated columns with a visual formula builder.
• Use a point-and-click interface to easily transform values to ensure data consistency. For example, you can bucket, trim, split, and
replace values without a formula.
• See the history of all your changes, and back up or move forward to replay it.
• Push your prepared data to other systems with output connectors.
Dataflow
Dataflows are great for CRM Analytics developers who prefer to work in a visual editor and, if necessary, JSON.
With a dataflow you can:
• Design complex data preparation flows with the visual Dataflow Editor.
• Edit the underlying JSON for finer control.
• Perform calculations across rows to derive new data for trending analysis.
• Apply complex filters.
1005
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The end-of-life date for dataflows hasn’t been set yet. You can continue to use dataflows if they’re effective and don’t
require any of the advanced recipe features. If you’re starting a new data prep process, consider using recipes first.
Note: CRM Analytics currently supports two versions of Data Prep. Data Prep is the newest version that replaces the previous
version, Data Prep Classic.
Append
Bucket
(computeExpression transformation)
Cluster
Delta
Detect Sentiment
Drop Columns
(sliceDataset transformation)
1006
Analyze Your Data Integrate and Prepare Data for Analysis
Filter
Flatten Hierarchies
Format Dates
Join
Lookup
(augment transformation)
Predict Values
(prediction transformation)
Profile Column
Split
Update Values
SEE ALSO:
Clean, Transform, and Load Data with Data Prep
Design Datasets with Dataflows and the Dataset Builder
Considerations
• The original dataflow and its sync schedule are unchanged.
• You don’t need a dataflow to create a recipe. See Create a Recipe with Data Prep.
• Conversion creates one corresponding recipe per dataflow. A dataflow can be converted multiple times with each conversion
replacing the corresponding recipe. For example, converting a dataflow a second time overwrites the recipe created during the first
conversion; it doesn’t yield two recipes.
1007
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: If you edit a converted recipe, save it as a new recipe to avoid it being overwritten.
• Recipes have more features than dataflows, but some parameters aren’t supported or the differences require review or modification.
See Dataflow Conversion Mapping.
Convert to Recipe
• In Data Manager (Legacy), use the dataflow’s options to select Convert to Recipe.
Note: Conversion requires valid dataflow with available input data sources. Best practice is to only convert dataflows that
have recently run successfully. Converting an invalid dataflow isn’t recommended.
1008
Analyze Your Data Integrate and Prepare Data for Analysis
• Manage data job schedules. Unschedule the dataflow and schedule the recipe.
Using Recipes
Note these features when using recipes:
• When you make a direct data reference in a recipe, no data is stored in CRM Analytics. Each time a recipe uses direct data, a query
gets the current data. In Data Manager, SFDC_Local connections represent data stored in CRM analytics. Therefore, a direct data
reference isn’t included in SFDC_Local connections.
• When a recipe runs, the last run datetime for any SFDC_Local objects it uses isn’t updated. If a recipe runs using SFDC_Local data,
the recipe uses the data saved in the object by the last sync. Therefore, schedule the local object to sync before the recipe runs, for
example, by using event scheduling.
1009
Analyze Your Data Integrate and Prepare Data for Analysis
Dataflow Transformations
At a glance dataflow to recipe conversion mapping.
augment Join
see parameters
delta
digest Input
edgemart Input
see parameters
filter Filter
see parameters
sfdcRegister Output
update Update
1010
Analyze Your Data Integrate and Prepare Data for Analysis
append
augment
computeExpression
fiscalMonthOffset
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
isYearEndFiscalYear
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
firstDayOfWeek
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
1011
Analyze Your Data Integrate and Prepare Data for Analysis
computeRelative
computedFields.description
1012
Analyze Your Data Integrate and Prepare Data for Analysis
delta
Delta transform isn’t supported in Recipes. To calculate changes over time, consider using a transformation node with windowing
functions in multiple row custom formulas.
digest
object Input
fields Input
dim2mea
measureType
edgemart
To extract all columns in a dataset, use the Include All Fields option in the Input node.
export
target
userId
filter
1013
Analyze Your Data Integrate and Prepare Data for Analysis
flatten
prediction
sfdcDigest
Other JSON key-values are not supported in recipes. The dataflow’s JSON is added to the recipe Input node for reference, but doesn’t
function. For example, pkchunking JSON is added as text in the recipe’s input node description, but it doesn’t impact bulk
queries.
incremental
fullRefreshToken
fields Input
complexFilterConditions
Tip: Use Filter (SQL expression)
1014
Analyze Your Data Integrate and Prepare Data for Analysis
defaultValue
Tip: Use Transform (Custom formula with case or coalesce)
type
Tip: Use Transform (Replace or Custom formula)
fiscalMonthOffset
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
isYearEndFiscalYear
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
firstDayOfWeek
Tip: Use Data Prep Date Configurations
See Data Prep Fiscal Configuration
isMultiValue
Tip: Use Transform (Custom formula multivalue functions)
See Multivalue Functions for Formulas
multiValueSeperator
Tip: Use Transform (Custom formula multivalue functions)
See Multivalue Functions for Formulas
precision
Tip: Use Transform (Edit attributes)
See Edit Attributes Transformation
scale
Tip: Use Transform (Edit attributes)
See Edit Attributes Transformation
sfdcRegister
name Output
source Output
1015
Analyze Your Data Integrate and Prepare Data for Analysis
rowLevelSecurityFilter Output
sliceDataset
update
right Update
left_key Update
right_key Update
update_columns Update
Dataflow SAQL
Dataflows use SAQL and recipes use SQL. During conversion, SAQL is changed to SQL whenever possible.
Warning: SAQL date filtering, relative date ranges, and references to date epochs are not supported. Recommendation is to
evaluate supported solutions to replace dataflow SAQL date capabilities.
Tip: In recipes, try using simple operators with Dates or DateTimes such as +,-,=,<,>,<=,>=. For example, add hours by
using (DateTime) + (TimeInterval).
Below are instances when SAQL is not automatically converted to SQL, and the recommended SQL alternative.
1016
Analyze Your Data Integrate and Prepare Data for Analysis
toDate() to_timestamp()
date_to_epoch() to_unix_timestamp()
Note: This function always returns Sunday of the week Note: This function always returns Monday of the week
Other first_day or last_day functions Use date_trunc on the different parts: 'year', 'quarter', 'month',
'week'.
1017
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
Note: If you enter a dataset name that is already used, when you create the dataset, Dataset Builder appends a number to
the dataset name. For example, if you entered MyOpportunities, Dataset Builder creates MyOpportunities1. The dataset name
can’t exceed 80 characters.
4. Select a dataflow to add the transformations to. You can select an existing dataflow, or a new dataflow.
a. To add the transformations to an existing dataflow, select Add to existing dataflow, and then select the dataflow from the
list.
b. To add the transformations to a new dataflow, select Add to new dataflow, and then enter a name for the new dataflow.
Note: The option to add to a new dataflow is only available if you have enabled data sync in your org. See Enable Data Sync
and Connections.
5. Click Next.
Dataset Builder opens inside the Dataflow Editor.
1018
Analyze Your Data Integrate and Prepare Data for Analysis
1019
Analyze Your Data Integrate and Prepare Data for Analysis
Note: You can view this dialog box for any object included in the canvas.
8. In the Fields tab, select the fields from which you want to extract data.
To locate fields more quickly, you can search for them or sort them by name or type.
Important: Select at least one field for each object that you add to the canvas. If you add an object and don’t add any of its
fields, the dataflow fails at run time.
9. In the Relationships tab, click Join to add the related objects to the canvas.
When you add a related object, the related object appears on the canvas.
1020
Analyze Your Data Integrate and Prepare Data for Analysis
Warning: When you delete a related object, you also delete all objects that descend from the related object. For example,
if you delete Account shown below, you delete the branch that contains Account and User.
11. For each related object, select the fields from which you want to extract data.
12. To move the entire diagram, select a white space in the canvas and drag it.
If needed, move the diagram to view a different section.
13. When you finish adding objects and fields, click Next.
The transformations for the new dataset are added to the dataflow you selected.
1021
Analyze Your Data Integrate and Prepare Data for Analysis
14. Select the app that will contain the dataset, if it’s not already selected.
15. To view or edit the dataflow, click Edit Dataflow.
Note: To edit the dataflow, you must select the Shared App for the dataset.
16. To run the dataflow and create the dataset, click Create Dataset.
SEE ALSO:
Run a Dataflow
USER PERMISSIONS
1022
Analyze Your Data Integrate and Prepare Data for Analysis
The canvas (1) shows the individual nodes in your dataflow and the links between them. If you can’t find a node, enter the node name
in the search box (2). The node palette (3) has buttons for each type of node. Click one to add it to the canvas. Use the buttons at the
top of the editor (4) to work with the dataflow JSON. Preview and download the underlying JSON or upload an existing JSON file to work
with it in the editor.
The dataflow in this example extracts data from the Salesforce Opportunity, Account, and User objects, augments it together, and creates
a registered dataset. If you also want to extract cases in this dataflow, augment them with case data, and register the result as a new
dataset. Let’s look at how you can use the editor to modify the dataflow.
1.
In CRM Analytics, click the gear icon ( ) and then click Data Manager.
2. Click Manage Dataflows.
3. Click the Dataflows & Recipes tab.
4. To create a dataflow from scratch, click Create Dataflow.
5. To edit an existing dataflow, click the actions button to the right of the dataflow that you want to edit, and select Edit.
1023
Analyze Your Data Integrate and Prepare Data for Analysis
For example, to extract data from a Salesforce object, click the sfdcDigest node ( ).
Note: Node names must be unique within the dataflow and not contain spaces.
8. Enter the node attributes. In this example, you select Case as the source object, and the fields you need. You don’t need an incremental
update or filters.
Note: When you enter attributes that reference objects, fields, or other nodes, click inside the attribute field to see a list that
you can search. Then select from. To see the field list in sfdcDigest nodes, click Select Fields.
1024
Analyze Your Data Integrate and Prepare Data for Analysis
9. Click Create.
The new node appears on the canvas.
Tip: To edit a node on the canvas, click it. To delete a node, hover over it and click the trash can.
10. In the node palette, click the next node you want to add. In this example, you want to augment the case data with user data, so click
1025
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: If a node isn’t where you want it, drag it to wherever you want on the canvas. If it gets crowded, use your scroll wheel to
zoom in and out if your browser supports it, or drag the canvas to move nodes into view.
13. In the node palette, click the next node you want to add. In this example, you want to make the augmented case and user data
Tip: You can drag the output arrow of a source node to draw a link to another node on the canvas.
1026
Analyze Your Data Integrate and Prepare Data for Analysis
16. When you finish editing, click Update Dataflow to update the definition file with your changes.
17. In the Update dataflow dialog, enter a description in the Version History field.
18. Click Update Dataflow.
CRM Analytics validates your dataflow to ensure that you provided all the required attribute values. If there are errors, CRM Analytics
ensures that you can’t continue. Correct the errors it finds before trying again. After CRM Analytics validates the dataflow, it saves
the new version of the dataflow.
19. Click Run Dataflow to run the dataflow right away and create newly defined datasets. Alternatively, you can run the dataflow later
from the Dataflows & Recipes tab of Data Manager.
SEE ALSO:
Why Should I Use Recipes Instead of Dataflows?
Design a Simple Dataset with Dataset Builder
Transformations for CRM Analytics Dataflows
Run a Dataflow
1027
Analyze Your Data Integrate and Prepare Data for Analysis
The dataflow extracts opportunity data from the Opportunity object and extracts the account name from the Account object. For each
extracted object, the dataflow creates a dataset.
The dataflow then transforms the datasets created from the extracted data. First, the dataflow joins the opportunity and account data
into a new dataset. Next, the dataflow filters the records based on the opportunity stage so that the dataset contains only won opportunities.
Each time the dataflow transforms a dataset, it creates a dataset.
Note: If you want to flatten your hierarchy, do so before you join datasets. In this example that requirement means flattening the
Account dataset before joining the Opportunity dataset. If you flatten after the join, the transformation doesn't create the flatten
hierarchy data you expect.
Finally, because you want users to be able to query won opportunities only, you configure the dataflow to register the final dataset only.
However, if you wanted, you could register any dataset created by the dataflow and register as many datasets as you like.
append Transformation
The append transformation combines rows from multiple datasets into a single dataset.
augment Transformation
The augment transformation adds columns to a dataset from another related dataset. The resulting, augmented dataset enables
queries across both related input dataset. For example, you can augment the Account dataset with the User dataset to enable a
query to return account records and the full names of the account owners.
computeExpression Transformation
The computeExpression transformation enables you to add derived fields to a dataset. The values for derived fields aren’t extracted
from the input data source. Instead, CRM Analytics generates the values using a SAQL expression, which can be based on one or
more fields from the input data or other derived fields. For example, you can use an expression to assign a value to a field, concatenate
text fields, or perform mathematical calculations on numeric fields.
1028
Analyze Your Data Integrate and Prepare Data for Analysis
computeRelative Transformation
You can use the computeRelative transformation to analyze trends in your data by adding derived fields to a dataset based on values
in other rows. For example, to analyze sales pipeline trends, create derived fields that calculate the number of days an opportunity
remains in each stage. You can also calculate the changes to the opportunity amount throughout the stages of the opportunity.
delta Transformation
The delta transformation calculates changes in the value of a measure (number) column in a dataset over time. The delta transformation
generates an output column in the dataset to store the delta for each record. Create deltas to make it easier for business analysts to
include them in queries.
digest Transformation
The digest transformation extracts synced connected data in a dataflow. Use it to extract data synced from an external Salesforce
org, or data synced through an external connection. Use the sfdcDigest transformation to extract from your local Salesforce org.
dim2mea Transformation
The dim2mea Transformation creates a new measure based on a dimension. The transformation adds the new measure column to
the dataset. The transformation also preserves the dimension to ensure that lenses and dashboards don’t break if they use the
dimension.
edgemart Transformation
The edgemart Transformation gives the dataflow access to an existing, registered dataset, which can contain Salesforce data, external
data, or a combination of the two. Use this transformation to reference a dataset so that its data can be used in subsequent
transformations in the dataflow. You can use this transformation and the augment transformation together to join an existing dataset
with a new dataset.
export Transformation
The export transformation creates a data file and a schema file from data in a specified source node in your dataflow. After the
dataflow runs, Einstein Discovery users can access these files through the public API.
filter Transformation
The filter transformation removes records from an existing dataset. You define a filter condition that specifies which records to retain
in the dataset.
flatten Transformation
The flatten transformation flattens hierarchical data. For example, you can flatten the Salesforce role hierarchy to implement row-level
security on a dataset based on the role hierarchy.
prediction Transformation
The prediction transformation produces an Einstein Discovery prediction for a dataset. Einstein Discovery uses predictive analytics,
which analyzes historical data (based on data mining, machine learning, and predictive statistical modeling) to identify patterns and
predict future outcomes.
sfdcDigest Transformation
phThe sfdcDigest transformation generates a dataset based on data that it extracts from a Salesforce object. You specify the Salesforce
object and fields from which to extract data. You can choose to exclude particular fields that contain sensitive information or that
aren’t relevant for analysis.
sfdcRegister Transformation
The sfdcRegister transformation registers a dataset to make it available for queries. Users can’t view or run queries against an
unregistered dataset.
sliceDataset Transformation
The sliceDataset transformation removes fields from a dataset in your dataflow, leaving you with a subset of fields for use in a new
dataset or in other transformations. This allows you to create multiple datasets, each with different sets of fields from a single dataset.
1029
Analyze Your Data Integrate and Prepare Data for Analysis
update Transformation
The update Transformation updates the specified field values in an existing dataset based on data from another dataset, which we
call the lookup dataset. The transformation looks up the new values from corresponding fields in the lookup dataset. The transformation
stores the results in a new dataset.
Overriding Metadata Generated by a Transformation
Optionally, you can override the metadata that is generated by a transformation. You can override object and field attributes. For
example, you can change a field name that is extracted from a Salesforce object so that it appears differently in the dataset. To
override the metadata, add the overrides to the Schema section of the transformation in the dataflow definition file.
append Transformation
The append transformation combines rows from multiple datasets into a single dataset.
Note: To append rows in a Data Prep recipe, see Append Node: Stack Rows from Different Sets of Data. To do it in a Data Prep
Classic recipe, see Add Rows in a Recipe with Append.
Consider the following rules when using this transformation.
• This transformation does not remove duplicate records.
• All input dataset must have the same structure—the corresponding columns must be in the same order and have the same name
and field type.
Example: Let’s look at an example. Each month, you create a dataset that contains the month’s sales targets. Now, you want a
holistic view of sales targets for all months. To do that, you create the following dataflow to merge the existing dataset into a single
dataset.
1030
Analyze Your Data Integrate and Prepare Data for Analysis
}
},
"Extract SalesTargets_Month2": {
"action": "edgemart",
"parameters": {
"alias": "SalesTargets_Month2"
}
},
"Extract SalesTargets_Month1": {
"action": "edgemart",
"parameters": {
"alias": "SalesTargets_Month1"
}
},
"Append SalesTargets_Quarter1": {
"action": "append",
"parameters": {
"enableDisjointedSchemaMerge": false,
"sources": [
"Extract SalesTargets_Month1",
"Extract SalesTargets_Month2",
"Extract SalesTargets_Month3"
]
}
},
"Register AllSalesTargets": {
"action": "sfdcRegister",
"parameters": {
"name": "All Sales Targets",
"alias": "AllSalesTargets",
"source": "Append SalesTargets_Quarter1"
}
}
}
After you create the single dataset, you can use date filters to analyze the sales targets by month, quarter, or year.
1031
Analyze Your Data Integrate and Prepare Data for Analysis
Here, the column names are different, and the Canada data has a Currency column. For the dataflow not to fail, select Allow disjoint
schema in the append node in the dataflow editor. If you're working in the dataflow JSON, add the
enableDisjointedSchemaMerge parameter and set its value to true.
When you run the dataflow, the data is merged without the dataflow failing.
The append transformation adds all columns to the dataset and merges values in columns with the same name, such as Name. It also
adds null values in a column for rows that didn’t previously have that column, such as in the Currency column.
Note: If null measure handling in datasets isn’t enabled for your org, append adds zeros in a column for rows that didn’t previously
have that column.
append Parameters
When you define an append transformation in the dataflow JSON, you set the action attribute to append and specify the parameters.
append Parameters
When you define an append transformation in the dataflow JSON, you set the action attribute to append and specify the parameters.
1032
Analyze Your Data Integrate and Prepare Data for Analysis
This table describes the settings for the append node in the dataflow editor.
Allow disjoint schema No Select to allow appending of datasets with different schema. If
this setting isn’t selected, appending datasets with different
schemas causes the dataflow to fail.
This table describes the input parameters for the append transformation in the dataflow JSON.
SEE ALSO:
append Transformation
augment Transformation
The augment transformation adds columns to a dataset from another related dataset. The resulting, augmented dataset enables queries
across both related input dataset. For example, you can augment the Account dataset with the User dataset to enable a query to return
account records and the full names of the account owners.
Note: To add columns from a related object in a Data Prep recipe, see Join Node: Add Related Columns of Data to the Recipe. To
do it in a Data Prep Classic recipe, see Add More Data in a Recipe.
When you create the transformation, you identify each input dataset as the left or right dataset and specify the relationship between
them. CRM Analytics combines all the columns of the left dataset with only the specified columns from the right dataset. (Keep in mind
that each dataset can’t have more than 5,000 columns.) CRM Analytics adds the relationship to column names from the right dataset,
which is useful when the left and right dataset have columns with the same names.
For each record in the left dataset, the augment Transformation transformation performs a lookup to find a matching record in the right
dataset. To match related records, the augment Transformation transformation uses a match condition. You specify the match condition
based on a key from each dataset. A key must be a dimension. A key can be a single-column key or a composite key. For a match condition
based on a composite key, the keys for both dataset must have the same number of columns, specified in the same order.
1033
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: To augment three or more dataset, augment two dataset at a time. For example, to augment three dataset, augment the
first two dataset, and then augment the resulting dataset with the third dataset.
Example: Let’s look at an example of the augment Transformation transformation. In this example, you want to extract data from
the Opportunity and Accounts objects, and then match the data based on the account ID field.
1034
Analyze Your Data Integrate and Prepare Data for Analysis
1035
Analyze Your Data Integrate and Prepare Data for Analysis
"action": "sfdcDigest",
"parameters": {
"fields": [
{"name": "Id"},
{"name": "Name"},
{"name": "Amount"},
{"name": "StageName"},
{”name": "CloseDate"},
{"name": "AccountId"},
{"name": "OwnerId"}
],
"object": "Opportunity"
}
},
"augment_Oppt_Acct": {
"action": "augment",
"parameters": {
"operation": "LookupSingleValue",
"left": "sfdcDigest_Opportunity",
"left_key": [
"AccountId"
],
"relationship": "OpptyAcct",
"right": "sfdcDigest_Account",
"right_key": [
"Id"
],
"right_select": [
"Name"
]
}
},
"Create OpptsAccts": {
"action": "sfdcRegister",
"parameters": {
"alias": "Opportunity_Account",
"source": "augment_Oppt_Acct",
"name": "Opportunity_Account"
}
}
}
After you run the dataflow, CRM Analytics creates and registers the Opportunity_Account dataset. It also adds the relationship as
a prefix to all columns from the right dataset.
1036
Analyze Your Data Integrate and Prepare Data for Analysis
CRM Analytics doesn’t match the last record because the product ID is null. Instead, CRM Analytics inserts a null for the
Price.Pricebook dimension and '0' for the Price.UnitPrice measure. Here’s the resulting dataset after the augment.
1037
Analyze Your Data Integrate and Prepare Data for Analysis
CRM Analytics matches empty-value left keys and empty-value right keys.
Let’s look at an example. You apply the augment transformation on the following datasets, set the relationship to "Price,", and match
the records based on the Id and ProdId fields.
CRM Analytics matches the last record in the Product dataset with the third record in the Price dataset because they both have empty
values (""). Here’s the resulting dataset after the augment.
CRM Analytics matches the records in the Product dataset with records in the Price dataset. Here’s the resulting dataset after the augment.
Handling No Match
If the left key doesn't have a match in the right data stream, CRM Analytics appends the right columns, inserting nulls for dimensions,
including dates, and sets measures based on whether null measure handling is enabled. If null measure handling is enabled, the augment
transformation sets the measures to null. Otherwise, it sets the measures to '0'.
Let’s look at an example where null measure handling isn’t enabled. You apply the augment transformation on the following datasets,
set the relationship to "Price,", and match the records based on the Id and ProdId fields.
1038
Analyze Your Data Integrate and Prepare Data for Analysis
Because no keys match, CRM Analytics doesn’t match any records in the Product dataset with records in the Price dataset. Here’s the
resulting dataset after the augment.
Note: Each time you run the dataflow, CRM Analytics can return different results depending on the returned row.
For example, you apply the augment transformation on these datasets, set the relationship to "Price," set the operation to
LookupSingleValue, and match the records based on the Id and ProdId fields.
Although there are multiple rows for Prod3 in the Price dataset, CRM Analytics randomly chooses one matching row and returns
values based on that row. Here’s the resulting dataset after the augment if CRM Analytics chooses the first Prod3 row.
• LookupMultiValue
CRM Analytics returns results from all matched rows.
For example, you apply the augment transformation on these datasets, set the relationship to "Price," set the operation to
LookupMultiValue, and match the records based on the Id and ProdId fields.
1039
Analyze Your Data Integrate and Prepare Data for Analysis
Because the lookup returns multiple rows for Prod3, the dimension Price.Pricebook field in the resulting dataset becomes
a multivalue field, showing all dimension values. The measure field Price.UnitPrice contains 1500, which is the sum of 800
and 700. Here’s the resulting dataset after the augment.
Note: If you are augmenting date fields from the right dataset, the LookupMultiValue operation can lead to fields
containing multiple date values, which can give unexpected results. We recommend that you use the LookupSingleValue
operation when augmenting date fields, or augment the date fields in a separate LookupSingleValue augment node.
SEE ALSO:
augment Transformation
augment Parameters
When you define an augment transformation, you set the action attribute to augment and specify the parameters.
The following table describes the input parameters.
left Yes Node in the dataflow definition file that identifies the left dataset. This is one of
two input sources for this transformation.
left_key Yes Key column in the left dataset used to augment the dataset. If you use a
composite key, the left and right keys must have the same number of columns
in the same order. For a composite key, use the following syntax:
[ "Key Column1", "Key Column2", …, "Key ColumnN" ]
The left or right key can’t be a multivalue field. A key must be a dimension.
1040
Analyze Your Data Integrate and Prepare Data for Analysis
relationship Yes Relationship between the left and right dataset. The dataflow adds the
relationship to the beginning of the right column names in the output dataset
to make the column names unique and descriptive. Can contain only letters,
numbers, dots, underscores, and dashes.
right_select Yes An array of column names from the right dataset that you want to include in
the output dataset. The dataflow adds the relationship as a prefix to the column
name to determine the name of the right column in the output dataset.
right_key Yes Key column in the right dataset used to augment the dataset. If you use a
composite key, the left and right keys must have the same number of columns
in the same order.
The left or right key can’t be a multivalue field. A key must be a dimension.
SEE ALSO:
augment Transformation
computeExpression Transformation
The computeExpression transformation enables you to add derived fields to a dataset. The values for derived fields aren’t extracted from
the input data source. Instead, CRM Analytics generates the values using a SAQL expression, which can be based on one or more fields
from the input data or other derived fields. For example, you can use an expression to assign a value to a field, concatenate text fields,
or perform mathematical calculations on numeric fields.
Note: To create a calculated column based on a formula in a Data Prep recipe, see Formula Transformation: Create a Calculated
Column Based on an Expression. To do it in a Data Prep Classic recipe, see Add a Formula Field in a Recipe.
The computeExpression transformation and computeRelative transformation are similar, but they have a key difference. The
computeExpression transformation performs calculations based on other fields within the same row. The computeRelative transformation
performs calculations based on the previous and next values of the same field in other rows.
Consider these guidelines when creating a computeExpression transformation.
• You can include only the following SAQL operators and functions in the expression:
– Arithmetic operators
– Case operator
– String operator
– Date functions
• Multivalue fields aren’t supported. The dataflow fails if you include a multivalue field in the SAQL Expression parameter.
• The values of the derived field must match its specified type. For example, set the type of the derived field to Text if the values
are strings.
1041
Analyze Your Data Integrate and Prepare Data for Analysis
• CRM Analytics calculates the values of derived fields in the order in which they are listed in the JSON. Thus, if you create a derived
field based on other derived fields in the same computeExpression transformation, the input-derived fields must be listed first. For
example, Derived_A must be listed before Derived_B in the following computeExpression transformation JSON snippet:
"CreateDerivedFields": {
"action": "computeExpression",
"parameters": {
"source": "sourceNode",
"mergeWithSource": false,
"computedFields": [
{
"name": "Derived_A",
"type": "Text",
"label": "Derived Field A",
"saqlExpression": "\"hello \""},
{
"name": "Derived_B",
"type": "Text",
"label": "Derived Field B Dependent on Field A",
"saqlExpression": "Derived_A + \"world\""}
]
}
}
• You can choose whether the resulting dataset includes only the derived fields, or includes the input and derived fields.
• If the expression produces an overflow value for a numeric field, the transformation sets the field value to the default value specified
for the column. If no default value is set and null handling is disabled, the field value is set to 0. If no default value is set and null
handling is enabled, it’s set to null. (See the documentation about null measure handling.) Also, if the expression defines multiple
columns and the expression produces an overflow value, all generated fields are set to the default value. To isolate the issue to the
field with the overflow value, create a separate computeExpression transformation for each defined column.
Example: Let’s look at an example. You want to create a dataset based on Salesforce opportunity data. You create a dataflow
that extracts the Id and Amount fields from the Opportunity object. In addition, you also want to add the following derived fields
to the dataset: ModifiedId, SalesTax, FinalPrice, and ValueCategory. For the derived fields, you:
• Append “SFDC” to each opportunity Id to get a new modified Id.
• Calculate the sales tax based on an 8% tax rate.
• Calculate the final price by adding the amount and sales tax.
• Categorize opportunities into low-, medium-, and high-value buckets based on the calculated final price.
You create the following dataflow definition.
{
"salesData": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{"name": "Amount"},
{"name": "Id"}]}},
"Derived_Fields": {
"action": "computeExpression",
"parameters": {
"source": "salesData",
1042
Analyze Your Data Integrate and Prepare Data for Analysis
"mergeWithSource": true,
"computedFields": [
{
"name": "ModifiedId",
"type": "Text",
"saqlExpression": "\"SFDC\" + Id"},
{
"name": "SalesTax",
"type": "Numeric",
"precision": 18,
"defaultValue": "0",
"scale": 5,
"saqlExpression": "Amount * 0.08"},
{
"name": "FinalPrice",
"type": "Numeric",
"precision": 18,
"defaultValue": "0",
"scale": 5,
"saqlExpression": "Amount + SalesTax"},
{
"name": "ValueCategory",
"type": "Text",
"saqlExpression": "case when FinalPrice < 1000 then \"Low\" when
FinalPrice >= 1000 and FinalPrice < 2000 then \"Medium\" else \"High\" end"}
]
}
},
"Register_CategorizedSales": {
"action": "sfdcRegister",
"parameters": {
"alias": "Categorized_Sales",
"name": "Categorized_Sales",
"source": "Derived_Fields" }
}
}
computeExpression Parameters
When you define a computeExpression transformation, you set the action attribute to computeExpression. You also specify
the parameters for the input source and the expression used to generate the values.
computeExpression Parameters
When you define a computeExpression transformation, you set the action attribute to computeExpression. You also specify the
parameters for the input source and the expression used to generate the values.
Parameters
You can specify parameters in the following sections of the computeExpression node: parameters and computedFields.
This table describes the parameters in the parameters section.
1043
Analyze Your Data Integrate and Prepare Data for Analysis
mergeWithSource No Indicates whether the input fields are included with the derived fields in the resulting
dataset. When true, the resulting dataset contains all input fields from the source
and the newly generated derived fields. When false, the resulting dataset contains
the derived fields only. Default is true.
computedFields Yes Attributes and expression used to generate derived fields in the dataset.
computedFields
This table describes the attributes in the computedFields section. It also describes optional attributes that you can provide to
override the field metadata to make the data appear differently in a dataset. For example, CRM Analytics can replace null values in a field
with a default value.
type Yes CRM Analytics field type associated with the field. Valid types are Text, Numeric, or
Date.
Example:
"type": "Text"
label No The display name of the generated field that appears in the CRM Analytics user
interface. Can be up to 255 characters. Defaults to input field name if not specified.
saqlExpression Yes SAQL expression used to calculate the value for the derived field. The expression
can be based on input fields or other derived fields in the transformation.
Example:
"saqlExpression":"toDate(birth_day, \"yyyy-M-d\")"
If a field name in a SAQL expression contains characters other than letters, numbers,
or underscores, enclose the name in single quotes. For example, field names resulting
from an augment are prefixed with the relationship name and a dot, and must be.
enclosed in single quotes.
"saqlExpression":"'AccountId.Sales_Q4__c'-'AccountId.Sales_Q3__c'"
format Yes (for Date Format of the derived date field. For information about formats, see the Analytics
fields only) External Data Format Developer Guide.
fiscalMonthOffset No For date fields only. The difference, in months, between the first month of the fiscal
year and the first month of the calendar year (January). For example, if the fiscal
1044
Analyze Your Data Integrate and Prepare Data for Analysis
isYearEndFiscalYear No For date fields only, when fiscalMonthOffset is greater than 0. Indicates
whether the fiscal year is the year in which the fiscal year ends or begins. Because
the fiscal year can start in one calendar year and end in another, you specify which
year to use for the fiscal year.
• If true, then the fiscal year is the year in which the fiscal year ends. The default
is true.
• If false, then the fiscal year is the year in which the fiscal year begins.
Example:
"isYearEndFiscalYear": true
CRM Analytics doesn’t support fields with different isYearEndFiscalYear
values in the same dataset. Using different isYearEndFiscalYear values
can produce unexpected results when you filter by relative fiscal date ranges. We
recommend that you set the same value for all isYearEndFiscalYear
attributes in a dataset.
firstDayOfWeek No For date fields only. The first day of the week for the calendar year and, if applicable,
the fiscal year. Use 0 to set the first day to be Sunday, 1 to set the first day to be
Monday, and so on. Use -1 to set the first day to be on January 1. The default is -1.
Example:
"firstDayOfWeek": 0
CRM Analytics doesn’t support fields with different firstDayOfWeek values
in the same dataset. Using different firstDayOfWeek values can produce
unexpected results when you filter by relative week date ranges. We recommend
that you set the same value for all firstDayOfWeek attributes in a dataset.
precision Yes (for The maximum number of digits in a numeric value, or the length of a text value.
Numeric fields For numeric values: Includes all numbers to the left and to the right of the decimal
only) point (but excludes the decimal point character). Value must be from 1 to 16. For
text values: Value defaults to 255 characters, and must be from 1 to 32,000 characters.
1045
Analyze Your Data Integrate and Prepare Data for Analysis
scale Yes (for The number of digits to the right of the decimal point in a numeric value. Must be
Numeric fields less than the precision value. Value must be from 1 to 15 characters.
only) Example:
"scale": 2
defaultValue No For text and numeric fields that can be null. Default value that replaces a null value
for the specified field. Enter the default value as a string.
Example:
"defaultValue": "0"
SEE ALSO:
computeExpression Transformation
computeRelative Transformation
You can use the computeRelative transformation to analyze trends in your data by adding derived fields to a dataset based on values
in other rows. For example, to analyze sales pipeline trends, create derived fields that calculate the number of days an opportunity
remains in each stage. You can also calculate the changes to the opportunity amount throughout the stages of the opportunity.
Note: To create a calculated column across rows based on a formula in a Data Prep recipe, see Formula Transformation: Create
a Calculated Column Based on an Expression.
The computeExpression transformation and computeRelative transformation transformations are similar, but the computeExpression
transformation performs calculations based on fields within the same row. The computeRelative transformation performs calculations
based on the same field in other rows—particularly the current, first, previous, or next rows.
When you define a computeRelative transformation, you specify a source transformation as the input, partition the records, and sort the
records within each partition. For example, you can use sfdcDigest transformation to extract opportunity history records, and then use
computeRelative transformation to calculate changes in each opportunity over time. You can partition opportunity history records by
opportunity ID, and then chronologically sort records within each partition to correctly identify the previous and next values.
Example: Let’s look at an example. To perform trending analysis on the sales pipeline, create a dataflow that contains the following
transformations.
sfdcDigest transformation
Extracts the following data from the OpportunityHistory object.
1046
Analyze Your Data Integrate and Prepare Data for Analysis
computeRelative transformation
Performs these tasks:
• Partitions the extracted records by opportunity ID.
• Within each partition, sorts the extracted records by CreatedDate in ascending order. Sorting by CreatedDate ensures that the
changes that occur for each opportunity are listed in chronological order.
• Adds the following derived fields to the final dataset.
– OpportunityCreatedDate
Determines the date that the opportunity was first created. You can use this date with the actual close date to determine
the number of days required to close the sale. The goal is to shorten the sales cycle to recognize revenue.
– AmountPrev
Determines the previous amount of the opportunity. You can use this field to determine if the values of opportunities are
increasing or decreasing, which can affect whether you hit your sales targets.
– CloseDatePrev
Determines the previous expected close date for the opportunity. You can use this field to analyze how the expected close
date changes over the sales cycle of the opportunity. If the expected close date keeps getting pushed out, identify the
issues that are causing the longer sales cycle.
– AmountChange
Uses a SAQL expression to calculate the percentage change of the opportunity amount from its previous amount.
– AmountChangeDirection
Uses a SAQL expression to generate a text value to show the direction in which an opportunity amount has changed: Up,
Down, or No Change.
sfdcRegister transformation
Registers the final dataset that contains the extracted fields from the sfdcDigest transformation and the derived fields from
computeRelative transformation.
You create this dataflow definition.
{
"extractOppHistory": {
"action": "sfdcDigest",
"parameters": {
"object": "OpportunityHistory",
"fields": [
{"name": "OpportunityId"},
{"name": "CreatedDate"},
{"name": "StageName"},
1047
Analyze Your Data Integrate and Prepare Data for Analysis
{"name": "Amount"},
{"name": "CloseDate"}
]
}
},
"computeTrending": {
"action": "computeRelative",
"parameters": {
"source": "extractOppHistory",
"partitionBy": ["OpportunityId"],
"orderBy": [
{
"name": "CreatedDate",
"direction": "asc"
}
],
"computedFields": [
{
"name": "OpportunityCreatedDate",
"label": "Opportunity Created Date",
"description": "Determines the date that the opportunity was first created.",
"expression": {
"sourceField": "CreatedDate",
"offset": "first()",
"default": "current()"
}
},
{
"name": "AmountPrev",
"label": "Previous Amount",
"description": "Determines the previous amount of the opportunity",
"expression": {
"sourceField": "Amount",
"offset": "previous()",
"default": "null"
}
},
{
"name": "CloseDatePrev",
"label": "Previous Close Date",
"description": "Determines the previous expected close date for the
opportunity",
"expression": {
"sourceField": "CloseDate",
"offset": "previous()",
"default": "current()"
}
},
{
"name": "AmountChange",
"label": "Amount % Change",
"description": "Determines percentage change from previous amount",
"expression": {
1048
Analyze Your Data Integrate and Prepare Data for Analysis
"saqlExpression": "(current(Amount)-previous(Amount))/previous(Amount)*100",
"type": "Numeric",
"scale": 2,
"default": "null"
}
},
{
"name": "AmountChangeDirection",
"label": "Amount Change Direction",
"description": "Determines text to indicate direction of change",
"expression": {
"saqlExpression": "case when current(Amount)>previous(Amount) then \"Up\"
when current(Amount)<previous(Amount) then \"Down\" else \"No Change\" end",
"type": "Text",
"default": ""
}
}
]
}
},
"Register_OppportunityHistory_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "SalesPipelineTrending1",
"name": "Sales Pipeline Trending1",
"source": "computeTrending"
}
}
}
The dataflow runs and creates the dataset with the new derived fields.
Notice that CRM Analytics partitions the records by opportunity ID and then sorts the records in ascending order based on the
CreatedDate field within each partition. CRM Analytics can now use the previous and next rows within each partition to determine
changes in field values in the dataset.
computeRelative Parameters
When you define a computeRelative transformation, you set the action attribute to computeRelative. You also specify the
parameters for the input source, partition-by field, sort field, and derived field definitions.
computeRelative Parameters
When you define a computeRelative transformation, you set the action attribute to computeRelative. You also specify the
parameters for the input source, partition-by field, sort field, and derived field definitions.
1049
Analyze Your Data Integrate and Prepare Data for Analysis
Parameters
You can specify parameters in the following sections of the computeRelative node.
The following table describes the parameters in the parameters section.
partitionBy Yes API name of the field used to partition the records in the dataset. Specify one
partition-by field only.
orderBy Yes Field used to sort the records within each partition and the sort order: ascending
(asc) or descending (desc). Specify one sort field only.
Example:
"orderBy": [
{
"name":"CreatedDate",
"direction":"asc"
}
]
computedFields Yes A list of definitions for derived fields. Derived fields can be based on a source
field or on a SAQL expression.
Example showing derived fields based on a source field and on a SAQL expression:
"computedFields": [
{
"name": "PreviousAmount",
"label": "Previous Amount",
"description": "Previous amount of
opportunity",
"expression": {
"sourceField": "Amount",
"offset": "previous()",
"default": "null"
}
},
{
"name": "AmountChange",
"label": "Amount % Change",
"description": "Percentage change from
previous amount",
"expression": {
"saqlExpression":
"(current(Amount)-previous(Amount))/previous(Amount)*100",
"type": "Numeric",
"scale": 2,
"default": "null"
}
1050
Analyze Your Data Integrate and Prepare Data for Analysis
}
]
computedFields
The following table describes the attributes in the computedFields section.
label No The display name of the derived field that appears in the CRM Analytics user
interface. Can be up to 255 characters. Defaults to the API name if not specified.
expression Yes Expression attributes used to calculate the value for the derived field. The
expression can be based on input fields or other derived fields in the
transformation.
Example:
"expression": {
"sourceField": "CloseDate",
"offset": "previous()",
"default": "01-01-1970"
expression
The following table describes the attributes in the expression section when creating a derived field based on a source field.
offset Yes The function used in the expression. You can use the following functions:
current()
Gets the value from the current record.
Example:
"offset": "current()"
first()
Gets the value from the first record in the partition, like the first CreateDate
for an opportunity.
Example:
"offset": "first()"
1051
Analyze Your Data Integrate and Prepare Data for Analysis
next()
Gets the value from the next record.
Example:
"offset": "next()"
previous()
Gets the value from the previous record.
Example:
"offset": "previous()"
Derived fields are computed in the order that they’re defined. The calculation
of a derived field can be based on the value from another derived field as long
as it has already been defined. For example, next() can’t access the value of
a derived field in the next row.
To get the correct results when using the previous() and next()
functions, the computeRelative transformation requires you to sort the records.
default Yes (for numeric fields The default value if one can’t be calculated. For example, you can specify a default
only) value when no previous or next value exists. You can insert a constant value or
current() as a default value.
Examples:
"default": "3000-01-01T00:00:00.000Z"
"default": "current()"
The following table describes the attributes in the expression section when creating a derived field based on a SAQL expression.
You can also use the SAQL case operator in the expression.
1052
Analyze Your Data Integrate and Prepare Data for Analysis
type Yes CRM Analytics field type associated with the field. Valid types are Date, Numeric,
and Text.
Example:
"type": "Text"
scale No The number of digits to the right of the decimal point in a numeric value.
Example:
"scale": 2
default Yes (for numeric fields The default value if one can’t be calculated.
only) Example:
"default": "null"
delta Transformation
The delta transformation calculates changes in the value of a measure (number) column in a dataset over time. The delta transformation
generates an output column in the dataset to store the delta for each record. Create deltas to make it easier for business analysts to
include them in queries.
Note: The delta transformation isn’t supported when null measure handling is enabled and dataflows containing delta
transformations fail. Use computeRelative and computeExpression transformations instead in your dataflows, to
calculate changes in measure (number) values over time. For an example, see Enable Null Measure Handling in Orgs Created Before
Spring ’17.
The delta transformation calculates each delta value by comparing the value in each record with the value in the previous record. Because
records aren’t always sorted, the delta transformation orders the records before computing the delta values. To do this action, the
transformation sorts the data by the specified dimension (text column), and then by the specified epoch date column.
Note: When CRM Analytics processes dates, it creates the following epoch date columns for each date processed:
1053
Analyze Your Data Integrate and Prepare Data for Analysis
Example: Let’s look at an example. You want to create an OppHistoryDelta dataset that contains opportunity history from the
OpportunityHistory object and also calculates the deltas for opportunity amounts.
The OpportunityHistory object contains the following data.
1054
Analyze Your Data Integrate and Prepare Data for Analysis
"source": "Calculate_Delta"
}
}
}
To calculate the delta values for each opportunity amount, the delta transformation sorts the records by the dimension (text
column) (OpportunityId) first, and then by time (CloseDate_day_epoch) as shown here.
After the records are sorted, for each dimension (text column) (OpportunityId), the transformation compares the previous value
to the next value to determine the delta for each record. The transformation creates the following dataset.
For the first record of each dimension (text column), the transformation inserts ‘0’ for the delta value.
Note: If an opportunity contains multiple changes on the same day, you must sort the records on a shorter time interval.
In this case, sort on CloseDate_sec_epoch column. Otherwise, records aren’t sorted correctly, which means delta values are
incorrect.
delta Parameters
When you define a delta transformation, you set the action attribute to delta and specify the parameters.
delta Parameters
When you define a delta transformation, you set the action attribute to delta and specify the parameters.
This table describes the input parameters.
1055
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
delta Transformation
digest Transformation
The digest transformation extracts synced connected data in a dataflow. Use it to extract data synced from an external Salesforce org,
or data synced through an external connection. Use the sfdcDigest transformation to extract from your local Salesforce org.
Example: Let’s say you extract opportunity data from your company’s org in Arizona using a Salesforce external connection. To
use this data in your dataflow, add a digest node specifying the connection name, object, and fields.
"Extract Arizona Opportunities": {
"action": "digest",
"parameters": {
"connectionName": "Arizona_Sales",
"object": "Opportunity",
"fields": [
{"name": "CloseDate"},
{"name": "Amount"},
{"name": "StageName"},
{"name": "Name"}
],
}
},
digest Parameters
When you define a digest transformation, you set the action attribute to digest and specify the parameters.
digest Parameters
When you define a digest transformation, you set the action attribute to digest and specify the parameters.
This table describes the input parameters.
1056
Analyze Your Data Integrate and Prepare Data for Analysis
dim2mea Transformation
The dim2mea Transformation creates a new measure based on a dimension. The transformation adds the new measure column to the
dataset. The transformation also preserves the dimension to ensure that lenses and dashboards don’t break if they use the dimension.
Note: To convert a dimension to a measure in a Data Prep recipe, see Text to Number Transformation: Convert the Column Type.
To do it in a Data Prep Classic recipe, see Convert a Dimension Field Type to Measure.
During the column type conversion, the Dimension to Measure transformation rounds decimals to the nearest whole number. For
example, 300.2939 becomes 300.
If the transformation cannot create a measure from a dimension, the transformation populates the measure with the specified default
value. If no default value is provided, the transformation inserts ‘0.’
Example: Let’s look at an example. Your Opportunity object contains a custom text field called StageVal__c, which contains the
opportunity amount at a particular stage. Because this is a text field, CRM Analytics loads this data as a dimension. However, you’d
like to create a measure from this dimension to enable users to perform calculations on stage amount.
You create the following dataflow definition.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "StageVal__c" }
]
}
},
"Create_Measure_From_Dimension": {
"action": "dim2mea",
"parameters": {
"dimension": "StageVal__c",
"measure": "StageValue",
"measureDefault": "0",
"measureType": "long",
"source": "Extract_Opportunities"
}
1057
Analyze Your Data Integrate and Prepare Data for Analysis
},
"Register_The_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OpportunitiesWithConvertedMeasure",
"name": "OpportunitiesWithConvertedMeasure",
"source": "Create_Measure_From_Dimension"
}
}
}
dim2mea Parameters
When you define a dim2mea transformation, you set the action attribute to dim2mea and specify the parameters.
dim2mea Parameters
When you define a dim2mea transformation, you set the action attribute to dim2mea and specify the parameters.
The following table describes the input parameters:
1058
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
dim2mea Transformation
edgemart Transformation
The edgemart Transformation gives the dataflow access to an existing, registered dataset, which can contain Salesforce data, external
data, or a combination of the two. Use this transformation to reference a dataset so that its data can be used in subsequent transformations
in the dataflow. You can use this transformation and the augment transformation together to join an existing dataset with a new dataset.
Note: To pull data from an existing dataset in a Data Prep recipe, see Create a Recipe with Data Prep. To do it in a Data Prep Classic
recipe, see Create a Recipe with Data Prep Classic.
Example: Let’s look at an example. You would like to compare the final sales amount against the opportunity amount to determine
if heavy discounts were offered to close deals. You previously created and registered the FinalSales dataset. The FinalSales dataset
contains the final sale amount of each opportunity that was closed and won.
You would now like to create a dataset that contains opportunity information from the Opportunity object. Then, you would like
to join the data from the existing FinalSales dataset with the Opportunity dataset.
You create the following dataflow definition.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" }
]
}
},
"Extract_Final_Sales_Data": {
"action": "edgemart",
"parameters": { "alias": "FinalSales" }
},
1059
Analyze Your Data Integrate and Prepare Data for Analysis
"Combine_Opportunities_FinalSales": {
"action": "augment",
"parameters": {
"left": "Extract_Opportunities",
"left_key": [ "Id" ],
"relationship": "Opportunity",
"right": "Extract_Final_Sales_Data",
"right_key": [ "OppID" ],
"right_select": [ "SaleAmount" ]
}
},
"Register_Opportunity_FinalSales_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OpportunityVersusFinalSales",
"name": "OpporunityVersusFinalSales",
"source": "Combine_Opportunities_FinalSales"
}
}
}
edgemart Parameters
When you define an edgemart transformation, you set the action attribute to edgemart and specify the parameters.
edgemart Parameters
When you define an edgemart transformation, you set the action attribute to edgemart and specify the parameters.
The following table describes the input parameter:
SEE ALSO:
edgemart Transformation
export Transformation
The export transformation creates a data file and a schema file from data in a specified source node in your dataflow. After the dataflow
runs, Einstein Discovery users can access these files through the public API.
Note: The export transformation is available in Salesforce orgs that have Einstein Discovery enabled.
When you add an export transformation to a dataflow, you specify a source and a target parameter. The source is the node in the dataflow
that outputs the data you want to export, and the target is Einstein Discovery. You also specify a user, which determines who can access
the data in Einstein Discovery. If the source is a dataset configured with a security predicate, CRM Analytics applies the predicate based
on the specified user. For example, if the security predicate allows the user to access only dataset records that they own, then only those
dataset records are exported to Einstein Discovery.
1060
Analyze Your Data Integrate and Prepare Data for Analysis
Example: Here’s an example. Let’s say your dataflow contains an sfdcDigest node, ExtractOpportunities, which extracts
all fields from the Opportunity object. To make this data available in Einstein Discovery, add an export node to the dataflow,
specifying the source node and a target of EinsteinDiscovery.
"ExportOpportunities": {
"action": "export",
"parameters": {
"source": "ExtractOpportunities",
"target": "EinsteinDiscovery",
"userId": "005R0000000IUNDIA4"
}
}
Note: When you add an export node in the dataflow editor, you can search for the user by name in the User field.
Note: Multivalue dimensions, for example, those used in multi-select picklists, are not included in the export file.
export Parameters
Add an export transformation to a dataflow either in the dataflow editor, or directly in the JSON dataflow definition file. The parameters
you specify are the same for both methods.
export Parameters
Add an export transformation to a dataflow either in the dataflow editor, or directly in the JSON dataflow definition file. The parameters
you specify are the same for both methods.
Note: The export transformation is available in Salesforce orgs that have Einstein Discovery enabled.
1061
Analyze Your Data Integrate and Prepare Data for Analysis
In dataflow editor: Target Yes The destination for the exported data.
In dataflow JSON: target In the dataflow editor, select Einstein Discovery.
In the dataflow definition file, specify EinsteinDiscovery.
In dataflow editor: User Yes The Id of the user who can access the data in Einstein Discovery.
In dataflow JSON: userId In the dataflow editor, you can search for the user by name in this field.
filter Transformation
The filter transformation removes records from an existing dataset. You define a filter condition that specifies which records to retain in
the dataset.
Note: To filter rows in a Data Prep recipe, see Filter Node: Filter Rows. To do it in a Data Prep Classic recipe, see Add a Filter in a
Recipe.
Example: Let’s look at an example. You want to create a dataset that contains only opportunities that were Closed Won. First,
you extract all opportunities from the Opportunity object. Next, you filter the records so that you only include opportunities with
a Closed Won stage name.
You create the following dataflow.
1062
Analyze Your Data Integrate and Prepare Data for Analysis
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Filter_Opportunities": {
"action": "filter",
"parameters": {
"filter": "StageName:EQ:Closed Won",
"source": "Extract_Opportunities"
}
},
"Register_My_Won_Oppportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "MyWonOpportunities",
"name": "MyWonOpportunities",
"source": "Filter_Opportunities"
}
}
}
For more complex filters, you can use SAQL in a filter node.
Depending on your need, you can filter Salesforce object records at different levels:
• Transformation level: To filter a stream of data loaded into a dataset, add a filter transformation to the dataflow. Use a filter
transformation instead of an sfdcDigest transformation filter because complex filters in an sfdcDigest transformation impact
global filters. To reduce the amount of data processing downstream, add the filter transformation as early as possible in the
dataflow.
• Connection level: To prevent Salesforce records from being loaded into any dataset, add the filter on the connected object.
You can add a filter in the sync settings for the connected Salesforce object.
1063
Analyze Your Data Integrate and Prepare Data for Analysis
This table describes the input parameters for the filter transformation in the dataflow JSON.
Note: You can include either the filter parameter or the saqlFilter parameter in a filter node in the dataflow JSON,
but not both.
SEE ALSO:
filter Transformation
filter Expression Syntax
You create a filter expression in the filter transformation based on one or more dimensions in a dataset. You can use a standard filter
expression or a SAQL filter expression.
Note:
• String comparisons in a filter expression are case-sensitive.
1064
Analyze Your Data Integrate and Prepare Data for Analysis
• When you filter on a Salesforce ID field extracted in an upstream sfdcDigest node, use 18-character ID values in your filter
expression. sfdcDigest nodes extract 18-character IDs, and the filter transformation performs string comparisons on ID fields.
Example: RecordTypeId:EQ:0126A0000016QfyQAE
To use a standard filter expression, deselect the Use SAQL option in the dataflow editor, or use the filter parameter in the dataflow
JSON. You can use these types of filter expressions.
dim:R:val0:val1 True if the left dimension falls within the specified range between
val0 and val1.
Dataflow editor example: EmployeeId:R:100:1000
Dataflow JSON example: "filter":
"EmployeeId:R:100:1000"
dim:R:val true if the dimension is greater than or equal to the value based
on binary sort order. For example, value is true when the
dimension is 'City' and the value is 'Anderson' because ' 'City' >
'Anderson').
Dataflow editor example: LastName:R:Li
Dataflow JSON example: "filter": "LastName:R:Li"
dim:R::val True if the dimension is less than or equal to the value based on
binary sort order.
Dataflow editor example: LastName:R::Levy
Dataflow JSON example: "filter":
"LastName:R::Levy"
dim:EQ:val1|val2 True if the dimension equals values val1 or val2. This filter
expression uses the logical OR operator ( | ). You can compare the
dimension value against more than 2 values. For example, to
compare against 3 values, use the following syntax:
dim1:EQ:val1|val2|val3.
Dataflow editor example: Lead
Status:EQ:Open|Contacted
1065
Analyze Your Data Integrate and Prepare Data for Analysis
dim1:EQ:val1,dim2:EQ:val2 True if dimension dim1 equals value val1 and dimension dim2
equals value val2. This filter expression uses the logical AND
operator ( , ). You can compare more than 2 dimensions. For
example, to compare 3 dimensions, use the following syntax:
dim1:EQ:val1,dim2:EQ:val2,dim3:EQ:val3.
Dataflow editor example: Lead
Status:EQ:Qualified,Rating:EQ:Hot
Dataflow JSON example: "filter": "Lead
Status:EQ:Qualified,Rating:EQ:Hot"
To use a SAQL filter expression, select the Use SAQL option in the dataflow editor, or use the saqlFilter parameter in the dataflow
JSON. Use the SAQL filter statement in your expression without the a = filter a by part. See
Example: This example returns rows where the Stage Name field contains Proposal/Price Quote or
Negotiation/Review.
Dataflow editor: StageName in ["Proposal/Price Quote", "Negotiation/Review"]
Dataflow JSON: "saqlFilter": "StageName in [\"Proposal/Price Quote\",
\"Negotiation/Review\"]"
For complete information about SAQL operators, see Analytics SAQL Developer Guide.
SEE ALSO:
filter Transformation
flatten Transformation
The flatten transformation flattens hierarchical data. For example, you can flatten the Salesforce role hierarchy to implement row-level
security on a dataset based on the role hierarchy.
Note: Flatten your hierarchy before you join datasets. For example, if you want a flattened hierarchy in data joined from Account
and Opportunity objects, flatten the Account dataset before joining the Opportunity dataset. If you flatten after the join, the
transformation doesn’t create the flatten hierarchy data you expect.
When you configure the flatten transformation to flatten a hierarchy, you specify the field that contains every node in the hierarchy and
the field that contains their corresponding parent based on the hierarchy. The flatten transformation generates one record for each
hierarchy node, which we refer to as the self-ID. Each record contains two generated columns that store the hierarchy for each self-ID
node. One column contains a comma-separated list of all ancestors for each node in the hierarchy. The other column contains the
hierarchy path.
To see how ancestors are stored, review the Roles and RolePath columns in the following flattened dataset.
1066
Analyze Your Data Integrate and Prepare Data for Analysis
You can also configure the flatten transformation to include the self-ID node in the generated hierarchy columns. The following dataset
shows the self-ID in bold.
If a hierarchy is incomplete or contains a circular relationship, the Role and Role Path values aren’t calculated. For example:
• If Regional Manager 1 isn’t present in the dataset, a flattened hierarchy isn’t generated for Salesperson 1 and Salesperson 2.
• If Salesperson 1 reports to Regional Manager 1, who reports to Vice President 1, who reports to Salesperson 1, a flattened hierarchy
isn’t generated for these roles.
Example: Let’s look at an example. You want to create a dataset that contains all opportunities. For each opportunity, you want
to include user and role information about the opportunity owner. Also, to implement row-level security based on the role hierarchy,
each opportunity record must also contain a list of all ancestors above each opportunity owner based on the role hierarchy. To
generate the list of ancestors, use the flatten transformation to flatten the role hierarchy.
You create the following dataflow definition file:
{
"Extract_Opportunity": {
"action": "sfdcDigest",
1067
Analyze Your Data Integrate and Prepare Data for Analysis
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Extract_User": {
"action": "sfdcDigest",
"parameters": {
"object": "User",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Department" },
{ "name": "UserRoleId" }
]
}
},
"Extract_UserRole": {
"action": "sfdcDigest",
"parameters": {
"object": "UserRole",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "ParentRoleId" }
]
}
},
"Flatten_UserRole": {
"action": "flatten",
"parameters": {
"source": "Extract_UserRole",
"self_field": "Id",
"parent_field": "ParentRoleId",
"multi_field": "Roles",
"path_field": "RolePath",
"include_self_id":false
}
},
"Augment_User_FlattenUserRole": {
"action": "augment",
"parameters": {
"left": "Extract_User",
"left_key": [ "UserRoleId" ],
"relationship": "Role",
"right": "Flatten_UserRole",
"right_key": [ "Id" ],
1068
Analyze Your Data Integrate and Prepare Data for Analysis
"right_select": [
"Id",
"Name",
"Roles",
"RolePath"
]
}
},
"Augment_Opportunity_UserWithRoles": {
"action": "augment",
"parameters": {
"left": "Extract_Opportunity",
"left_key": [ "OwnerId" ],
"right": "Augment_User_FlattenUserRole",
"relationship": "Owner",
"right_select": [
"Name",
"Department",
"Role.Id",
"Role.Name",
"Role.Roles",
"Role.RolePath"
],
"right_key": [ "Id" ]
}
},
"Register_OpportunityWithRoles_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OppRoles",
"name": "OppRoles",
"source": "Augment_Opportunity_UserWithRoles",
"rowLevelSecurityFilter": "'Owner.Role.Roles' == \"$User.UserRoleId\" || 'OwnerId'
== \"$User.Id\""
}
}
}
To flatten the Salesforce role hierarchy, the flatten transformation uses these input fields from the UserRole object.
• Id—Id identifies each node in the Salesforce role hierarchy.
• ParentRoleId—ParentRoleId identifies the parent as defined in the role hierarchy.
After traversing through each parent-child relationship in the UserRole object, the flatten transformation generates one record for
each role ID. Each record contains all ancestor roles for each role in the hierarchy. The flatten transformation generates two output
columns—Roles and RolePath—to store all ancestor roles for each role.
1069
Analyze Your Data Integrate and Prepare Data for Analysis
self_field Yes Name of the input field that identifies each node in the hierarchy.
parent_field Yes Name of the input field that identifies the direct parent of each
node in the hierarchy. For example, the Regional Manager 1 role
is the parent of the Salesperson 1 role in a role hierarchy.
multi_field Yes Name of the multivalue output field that contains a list of all
ancestors in the hierarchy, in order from the lowest to the highest
level. The flatten Transformation creates this field and generates
the list of ancestors for each node in the hierarchy. For example,
for Salesperson 1 role, the hierarchy of ancestors is: Sales
Manager 1, Regional Manager 1, Vice
President 1, CEO.
source Yes Node in the dataflow definition file that contains the hierarchical
data that you want to flatten. This node is the input source for this
transformation and it must contain the input fields mapped to
self_field and parent_field.
Note: By default, the multi_field and path_field fields are created as system fields, which aren’t visible in the user interface. To
make the fields appear in the user interface, add a schema section to the flatten Transformation and set the IsSystemField
metadata attribute to false for each field in the transformation. The schema section is shown in bold in this sample JSON.
"Flatten_UserRole": {
"schema": {
"objects": [
{
"label": "UserWithRoles",
"fields": [
{
"name": "Roles",
"label": "Roles",
"isSystemField": false
},
1070
Analyze Your Data Integrate and Prepare Data for Analysis
{
"name": "RolePath",
"label": "RolePath",
"isSystemField": false
}
]
}
]
},
"action": "flatten",
"parameters": {
"source": "Extract_UserRole",
"self_field": "Id",
"parent_field": "ParentRoleId",
"multi_field": "Roles",
"path_field": "RolePath",
"include_self_id": false
}
},
For more information about overriding metadata using a schema section in a transformation, see Overriding Metadata Generated
by a Transformation.
SEE ALSO:
flatten Transformation
prediction Transformation
The prediction transformation produces an Einstein Discovery prediction for a dataset. Einstein
USER PERMISSIONS
Discovery uses predictive analytics, which analyzes historical data (based on data mining, machine
learning, and predictive statistical modeling) to identify patterns and predict future outcomes. To add a prediction node to
After you create an Einstein Discovery story, deploying its model (see Deploy a Model ) produces a dataflow:
• View Einstein Discovery
a prediction definition. When you create the transformation, you identify the name of the prediction
Recommendations
definition to use. A prediction definition contains a model to use for predicting an outcome. Einstein permission
Discovery creates a special column in your dataset to contain the prediction score (the predicted
value of the outcome, such as the likelihood that a customer churns). You also specify the name To view predictions:
• View Einstein Discovery
and display name of the new column.
Recommendations
Consider the following guidelines when creating a prediction transformation: permission (see Assign
Einstein Discovery
• To see the Prediction button in the toolbar, Einstein Discovery must be enabled in your org,
Permission Sets to Users)
and your user account must have the View Einstein Discovery Recommendations permission.
For instructions, see Set Up Einstein Discovery . zzz
• Before you can add a prediction transformation, you must deploy the model. For instructions, see Deploy a Model .
• Dataset column names must match the dataset column names that were used to create the story. Do not rename column names
in the dataflow. Renaming column names results in missing column warnings when the dataflow completes. Other columns are
ignored, such as fields created using computeExpression. The field mappings to a Salesforce object, specified when deploying the
model (see Deploy a Model), do not apply to predictions in dataflows.
• Use a prediction definition with one model. A prediction definition with multiple models (those deployed with filters) isn’t currently
supported in dataflows.
prediction Transformation Properties in the Dataflow Editor
1071
Analyze Your Data Integrate and Prepare Data for Analysis
This table describes the settings for the prediction node in the dataflow editor.
Source Node Yes Dataflow node used as input for this transformation. The
prediction transformation generates the prediction score based
on the data provided by the input node.
Prediction Definition Yes Prediction definition to use. Click the field to select from a list of
deployed prediction definitions.
Prediction Output Field Name Yes Name of the new dataset column to contain the score.
Prediction Output Field Labels Yes Label of the new dataset column to contain the score.
predictionColumnName Yes Name of the new dataset column to contain the score.
predictionColumnLabel Yes UI label of the new dataset column to contain the score.
Example: Let's look at an example that predicts the likelihood that each customer churns and then compares the prediction
against the actual outcome.
{
"Customers": {
"action": "edgemart",
"parameters": {
"alias": "Customers"
},
"edScore": {
"action": "prediction",
"parameters": {
"predictionDefinitionName": "How_to_min_pAw3D_7383",
"source": "Customers",
"predictionColumnLabel": "Likelihood to Churn",
"predictionColumnName": "attrition_score"
1072
Analyze Your Data Integrate and Prepare Data for Analysis
},
"Predicted": {
"action": "computeExpression",
"parameters": {
"source": "edScore",
"computedFields": [
"name": "PredictedChurn",
"saqlExpression": "case when 'attrition_score' > 0.4988 then \"true\"
else \"false\" end",
"label": "PredictedChurn",
"type": "Text"
],
"mergeWithSource": true
},
"Correct": {
"action": "computeExpression",
"parameters": {
"source": "Predicted",
"computedFields": [
"name": "CorrectPrediction",
"saqlExpression": "case when 'PredictedChurn' == 'Churn__c' then
\"true\" else \"false\" end",
"label": "CorrectPrediction",
"type": "Text"
],
"mergeWithSource": true
},
"Register": {
"action": "sfdcRegister",
"parameters": {
"name": "Customers with Score",
"alias": "CustomerWithScore",
"source": "Correct"
sfdcDigest Transformation
phThe sfdcDigest transformation generates a dataset based on data that it extracts from a Salesforce object. You specify the Salesforce
object and fields from which to extract data. You can choose to exclude particular fields that contain sensitive information or that aren’t
relevant for analysis.
Note: To access data in a Salesforce object in a Data Prep recipe, see Input Node: Add Data to the Recipe. To do it in a Data Prep
Classic recipe, see Create a Recipe with Data Prep Classic.
When you upload the dataflow definition file, CRM Analytics validates access to Salesforce objects and fields based on the user profile
of the Integration User. If the user profile does not have read access to a field or object, the upload fails.
1073
Analyze Your Data Integrate and Prepare Data for Analysis
At run time, CRM Analytics runs the dataflow as the Integration User. Again, CRM Analytics validates access to the objects and fields
based on the profile of the Integration User. For example, if the dataflow tries to extract data from a custom field on which the Integration
User does not have read access, the dataflow job fails.
Note: The Integration User is a preconfigured user that is created when CRM Analytics is enabled in your organization. If you or
the Integration User need permission on a Salesforce object or field, ask the administrator to grant access.
For more information about preconfigured users in CRM Analytics, see the CRM Analytics Security Implementation Guide.
Example: Let’s look at an example. You want to create a dataset that contains all opportunities from the Opportunity object.
You create the following dataflow definition.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "OwnerId" },
{ "name": "OpportunitySupportTeamMembers__c" }
]
}
},
"Register_Opportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "Opportunities",
"name": "Opportunities",
"source": "Extract_Opportunities"
}
}
}
1074
Analyze Your Data Integrate and Prepare Data for Analysis
Tip: Are you trying to decide whether to use a filter in the sfdcDigest Transformation transformation or use a filter Transformation
transformation? Use a filter Transformation transformation to filter records at any point in the dataflow. For example, you can add
it after the dataflow joins two datasets. However, to reduce the number of rows processed in the dataflow and optimize dataflow
performance, add the filter closest to the point at which records are extracted—when possible, add the filter in the sfdcDigest
Transformation transformation.
Note: Filtering records extracted from Salesforce Big Objects is supported only on primary key fields in the sfdcDigest Transformation
transformation.
1075
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
sfdcDigest Transformation
Structured Filter in sfdcDigest Transformation
You define a structured filter using JSON syntax.
A structured filter uses the following JSON syntax for each filter condition.
{
"field": "<field name>",
"operator": "<operator>",
"value": "<value>"|"["<value 1>", "<value 2>"]",
"isQuoted": true|false}
The value can be a number, date, string, list of strings, or date literal. CRM Analytics automatically quotes strings unless you set isQuoted
to true, which indicates that the string is already quoted.
You can use one of the following operators in a filter condition.
Operator Comment
= Filter condition is true if the value in the field equals the specified
value. String comparisons using the equals operator are
case-insensitive.
Example:
"filterConditions": [
{
"field": "OwnerId",
"operator": "=",
"value": "0056A0000020jzDQAQ"
}
]
!= Filter condition is true if the value in the field does not equal the
specified value.
Example (using backslashes to escape double quotes in a string
value):
"filterConditions": [
{
"field": "Nickname__c",
"operator": "!=",
"value": "\"Sammy\""
}
]
1076
Analyze Your Data Integrate and Prepare Data for Analysis
Operator Comment
> Filter condition is true if the value in the field is greater than the
specified value.
Example:
"filterConditions": [
{
"field": "Amount",
"operator": ">",
"value": "100000"
}
]
< Filter condition is true if the value in the field is less than the
specified value.
Example (using a date literal):
"filterConditions": [
{
"field": "CloseDate",
"operator": "<",
"value": "THIS_MONTH",
"isQuoted": false
}
]
>= Filter condition is true if the value in the field is greater than or
equal to the specified value.
Example:
"filterConditions": [
{
"field": "Amount",
"operator": ">=",
"value": "100000"
}
]
<= Filter condition is true if the value in the field is less than or equal
to the specified value.
Example (using a SOQL function):
"filterConditions": [
{
"field": "CALENDAR_YEAR (CreatedDate)",
"operator": "<=",
"value": "2015",
"isQuoted": true
1077
Analyze Your Data Integrate and Prepare Data for Analysis
Operator Comment
}
]
LIKE Filter condition is true if the value in the field matches the specified
value. The LIKE operator is similar to the LIKE operator in SQL; it
provides a mechanism for matching partial text strings and supports
wildcards.
• The % and _ wildcards are supported for the LIKE operator.
• The % wildcard matches zero or more characters.
• The _ wildcard matches exactly 1 character.
• The LIKE operator is supported for string fields only.
• The LIKE operator performs a case-insensitive match.
• The LIKE operator supports escaping of special characters %
or _. Use a backslash (\) to escape special characters.
Example:
"filterConditions": [
{
"field": "FirstName",
"operator": "LIKE",
"value": "Chris%"
}
]
IN Filter condition is true if the value in the field equals any one of the
values in the specified list. You can specify a quoted or non-quoted
list of values. If the list is quoted, set isQuoted to true.
Example:
"filterConditions": [
{
"field": "StageName",
"operator": "IN",
"value": ["Closed Won", "Closed Lost"]
}
]
NOT IN Filter condition is true if the value in the field does not equal any
of the values in the specified list.
Example:
"filterConditions": [
{
"field": "BillingState",
"operator": "NOT IN",
"value": ["California", "New York"]
1078
Analyze Your Data Integrate and Prepare Data for Analysis
Operator Comment
}
]
INCLUDES For picklist or multi-select picklist fields only. Filter condition is true
if the value in the picklist field includes the specified value.
Example:
"filterConditions": [
{
"field": "BillingState",
"operator": "INCLUDES",
"value": ["California"]
}
]
EXCLUDES For picklist or multi-select picklist fields only. Filter condition is true
if the value in the picklist field excludes the specified value.
Example:
"filterConditions": [
{
"field": "BillingState",
"operator": "EXCLUDES",
"value": ["California", "New York"]
}
]
Example: Let’s look at an example with a basic structured filter. To perform pipeline analysis on opportunities in fiscal quarter 2
of fiscal year 2015, you create this dataflow definition file to create the relevant dataset.
{
"Extract_Filtered_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "AccountId" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "OwnerId" },
{ "name": "FiscalYear" },
{ "name": "FiscalQuarter" },
{ "name": "SystemModstamp" }
1079
Analyze Your Data Integrate and Prepare Data for Analysis
],
"filterConditions": [
{
"field": "FiscalYear",
"operator": "=",
"value": "2015"
},
{
"field": "FiscalQuarter",
"operator": "=",
"value": "2"
}
]
}
},
"Register_Opportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "Opportunities_2015Q2",
"name": "Opportunities_2015Q2",
"source": "Extract_Filtered_Opportunities"
}
}
}
Note: If you do not specify a logical operator for multiple filter conditions—as is the case in this example—CRM Analytics
applies AND between the conditions.
Example: Let's look at an example of a structured filter with a logical operator. To help forecast expected revenue, you create
this dataflow to view all opportunities that have either closed or have greater than 90% probability of closing.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "AccountId" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "OwnerId" },
{ "name": "Probability" },
{ "name": "FiscalYear" },
{ "name": "FiscalQuarter" }
],
"filterConditions": [
{
"operator": "OR",
"conditions": [
{
"field": "StageName",
1080
Analyze Your Data Integrate and Prepare Data for Analysis
"operator": "=",
"value": "Closed Won"
},
{
"field": "Probability",
"operator": ">=",
"value": "90"
}
]
}
]
}
},
"Register_Opportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OpportunitiesExpectedToWin",
"name": "OpportunitiesExpectedToWin",
"source": "Extract_Opportunities"
}
}
}
Example: Finally, let's look at an example of a structured filter with nested logical operators. You create this dataflow to view all
opportunities that closed in the current fiscal quarter and are owned by either one of your two direct reports.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "AccountId" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "OwnerId" },
{ "name": "FiscalYear" },
{ "name": "FiscalQuarter" }
],
"filterConditions": [
{
"operator": "AND",
"conditions": [
{
"field": "CloseDate",
"operator": "=",
"value": "THIS_FISCAL_QUARTER",
"isQuoted": false
},
{
"operator": "OR",
1081
Analyze Your Data Integrate and Prepare Data for Analysis
"conditions": [
{
"field": "OwnerId",
"operator": "=",
"value": "0056A0000020jzDQAQ"
},
{
"field": "OwnerId",
"operator": "=",
"value": "0056A0000020jzGQAQ"
}
]
}
]
}
]
}
},
"Register_Opportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "DirectReport_Opportunities",
"name": "DirectReport_Opportunities",
"source": "Extract_Opportunities"
}
}
}
Note: When you add an sfdcDigest node filter with Data Sync enabled, that filter is added automatically to the SFDC_LOCAL
connection for that object. If you delete a filter from an sfdcDigest node, the SFDC_LOCAL connection filter isn’t changed. Manually
update the SFDC_LOCAL connection filter.
1082
Analyze Your Data Integrate and Prepare Data for Analysis
Example: Let’s look at an example of an advanced filter. You want to extract only opportunity records that are owned by a specific
user and that have either high value or a high probability of closing. You create this dataflow in the dataflow editor and add a filter
in the Complex Filter Conditions field of the sfdcDigest node.
To add an advanced filter in the dataflow JSON, add a complexFilterConditions parameter in the sfdcDigest node.
{
"Extract_Filtered_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "AccountId" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "Probability" },
{ "name": "OwnerId" }
1083
Analyze Your Data Integrate and Prepare Data for Analysis
],
"complexFilterConditions": "OwnerId = '005460000022HhMAAU' AND (Amount >
100000 OR Probability > 75)"
}
},
"Register_Opportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "FilteredOpportunities",
"name": "FilteredOpportunities",
"source": "Extract_Filtered_Opportunities"
}
}
}
• If incremental sync is enabled on the Salesforce object, you can’t use subqueries in an advanced filter.
1084
Analyze Your Data Integrate and Prepare Data for Analysis
Example: For example, you want to override metadata extracted from the Opportunity object.
To override field metadata from the Opportunity object, you add the bold text to the sfdcDigest node in the dataflow definition
file.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{
"name": "Amount",
"defaultValue":"0",
"precision":18,
"scale":2
},
{ "name": "StageName" },
{
"name": "CloseDate",
"fiscalMonthOffset":9,
"firstDayOfWeek":2,
"isYearEndFiscalYear":true
},
{ "name":"AccountId" },
{ "name":"OwnerId" },
{
"name": "OpportunitySupportTeamMembers__c",
"type":"Text",
"isMultiValue":true,
"multiValueSeparator":",",
"precision":255
}
]
}
},
"Register_Opportunities_Dataset":{
"action":"sfdcRegister",
"parameters":{
"alias":"Opportunities",
"name":"Opportunities",
"source":"Extract_Opportunities"
}
}
}
If you’re working in the dataflow editor, click the sfdcDigest node and then click next to the field that you want to change.
1085
Analyze Your Data Integrate and Prepare Data for Analysis
1086
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Changing a field’s type attribute to anything other than Text can result in an error in your dataflow or unexpected
values in your datasets. For example, if you change a text field to a numeric field, you see an error when you try to update
the dataflow.
SEE ALSO:
sfdcDigest Transformation
Salesforce Big Object Support in CRM Analytics
The sfdcDigest transformation can extract data from standard and custom big objects in Salesforce, with or without data sync enabled.
Consider these limitations for big objects before you configure extraction.
• Incremental data sync isn’t supported, so a full sync is performed every time data sync runs.
• Filtering is supported only on primary key fields.
• Custom big object names must end in __b
• These standard big objects are currently supported.
– ApiEvent
– BigObjectCounter
– BotAnalytics
– ChatbotAnalytics
– EngagementHistory
– FeedRead
– FeedSentimentAnalysis
– FeedSentimentFeedbacks
– LoginEvent
• The sfdcDigest transformation uses the Bulk API to extract data from Salesforce objects, and so it’s subject to Bulk API limits.
– When a large amount of data is extracted from a big object, a maximum of 15 result files are created. The Bulk Query stops when
this 15-file limit is reached, even if the extract isn’t complete. Each extracted file is limited to 1 GB of data.
– The total number of big object records that can be extracted from the Bulk API is currently limited to 70 million rows across all
files in the dataset. The number of rows varies based on the number and size of columns in the big object being queried.
– Each batch can run for up to 10 minutes or 1 GB of data, whichever limit is reached first.
1087
Analyze Your Data Integrate and Prepare Data for Analysis
ORDER BY Id
ASC LIMIT 1
OFFSET 249999;
SELECT and FROM define the fields and object to sync. The rest of the query controls batching. Bulk API processes batches of 10,000
records. The batch is determined by WHERE filtering and ORDER sorting of the record IDs. Clauses that limit the ability to use this query
structure, such as constraints on ORDER or WHERE, prevent CRM Analytics from querying the object for data sync or dataflows. For
more information, see the SELECT clause help page.
Some commonly encountered unsupported objects are:
• ActivityHistory
• ActivityMetric
• ApexEmailNotification
• AuthProvider
• BrandTemplate
• ChatbotMetric
• ChatterConversation
• ChatterConversationMember
• ChatterMessage
• ConnectedApplication
• ContentDocumentLink
• ContentFolderLink
• ContentFolderMember
• ContentWorkspace
• ContentWorkspaceDoc
• ContentWorkspaceMember
• ContentWorkspacePermission
• CopyExport
• CorsWhitelistEntry
• DataAssessmentFieldMetric
• DataAssessmentMetric
• DataAssessmentValueMetric
• DataHubSetupData
• DataHubSetupDefinition
• DirectMessage
• DirectMessageFeed
• DirectMessageMember
• EmailCapture
• EmailDomainKey
• EmailServicesAddress
• EmailServicesFunction
• EmailStatus
1088
Analyze Your Data Integrate and Prepare Data for Analysis
• EmailTemplate
• EnvironmentHub
• EnvironmentHubInvitation
• EnvironmentHubMemberRel
• EventType
• EventTypeParameter
• ExternalString
• FeedLike
• FeedPollChoice
• FeedPollVote
• FieldDefinition
• LeadChangeEvent
• ListViewEvent
• LoginGeo
• LoginHistory
• NetworkActivityAudit
• NetworkModeration
• OpenActivity
• OrganizationProperty
• OrgWideEmailAddress
• PackageLicense
• PartnerNetworkSyncLog
• ReputationLevel
• ReputationLevelLocalization
• ReputationPointsRule
• S2XEventMap
• SalesforceIqUser
• SampledEntity
• SandOmInfo
• SandOmInfoDetail
• SandOmObserver
• ScoreIntelligence
• SearchPromotionRule
• SecurityCustomBaseline
• SelfServiceUser
• SsoUserMapping
• TenantSecret
• TwoFactorInfo
• TwoFactorTempCode
• UserPackageLicense
1089
Analyze Your Data Integrate and Prepare Data for Analysis
• UserProvAccount
• UserProvAccountStaging
• UserProvisioningConfig
• UserProvisioningLog
• UserProvisioningRequest
• UserProvisioningRequestOwnerSharingRule
• UserProvisioningRequestShare
• UserProvMockTarget
• UserRecordAccess
• VerificationHistory
• VoiceUserLine
• VoiceUserLineOwnerSharingRule
• VoiceUserLineShare
• VoiceVendorLine
• VoiceVendorLineOwnerSharingRule
• VoiceVendorLineShare
• WebLink
• WebLinkLocalization
• UnifiedActivityInsightKeyword
• UnifiedActivityInsight
• UnifiedActivityEvent
• UnifiedActivityRelation
• UnifiedActivityParticipant
• UnifiedActivity
The sfdcDigest transformation can’t extract data from external objects created in Salesforce. External objects are similar to custom objects,
except that they map to data located outside Salesforce.
If you include an unsupported or inaccessible object in the sfdcDigest transformation, the dataflow fails at run time with an error message.
Unsupported Fields
The sfdcDigest transformation can’t extract data from these fields.
ActionPlanItem ItemId
AuthSession • LoginGeoId
• LoginHistoryId
Contact • CanAllowPortalSelfReg
• CleanStatus
ContentDocument ParentId
1090
Analyze Your Data Integrate and Prepare Data for Analysis
DocumentAttachmentMap ParentId
EmailMessage • ActivityId
• EmailTemplateId
EmailRoutingAddress EmailServicesAddressId
EnvironmentHubMember EnvironmentHubId
Event Attendees
ExternalEventMapping EventId
InstalledMobileApp ConnectedApplicationId
Lead CleanStatus
Network • CaseCommentEmailTemplateId
• ChangePasswordEmailTemplateId
• ForgotPasswordEmailTemplateId
• WelcomeEmailTemplateId
Organization • SelfServiceEmailUserOnCaseCreationTemplateId
• SelfServiceNewCommentTemplateId
• SelfServiceNewPassTemplateId
• SelfServiceNewUserTemplateId
• WebToCaseAssignedEmailTemplateId
• WebToCaseCreatedEmailTemplateId
• WebToCaseEmailTemplateId
• WebToLeadEmailTemplateId
PermissionSet • PermissionsEditEvent
• PermissionsEditTask
PermissionSetLicense • MaximumPermissionsEditEvent
• MaximumPermissionsEditTask
Profile • PermissionsEditEvent
• PermissionsEditTask
ThirdPartyAccountLink SsoProviderId
User • LastPasswordChangeDate
• ProfilePhotoId
1091
Analyze Your Data Integrate and Prepare Data for Analysis
• UserPreferencesEnableVoicePilot
WorkBadge RewardId
WorkBadgeDefinition RewardFundId
If you include an unsupported field in the sfdcDigest transformation, the dataflow fails at runtime with an error message.
In addition, Salesforce recommends that you don’t extract data from the MayEdit field of the Account object. Extracting data from this
field significantly decreases performance and can cause the dataflow to fail.
Unsupported Field Types
The sfdcDigest transformation can’t extract data from fields with these field types.
• base64
• composite (like address and location)
• data category group reference
• encrypted string
If you include a field with an unsupported field type in the sfdcDigest transformation, the dataflow ignores the field.
SEE ALSO:
sfdcDigest Transformation
sfdcDigest Parameters
When you define an sfdcDigest transformation, you set the action attribute to sfdcDigest and specify the parameters for the object
and fields that you want to extract. Optionally, you can also specify parameters to filter the records extracted from the Salesforce object.
Parameters
You can specify parameters in the following sections of the sfdcDigest node: parameters, fields, and filterConditions.
This table describes the parameters in the parameters section.
incremental No Performs an incremental sync, which extracts only changes to the Salesforce object
since the last dataflow run. Valid values: true or false. Incremental sync:
• Is available if you have enabled data sync.
• Isn’t supported for Salesforce big objects.
fullRefreshToken No Performs a one-time full extraction to synchronize the data in the dataset with data
in the Salesforce object. Specify any value for this parameter.
After the full extraction, the dataflow performs an incremental extraction each time
thereafter even though the fullRefreshToken parameter is included in the
1092
Analyze Your Data Integrate and Prepare Data for Analysis
fields Yes An array of names of all fields from which you want to extract data from the specified
Salesforce object. The sfdcDigest transformation doesn’t support extraction from
all field types.
See Field Attributes.
filterConditions No A filter that restricts the records extracted from the specified Salesforce object. The
sfdcDigest transformation extracts all records from the Salesforce object for which
the filter is true. You can specify a structured or advanced filter.
See Filter Conditions Parameters.
complexFilterConditions No For advanced filters only. A SOQL WHERE clause used to filter records extracted from
the specified Salesforce object.
Field Attributes
The following table describes the attributes in the fields section. It also describes optional attributes that you can provide to override
the field metadata. You can override the metadata that the sfdcDigest Transformation transformation extracts from a Salesforce object
to make the data appear differently in a dataset. For example, CRM Analytics can add a default value to records that have missing values
for a field. If you don’t override the values, CRM Analytics gets the values from Salesforce.
defaultValue No Used for text and numeric fields that can be null. Numeric fields can have a literal
null, while text fields can have “null”. A default value replaces a null value
for the specified field. Enter a string value.
Example: "defaultValue": "0"
type No CRM Analytics field type associated with the specified field. Valid types are Text,
Numeric, or Date. Any value, including numeric values, can be Text. For example,
by default, fiscal quarter from Salesforce objects is Number. However, you can
change it to Text. Specify a type to override the type determined by CRM Analytics.
Example: "type": "Text"
You can’t change a field’s type to Numeric or Date.
fiscalMonthOffset No For date fields only. The difference, in months, between the first month of the fiscal
year and the first month of the calendar year (January). For example, if the fiscal
year starts in January, the offset is 0. If the fiscal year starts in October, the offset is
9.
1093
Analyze Your Data Integrate and Prepare Data for Analysis
isYearEndFiscalYear No For date fields only. Indicates whether the fiscal year is the year in which the fiscal
year ends or begins. Because the fiscal year can start in one calendar year and end
in another, you must specify which year to use for the fiscal year.
• If true, then the fiscal year is the year in which the fiscal year ends. The default
is true.
• If false, then the fiscal year is the year in which the fiscal year begins.
Example: "isYearEndFiscalYear": true
This field is relevant only when fiscalMonthOffset is greater than 0.
CRM Analytics doesn’t support fields with different isYearEndFiscalYear
values in the same dataset. Using different isYearEndFiscalYear values
can produce unexpected results when you filter by relative fiscal date ranges. We
recommend that you set the same value for all isYearEndFiscalYear
attributes in a dataset.
firstDayOfWeek No For date fields only. The first day of the week for the calendar year and, if applicable,
fiscal year. Use 0 to set the first day to be Sunday, 1 to set the first day to be Monday,
and so on. Use -1 to set the first day to be on January 1. The default is -1.
Example: "firstDayOfWeek": 0
CRM Analytics doesn’t support fields with different firstDayOfWeek values
in the same dataset. Using different firstDayOfWeek values can produce
unexpected results when you filter by relative week date ranges. We recommend
that you set the same value for all firstDayOfWeek attributes in a dataset.
isMultiValue No For text fields only. Indicates whether the specified field has multiple values.
Example: "isMultiValue": false
multiValueSeparator No For text fields only. Single character used to separate multiple values in the specified
field when isMultiValue equals true. This value defaults to a semicolon (;) if you do
not specify a value and isMultiValue equals true. Set to null when isMultiValue equals
false.
Example: "multiValueSeparator": ";"
precision No The maximum number of digits in a numeric value, or the length of a text value.
For numeric values: Includes all numbers to the left and to the right of the decimal
1094
Analyze Your Data Integrate and Prepare Data for Analysis
scale No The number of digits to the right of the decimal point in a numeric value. Must be
less than the precision value. Value must be from 0 through 17 characters, inclusive.
Example: "scale": 2
1095
Analyze Your Data Integrate and Prepare Data for Analysis
]
}
]
isQuoted No Indicates whether you quoted the string value in a filter condition.
Example with quoted values:
"filterConditions": [
{
"field": "StageName",
"operator": "IN",
"value": "('Closed Won', 'Closed Lost')",
"isQuoted": true
}
]
If you don’t include isQuoted for a filter on a string value, CRM Analytics assumes
that the string value is not quoted and adds the quotes for you.
conditions No Use to specify a logical operator to link multiple filter conditions together.
SEE ALSO:
sfdcDigest Transformation
Filtering Records Extracted from a Salesforce Object
sfdcRegister Transformation
The sfdcRegister transformation registers a dataset to make it available for queries. Users can’t view or run queries against an unregistered
dataset.
The sfdcRegister transformation overwrites the current version of the dataset.
You don’t need to register all datasets. For example, you don’t need to register an intermediate dataset that is used to build another
dataset and doesn’t need to be queried. In addition, you don’t need to register datasets that are created when you upload external data
because CRM Analytics automatically registers these datasets for you.
Carefully choose which datasets to register because:
1096
Analyze Your Data Integrate and Prepare Data for Analysis
• The total number of rows in all registered datasets can’t exceed 100,000 per platform license, or 250 million per platform license
purchased before October 20, 2015.
• Users that have access to registered datasets can query their data. But you can apply row-level security on a dataset to restrict access
to records.
Example: Let’s look at an example. You create a dataflow that extracts opportunities from the Opportunity object. To register
the dataset, name it "Opportunities," and apply row-level security on it, you add the sfdcRegister transformation as shown in the
following dataflow definition file.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Register_Oppportunities_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "Opportunities",
"name": "Opportunities",
"source": "Extract_Opportunities",
"rowLevelSecurityFilter": "'OwnerId' == \"$User.Id\""
}
}
}
sfdcRegister Parameters
When you define an sfdcRegister transformation, you set the action attribute to sfdcRegister and specify the parameters.
sfdcRegister Parameters
When you define an sfdcRegister transformation, you set the action attribute to sfdcRegister and specify the parameters.
This table describes the input parameters:
1097
Analyze Your Data Integrate and Prepare Data for Analysis
name Yes Display name of the registered dataset. The name cannot exceed 80
characters. To change the name after you create the dataset, you must edit
the dataset.
source Yes Node in the dataflow definition file that identifies the dataset that you want
to register. This node is the input source for this transformation.
rowLevelSharingSource No The API name of the object from which to inherit sharing. Used when
applying row-level security on the dataset when the dataset is first created.
Example: "rowLevelSharingSource": "Opportunity"
To change the sharing source after you create the dataset, you must edit
the dataset. For more information, refer to Add Row-Level Security by
Inheriting Sharing Rules.
rowLevelSecurityFilter No The predicate used to apply row-level security on the dataset when the
dataset is first created.
Example: "rowLevelSecurityFilter": "'OwnerId' == "$User.Id""
To change the predicate after you create the dataset, you must edit the
dataset.
When entering the predicate in the Register transformation of the dataflow
JSON, you must escape the double quotes around string values.
After the dataset is created, CRM Analytics ignores its security predicate
setting in the dataflow. To change the security predicate for an existing
dataset, edit the dataset in the user interface.
SEE ALSO:
sfdcRegister Transformation
sliceDataset Transformation
The sliceDataset transformation removes fields from a dataset in your dataflow, leaving you with a subset of fields for use in a new dataset
or in other transformations. This allows you to create multiple datasets, each with different sets of fields from a single dataset.
Note: To drop columns in a Data Prep recipe, see Drop Columns Transformation: Drop Columns from the Recipe.
The transformation includes the mode parameter, which lets you choose between two modes: drop or select. Set it to drop to
remove the fields you specify. Set it to select to keep the fields you specify.
Example: Here’s an example. Let’s say your dataflow contains an sfdcDigest node, ExtractOpportunities, that extracts
all fields from the Opportunity object. However, some of your users don’t want Id fields in their Opportunities dataset. You resolve
this by adding a sliceDataset node to your dataflow, specifying the source node, the fields you want to remove from that node,
and drop mode.
1098
Analyze Your Data Integrate and Prepare Data for Analysis
{
"RemoveFieldsFromExtractOpportunities":
{
"action": "sliceDataset",
"parameters": {
"source": "ExtractOpportunities",
"mode": "drop",
"fields": [
{
"name": "Id"
},
{
"name": "Pricebook2Id"
}
]
}
}
}
sliceDataset Parameters
Add a sliceDataset transformation to a dataflow either in the dataflow editor, or directly in the JSON dataflow definition file. The
parameters you specify are the same for both methods.
sliceDataset Parameters
Add a sliceDataset transformation to a dataflow either in the dataflow editor, or directly in the JSON dataflow definition file. The parameters
you specify are the same for both methods.
mode Yes The action you want to take on the specified fields. Set it to drop to remove
the fields. Set it to select to keep the fields.
A dataset must have at least 1 dimension field. If a sliceDataset node removes
all dimension fields, the dataflow fails.
fields Yes An array of names of the fields that you want to drop or select from the specified
source node.
1099
Analyze Your Data Integrate and Prepare Data for Analysis
update Transformation
The update Transformation updates the specified field values in an existing dataset based on data from another dataset, which we call
the lookup dataset. The transformation looks up the new values from corresponding fields in the lookup dataset. The transformation
stores the results in a new dataset.
Note: To update columns in a Data Prep recipe, see Update Node: Swap Column Values.
When you create the transformation, you specify the keys that are used to match records between the two datasets. To dictate which
field in the lookup dataset updates the field in the source dataset, you also map the corresponding fields from both dataset.
For example, you have an existing Accounts dataset that contains account information—Id, Name, and AnnualRevenue. Unfortunately,
some of the account names in the dataset are now incorrect because of a series of mergers and acquisitions. To quickly update the
account names in the dataset, you perform these tasks.
1. Create a .csv file that contains the new account names and associated account IDs for accounts that have name changes.
2. Upload the .csv file to create a dataset called UpdatedAccountNames.
3. Create a dataflow definition file to update account names in the Accounts dataset by looking up the new account names in the
UpdatedAccountNames dataset.
1100
Analyze Your Data Integrate and Prepare Data for Analysis
}
},
"Register_UpdatedAccountRecords": {
"action": "sfdcRegister",
"parameters": {
"alias": "Accounts",
"name": "Accounts",
"source": "Update_AccountRecords"
}
}
}
Let’s look at another example, where a composite key is used to match records between both datasets. In this case, you match records
using the account ID and account name fields.
You create the following dataflow definition file.
{
"Extract_AccountDetails": {
"action": "sfdcDigest",
"parameters": {
"object": "Account",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "AnnualRevenue" }
]
}
},
"Extract_UpdatedAccountNames": {
"action": "edgemart",
"parameters": { "alias": "UpdatedAccountNames" }
},
"Update_AccountRecords": {
"action": "update",
"parameters": {
"left": "Extract_AccountDetails",
"right": "Extract_UpdatedAccountNames",
"left_key": ["Id","Name"],
"right_key": ["AccountId","NewAccountName"],
"update_columns": {
"Name": "NewAccountName",
"CreatedDate":"NewCreatedDate",
"AnnualRevenue":"NewAnnualRevenue"
}
},
"Register_UpdatedAccountRecords": {
"action": "sfdcRegister",
"parameters": {
"alias": "Accounts",
"name": "Accounts",
"source": "Update_AccountRecords"
}
}
}
1101
Analyze Your Data Integrate and Prepare Data for Analysis
update Parameters
When you define an update transformation, you set the action attribute to update and specify the parameters.
update Parameters
When you define an update transformation, you set the action attribute to update and specify the parameters.
This table describes the input parameters.
1102
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
update Transformation
The Schema section in this sample sfdcDigest transformation contains metadata overrides: Available for an additional
cost in: Enterprise,
Performance, and
Unlimited Editions
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Name" },
{ "name": "Amount" }
]
},
"schema": {
"objects": [
{
"label":"Sales Opportunities",
"fields": [
{
"name": "Amount",
"label": "Opportunity Amount"
}
]
}
]
}
}
Object Attributes
You can override the following object attributes.
1103
Analyze Your Data Integrate and Prepare Data for Analysis
description String The description of the object. Must be less than 1,000 characters.
Add a description to annotate an object in the dataflow definition file. This
description is not visible to users in the Analytics user interface.
Example:
"description": "The SalesData object tracks basic
sales data."
Field Attributes
You can override attributes of each specified dataset field.
"name": "Role.Name"
label String The display name for the field. Can be up to 255 characters.
Example:
"label": "Opportunity Amount"
description String The description of the field. Must be less than 1,000 characters.
Add a description to annotate a field in the dataflow definition file. This description is not visible
to users in the Analytics user interface.
Example:
"description": "The Amount field contains the opportunity
amount."
isSystemField Boolean Indicates whether this field is a system field to be excluded from query results.
Example:
"isSystemField": false
1104
Analyze Your Data Integrate and Prepare Data for Analysis
Numeric Formats
An example of a typical numeric value is $1,000,000.99, which is represented as $#,##0.00 in the format field. You’re required to
specify the precision and scale of the number. The format is specified by using the following symbols:
Symbol Meaning
0 One digit. Use to add leading or trailing 0s, like #,###.00 for $56,375.00.
. Default symbol used as the decimal separator. Use the decimalSeparator field to
set the decimal separator to a different symbol.
- Minus sign
, Grouping separator. Use the groupSeparator field to set the group separator to a
different symbol.
$ Currency sign. Use the currencySymbol field to set the currency indicator to a different
symbol.
Note: The format for numeric values when displayed in the UI defaults to No Format. Existing formatting is removed. Also, you
can’t override date formats.
Example: Let’s consider an example where you want to override the following object and field attributes that the sfdcDigest
transformation extracts from the Opportunity object.
1105
Analyze Your Data Integrate and Prepare Data for Analysis
To override the attributes, you add the Schema section with the override values to sfdcDigest in the dataflow definition file.
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
},
"schema": {
"objects": [
{
"label":"Sales Opportunities",
"description": "These are all sales opportunities.",
"fields": [
{
"name": "Id",
"label": "Opportunity Id",
"isSystemField": true
},
{
"name": "Amount",
"label": "Opportunity Amount",
"format": "$#,##0.00"
},
{
"name": "CloseDate",
"label": "Closing Date"
}
]
}
]
}
},
"Register_Dataset_Opportunities": {
"action": "sfdcRegister",
"parameters": {
"source": "Extract_Opportunities",
"alias": "Opportunities",
"name": "Opportunities"
}
}
}
Important: Analytics removes Schema sections from all transformations except sfdcDigest when you add a dataflow to a
package. If you intend to package a dataflow, we recommend that you specify field attributes in the transformation itself,
1106
Analyze Your Data Integrate and Prepare Data for Analysis
instead of in a schema section. For example, this computeRelative transformation uses a label attribute to change a field’s
label.
"CalcAmountAfterdiscount": {
"action": "computeExpression",
"parameters": {
"mergeWithSource": true,
"source": "getOpps",
"computedFields": [
{
"name": "DiscountedAmount",
"label": "Discounted Amount",
"type": "Numeric",
"saqlExpression": "Amount * Discount_Percentage__c",
"precision": 10,
"scale": 2
}
]
}
},
1107
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The propagate option doesn’t remove fields from downstream computeExpression or computeRelative nodes that reference
it.
You see the propagate option whenever you add or remove fields from these types of nodes.
• sfdcDigest
• digest
• augment
• computeExpression
• computeRelative
• sliceDataset
1108
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
5. Make a backup copy of the existing dataflow definition file before you modify it.
CRM Analytics doesn’t retain previous versions of the file. If you make a mistake, you can upload the previous version to roll back
your changes.
6. Add each transformation as a node in the dataflow definition file, using a JSON editor.
For example, based on the design in the previous stepprevious step, you can add the following transformation nodes:
{
"Extract_Opportunities": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
1109
Analyze Your Data Integrate and Prepare Data for Analysis
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "CloseDate" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Extract_AccountDetails": {
"action": "sfdcDigest",
"parameters": {
"object": "Account",
"fields": [
{ "name": "Id" },
{ "name": "Name" }
]
}
},
"Transform_Augment_OpportunitiesWithAccountDetails": {
"action": "augment",
"parameters": {
"left": "Extract_Opportunities",
"left_key": [ "AccountId" ],
"relationship": "OpptyAcct",
"right": "Extract_AccountDetails",
"right_key": [ "Id" ],
"right_select": [
"Name"
]
}
},
"Transform_Filter_Opportunities": {
"action": "filter",
"parameters": {
"filter": "StageName:EQ:Closed Won",
"source": "Transform_Augment_OpportunitiesWithAccountDetails"
}
},
"Register_Dataset_WonOpportunities": {
"action": "sfdcRegister",
"parameters": {
"alias": "WonOpportunities",
"name": "WonOpportunities",
"source": "Transform_Filter_Opportunities"
}
}
}
See Transformations for CRM Analytics Dataflows for more about each transformation and its JSON.
Note: The JSON keys and values are case-sensitive. Each bolded key in the example JSON is the node name for a transformation.
Each node contains an action value, which identifies the transformation type. The order in which you add the transformations
1110
Analyze Your Data Integrate and Prepare Data for Analysis
to the dataflow definition file doesn’t matter. CRM Analytics determines the order in which to process the transformations by
traversing the dataflow to determine the dependencies among them.
Important: Node names must be unique in a dataflow definition file, and can’t contain space or tab characters. Consider that
node names are not treated as case sensitive, so names such as “Extract_Opportunities” and “extract_opportunities” aren’t
unique in the same definition file.
7. Before you save the dataflow definition file, use a JSON validation tool to verify that the JSON is valid.
An error occurs if you try to upload the dataflow definition file with invalid JSON. You can find JSON validation tools on the internet.
8. Save the dataflow definition file with UTF-8 encoding, and then close the file.
9. In the Dataflow view of the Monitor tab, click Upload from the action menu to upload the updated dataflow definition file.
Note:
• Uploading the dataflow definition file doesn’t affect any running dataflow jobs and doesn’t automatically start the dataflow
job.
• The maximum length of a dataflow definition file is 1,000,000 characters.
You can now start the dataflow on demand or wait for it to run on the schedule. Users can’t query the registered dataset until the dataflow
runs.
To create dataflows, you must have Data Sync enabled. If your org’s first license was provisioned before the Winter ’20 release, you can
manually enable Data Sync.
1111
Analyze Your Data Integrate and Prepare Data for Analysis
1112
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To create a recipe:
• Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
1113
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Make sure the connected object that you select has synced and completed at least once.
Note: The recipe name you enter here is also used for the target dataset name.
The recipe page opens, displaying a preview of the data from your selected dataset or connected object.
Note: To speed up the preview when you create a recipe, multivalue fields aren’t included by default. The recipe editor hides
these fields from the preview because they sometimes cause recipes to yield unexpected results. For example, a recipe with
multivalue fields can result in query timeouts or fail to load or run. If needed, you can manually add these fields to the recipe.
If you’re working with a connected object of more than 10,000 rows, CRM Analytics loads a sample of 10,000 rows into the recipe. As
you work in a recipe, the sample size used in the preview is always visible at the top of the page. Use the selector to choose to see the
first 1000, 5000, or 10,000 rows.
Note: Filters that you add in a recipe only apply to the sample data. They don’t result in the recipe editor retrieving an updated
sample.
To help you distinguish between nulls and empty strings, the preview shows null values as “null” in gray italics and empty strings as
blank values.
1114
Analyze Your Data Integrate and Prepare Data for Analysis
If you don’t need a column in your preview, select Hide Column from the column menu.
If you’re working with numerous columns, click the columns tab to work from a list view of columns without the data.
1115
Analyze Your Data Integrate and Prepare Data for Analysis
All the columns included in your recipe appear first (1), color-coded by source, with their type, the dataset they come from, and a missing
values indicator. To find a column, start typing the name in the search box (2) to narrow down the list. To hide a column, click its menu
button and select Hide Column. Columns that you hide in the recipe appear in a separate list (4). To add one of these columns back,
select Add to Recipe from its menu (5).
To work on a column in either the Preview or Columns tab, click it. The column menu options and smart suggestions available are the
same on both tabs.
Note: The recipe preview can display up to 100 fields. If you remove a field from the preview, by default it’s not included in the
target dataset. However, you can reselect any field when you create the dataset.
1116
Analyze Your Data Integrate and Prepare Data for Analysis
Let’s look at an example to illustrate how you add data. Imagine you started a recipe from an opportunities dataset, and you want to
add more opportunity details from another dataset. You can use the opportunity ID field from each dataset as the keys.
1.
On the recipe page, click the Add Data button ( ).
2. Select either the Datasets or Connected Data tab, and click the dataset or object that you want to add.
4. Select the keys from the left and right data streams. The left data stream is the existing data. The right is the new data that you want
to add. CRM Analytics suggests keys if it finds related fields.
1117
Analyze Your Data Integrate and Prepare Data for Analysis
Important: CRM Analytics datasets contain date and time component fields, such as Year, Quarter, and Month, that are
derived automatically from existing date and time fields. Use of these component fields as keys isn’t supported.
6. In the Columns to Include section, select the columns to include in the recipe.
Only the key columns are selected by default. So make sure that you select all the columns that you need in the recipe. The columns
are color coded to indicate their source.
Note: The results preview can display up to 100 columns. Modify the preview or deselect columns to ensure that you can
see just the columns that you need.
7. Click Done.
Each time you add data, a new step is created in your recipe, and the added fields appear in your recipe preview. Hover over a step and
click to access the Edit and Remove options.
1118
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Lookup
Left Join
Right Join
Inner Join
Full Outer Join
Considerations When Using Joins
Note: To append rows in a Data Prep recipe, see Append Node: Stack Rows from Different Available in Salesforce
Sets of Data. To do it in a dataflow, see append Transformation. Classic and Lightning
Experience.
Let’s look at an example of how you can use append in a recipe. Imagine you’re a US company that
uses separate Salesforce orgs for its US and Canada operations. You sync the US opportunities in Available with CRM
your local org, and use a remote Salesforce connection to sync your Canada opportunities. You Analytics, which is available
want to combine these US and Canada opportunities to create a single North America opportunities for an extra cost in
dataset. Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To create a recipe:
• Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
1119
Analyze Your Data Integrate and Prepare Data for Analysis
You’ve already started the recipe from your synced US opportunities (1), to which you now want to append data from your synced
Canada opportunities dataset (2). Notice that the fields are not exactly the same. The US data has an Amount field and the Canada data
has a Value field. The US data has a Lead Source field, which the Canada data doesn’t have. These kinds of differences affect how appended
fields can be mapped to fields in the recipe.
• Appended fields are mapped automatically to recipe fields with the same name and type. You can change these mappings. In this
example, the Currency field will be mapped automatically.
• Appended fields with different names are not mapped automatically, but you can map them to any fields of the same type. In this
example, you have to manually map the Value field to the Amount field.
• Fields with different types can’t be mapped.
• Recipe fields that are not in the appended data are added to the appended rows and populated with nulls. In this example, the Lead
Source field will be added to the appended rows.
Note: If null measure handling in datasets isn’t enabled for your org, measure fields are populated with zeros when they’re
added to appended rows.
1120
Analyze Your Data Integrate and Prepare Data for Analysis
3. On the map fields dialog, review how CRM Analytics has mapped the recipe fields in the first column to fields from the data to
append in the second column. Remember, fields with the same name and type are mapped automatically.
Note: By default, hidden fields in your recipe aren’t mapped. To map hidden fields, click the Show hidden fields link and
accept or change the mappings.
4. To change a field mapping, click the field in the FIELD TO APPEND column, and select a field. You can only select from fields of the
same type as the recipe field that you’re mapping to.
In our example, you don’t have a field to map to the Lead Source field, so you leave that as it is. The Amount field has not been
mapped because the corresponding field in the Canada data was named Value. So you map the Value field to the Amount field.
1121
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Rows that you append in a recipe do not appear in the recipe preview, but are added to the target dataset when you
run the recipe.
When you run the recipe, the rows are appended in the target dataset.
Here, the Lead Source field has been added to the Canada rows and populated with null values. The Value values from the Canada rows
now appear in the Amount column.
Clean and Prepare Data Intelligently with Column Profiles and Smart Suggestions
The column profile gives you key insights into the quality of your data and suggests additional transformations to help you clean and
prepare it. This profile is especially useful when you are combining data from different sources, where inconsistencies are often introduced.
1122
Analyze Your Data Integrate and Prepare Data for Analysis
Note: To profile columns in a Data Prep recipe, see Profile Columns to Understand Data in a Data Prep Recipe.
Let’s look at an example of how you can use the profile to review the quality of data in a set of leads. Select the column you want to
analyze to see its profile on the right of the recipe editor. To open the column profile if it isn’t visible, click or select Show Profile
from the column’s menu.
Note: The sections that you see in the profile depend on the type of column.
Here are the sections that you see in the column profile.
Sample Size
Note: The option to use a larger sample of rows is available only for non-calculated dimension fields. The option doesn’t appear
if the sample size is greater than the number of rows in the recipe.
1123
Analyze Your Data Integrate and Prepare Data for Analysis
Valid Values
Frequent Values
This section shows the count for each of the top five
values in the column. To see the count for all values in
the sample, click View More. This information gives you
a quick insight into the variation in your data.
This example shows different values for the same country,
which can impact grouping and filtering in a lens or
dashboard.
For dimension and date columns, click one or more bars to see suggested transformations for those values in the Suggestions bar. In
this example, if you select the US value, CRM Analytics suggests replacing it or filtering it out.
1124
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Clustering works best with English language values. Values in other languages can produce unexpected results.
To help you with your data cleansing, CRM Analytics suggests the Bucket By Cluster transformation whenever it identifies clusters. This
transformation works just like regular bucketing, but gets you started by suggesting the buckets and values.
You can add the transformation as is, or add more buckets and values.
1125
Analyze Your Data Integrate and Prepare Data for Analysis
Again, to help you clean your data, CRM Analytics suggests transformations when you click one or more bars. For example, you can
replace the values or filter them out.
Measure columns also display statistical information that you can use in your data preparation.
With date columns, you can select the time frame for grouping values by year or by quarter.
1126
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To create a recipe:
• Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
1127
Analyze Your Data Integrate and Prepare Data for Analysis
4. lick Apply.
5.
To enter another condition, click .
6. When you have added all your conditions, click Save.
The filter appears as a step in the left pane of the recipe.
1128
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Filters in recipes filter rows that meet all specified conditions.
1. To create a recipe:
On the column header of the measure field you want to bucket, click , and then select
• Edit CRM Analytics
Bucket. Dataflows OR Edit
Bucket settings appear in the Add Transformation panel below the preview data. Dataset Recipes
1129
Analyze Your Data Integrate and Prepare Data for Analysis
2. For Range1, enter a value and name for the first bucket. Rows with values below the Range1 value are assigned this bucket name.
In this example, rows with values less than 3 are assigned a value of Small in the new bucket field.
The Range2 value populates with the value you enter for Range1.
3. If your bucket field has more than two buckets, click Add>> to add another range.
4. For each additional range you add, enter the range of values and the bucket name. Rows with values greater than or equal to the
first value, and less than the second value are assigned the bucket name. In this example, rows with values 3, 4, or 5 are assigned
a value of Medium in the new bucket field.
5. Repeat steps 4–5 to add any additional buckets that you need.
6. For the final range, enter a value and bucket name. Rows with values greater than or equal to this value are assigned this bucket
name. In this example, rows with values greater than or equal to 6 are assigned a value of Large in the new bucket field.
1130
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
1.
On the column header of the dimension field you want to bucket, click , and then select
To create a recipe:
Bucket.
• Edit CRM Analytics
Bucket settings appear in the Add Transformation panel below the preview data. Dataflows OR Edit
Dataset Recipes
4.
To add more buckets, click and repeat steps 2–3.
1131
Analyze Your Data Integrate and Prepare Data for Analysis
5. To bucket remaining values that you have not bucketed, select Bucket remaining values and enter a bucket for these values.
If you don’t select this option, rows with unbucketed values keep the same value in the new bucket field.
6. When you have completed all the buckets, click Add.
The new bucket field appears next to the source field in the recipe preview.
USER PERMISSIONS
To create a recipe:
• Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
1132
Analyze Your Data Integrate and Prepare Data for Analysis
2. Enter a start date and end date for Bucket1, and enter a name for the bucket.
In this example, you want each bucket to be a season, so you enter the date range for winter and enter the bucket name.
3.
To add more buckets, click and repeat step 2.
4. To bucket remaining values that you have not bucketed, select Bucket remaining values and enter a bucket for these values.
If you don’t select this option, rows with unbucketed values keep the same value in the new bucket field.
5. When you have completed all the buckets, click Add.
The new bucket field appears next to the source field in the recipe preview.
In Relative mode, each bucket is a period of time relative to the date that the recipe runs. You can create bucket periods based on days,
weeks, months, quarters, or even years. For example, create a bucket field from the case created date to categorize cases by when they
were opened.
1133
Analyze Your Data Integrate and Prepare Data for Analysis
When you create a relative date bucket field, manually enter the start and end of each period, or use the sliders.
USER PERMISSIONS
To create a recipe:
• Edit CRM Analytics
Dataflows OR Edit
Dataset Recipes
1134
Analyze Your Data Integrate and Prepare Data for Analysis
• To use a suggested function, click the field that you want to use in the recipe preview, and then click a function in the suggestions
bar below the preview.
The formula is started for you, using the field and function that you selected.
• To select multiple fields for use in your formula, while pressing Shift or Ctrl (Cmd on Mac), click the fields that you want to use
in the recipe preview. Then click an function in the suggestions bar below the preview.
The formula is started for you, using the fields and operator that you selected.
2. In the formula builder, enter the formula. If the formula has been started for you, you can edit it here.
1135
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Here are some tips for entering or editing your formula.
• Just start typing to see matching functions and fields.
• To select a match, either click it, or use your cursor up and down keys to select it and then press Enter or Tab.
• Use your keyboard to enter parentheses, arithmetic operators, and numbers as needed.
Tip: You can bucket a formula field or reference it in other formulas in the recipe.
1136
Analyze Your Data Integrate and Prepare Data for Analysis
abs Function
Calculates the absolute value of a number. The absolute value of a number is the number without
EDITIONS
its positive or negative sign.
Syntax Available in Salesforce
Classic and Lightning
abs(number)
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
number Literal value or measure field of which you want Enterprise, Performance,
to determine the absolute value. and Unlimited Editions. Also
available in Developer
Edition.
1137
Analyze Your Data Integrate and Prepare Data for Analysis
ceil Function
Rounds a number up to the nearest integer.
EDITIONS
Syntax
Available in Salesforce
ceil(number)
Classic and Lightning
Arguments Experience.
exp Function
Returns a value for e raised to the power of a number you specify.
EDITIONS
Syntax
Available in Salesforce
exp(number)
Classic and Lightning
Arguments Experience.
floor Function
Returns a number rounded down to the nearest integer.
EDITIONS
Syntax
Available in Salesforce
floor(number)
Classic and Lightning
Arguments Experience.
1138
Analyze Your Data Integrate and Prepare Data for Analysis
log Function
Returns the logarithm of a number in the base you specify.
EDITIONS
Syntax
Available in Salesforce
log(base, number)
Classic and Lightning
Arguments Experience.
power Function
Raises a number to the power of another number.
EDITIONS
Syntax
Available in Salesforce
power(number, power)
Classic and Lightning
Arguments Experience.
round Function
Returns the nearest number to a number you specify, constraining the new number by a specified
EDITIONS
number of digits.
Syntax Available in Salesforce
Classic and Lightning
round(number, numberOfDigits)
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
number Literal value or measure field that you want to Enterprise, Performance,
round. and Unlimited Editions. Also
available in Developer
numberOfDigits Literal value or measure field that specifies the Edition.
number of digits to which the specified number
will be rounded.
1139
Analyze Your Data Integrate and Prepare Data for Analysis
sqrt Function
Returns the positive square root of a given number.
EDITIONS
Syntax
Available in Salesforce
sqrt(number)
Classic and Lightning
Arguments Experience.
trunc Function
Truncates a number to an integer.
EDITIONS
Syntax
Available in Salesforce
trunc(number)
Classic and Lightning
Arguments Experience.
1140
Analyze Your Data Integrate and Prepare Data for Analysis
concat Function
Returns a string by concatenating the values of the specified columns and input strings. For example, to display the close date as
MM-DD-YYYY, concatenate the Close_Date_Month column, Close_Date_Day column, and Close_Date_Year column, and add a
dash between each of them.
lower Function
Returns a string with all characters from the input string in lowercase. If the input string is null, then the result is null.
ltrim Function
Removes the specified substring from the beginning of a string. To remove leading spaces, do not specify a substring.
replace Function
Replaces a substring with the specified characters. If any of the arguments are null, then the function returns null. This function is
case-sensitive.
rtrim Function
Removes the specified substring from the end of a string. To remove trailing spaces, do not specify a substring.
substr Function
Returns characters from the string, starting at the specified position and of the specified length.
title Function
Returns the string with the initial character of every word in uppercase and the remaining characters in lowercase. For example,
“united states” becomes “United States.”
trim Function
Removes the specified substring from the beginning and end of a string. To remove leading and trailing spaces, do not specify a
substring.
upper Function
Returns the string with all characters in uppercase. If string is null, then the result is null.
concat Function
Returns a string by concatenating the values of the specified columns and input strings. For example,
EDITIONS
to display the close date as MM-DD-YYYY, concatenate the Close_Date_Month column,
Close_Date_Day column, and Close_Date_Year column, and add a dash between each of them. Available in Salesforce
Syntax Classic and Lightning
Experience.
concat(string1,string2,...)
Arguments Available with CRM
Analytics, which is available
for an extra cost in
Argument Description
Enterprise, Performance,
string1 First dimension field or text string to include in and Unlimited Editions. Also
the concatenated value. available in Developer
Edition.
string2 Second dimension field or text string to include.
Note: This function also appears in the Suggestion bar when you select multiple dimension columns in the recipe editor.
1141
Analyze Your Data Integrate and Prepare Data for Analysis
Example: To create the full name, concatenate the first and last name with a space in between them as shown in the following
formula.
concat([OwnerId.FirstName]," ",[OwnerId.LastName])
1142
Analyze Your Data Integrate and Prepare Data for Analysis
lower Function
Returns a string with all characters from the input string in lowercase. If the input string is null, then
EDITIONS
the result is null.
Syntax Available in Salesforce
Classic and Lightning
lower(string)
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
string Dimension field or text string to convert to Enterprise, Performance,
lowercase. and Unlimited Editions. Also
available in Developer
Edition.
Example: The AccountId.Industry column uses different casing for industries, like “Media”
and “media.” To apply consistent casing to the columns values, convert them to lowercase
using the following formula.
lower([AccountId.Industry])
1143
Analyze Your Data Integrate and Prepare Data for Analysis
ltrim Function
Removes the specified substring from the beginning of a string. To remove leading spaces, do not
EDITIONS
specify a substring.
Syntax Available in Salesforce
Classic and Lightning
ltrim(string,[substring])
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
string Dimension field or text string to remove the Enterprise, Performance,
leading spaces or specified substring from. and Unlimited Editions. Also
available in Developer
substring Optional. The value removed from the string. Edition.
1144
Analyze Your Data Integrate and Prepare Data for Analysis
replace Function
Replaces a substring with the specified characters. If any of the arguments are null, then the function
EDITIONS
returns null. This function is case-sensitive.
Syntax Available in Salesforce
Classic and Lightning
replace(string,searchString,replacementString)
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
string Dimension field or text string that contains the Enterprise, Performance,
substring to be replaced. and Unlimited Editions. Also
available in Developer
searchString Substring to replace. If searchString is an empty Edition.
string, the function returns null.
Tip: To replace null values in a dimension or date column, use the Replace transformation and select the Search for null option.
Example: To change the account name from “salesforce.com” to “Salesforce” in the Account_Name column, use the following
formula.
replace([Account_Name],"salesforce.com","Salesforce")
1145
Analyze Your Data Integrate and Prepare Data for Analysis
rtrim Function
Removes the specified substring from the end of a string. To remove trailing spaces, do not specify
EDITIONS
a substring.
Syntax Available in Salesforce
Classic and Lightning
rtrim(string,[substring])
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
string Dimension field or text string to remove the Enterprise, Performance,
trailing spaces or specified substring from. and Unlimited Editions. Also
available in Developer
substring Optional. The value to remove from the string. Edition.
Example: You want to trim the 2 trailing space characters from a string.
rtrim("2 Spaces After ")
1146
Analyze Your Data Integrate and Prepare Data for Analysis
substr Function
Returns characters from the string, starting at the specified position and of the specified length.
EDITIONS
Syntax
Available in Salesforce
substr(string,position,[length])
Classic and Lightning
Arguments Experience.
Example: You want to return the 13th, 14th, and 15th character from each account ID.
substr([Account_Id],13,3)
1147
Analyze Your Data Integrate and Prepare Data for Analysis
title Function
Returns the string with the initial character of every word in uppercase and the remaining characters
EDITIONS
in lowercase. For example, “united states” becomes “United States.”
Syntax Available in Salesforce
Classic and Lightning
title(string)
Experience.
Arguments
Available with CRM
Analytics, which is available
Argument Description
for an extra cost in
string Dimension field or text string on which to apply Enterprise, Performance,
title casing. and Unlimited Editions. Also
available in Developer
Edition.
Example: You want to apply title casing on the opportunity names to ensure consistent
casing on these values.
title([Opp_Name])
1148
Analyze Your Data Integrate and Prepare Data for Analysis
trim Function
Removes the specified substring from the beginning and end of a string. To remove leading and
EDITIONS
trailing spaces, do not specify a substring.
Syntax Available in Salesforce
Classic and Lightning
Tip: Use the trim function in a SAQL query to trim other types of characters. Experience.
trim(string,[substring]) Available with CRM
Arguments Analytics, which is available
for an extra cost in
Enterprise, Performance,
Argument Description
and Unlimited Editions. Also
string Dimension field or text string to remove the available in Developer
specified substring from. Edition.
Example: You want to remove the two leading spaces before and after a string.
trim(" Spaces Before and After ")
1149
Analyze Your Data Integrate and Prepare Data for Analysis
upper Function
Returns the string with all characters in uppercase. If string is null, then the result is null.
EDITIONS
Syntax
Available in Salesforce
upper(string)
Classic and Lightning
Arguments Experience.
1150
Analyze Your Data Integrate and Prepare Data for Analysis
Note: To prevent double counting, exclude aggregated values that don’t match the grain
of the dataset. For example, the following dataset’s grain is opportunity—each record
represents an opportunity. However, the grain of the Account Annual Revenue aggregated
value is account. If a user doesn’t know the dataset grain and adds all Account Annual Revenue
values, he would double count annual revenue for accounts with multiple records. To prevent
double counting, move Account Annual Revenue to a different dataset where the grain is
account.
1.
On the recipe page, click the Aggregation button ( ).
2. To change the granularity of the data, add groups. For example, group by account name to aggregate metrics by this dimension.
3. To view aggregated metrics for each grouping, add aggregates. For example, calculate the average age for opportunities to close,
total amounts, average amounts, and total number of deals. Because these opportunities are grouped by account name, these
aggregates provide key metrics about each account.
1151
Analyze Your Data Integrate and Prepare Data for Analysis
4. Click Done.
Notice that the aggregates and group-by fields are the only fields included in the output. All other fields from the source dataset
are excluded—you can’t perform transforms on them in this recipe anymore.
5. Click Save > Save Recipe.
When you run the recipe, CRM Analytics generates a new dataset that contains the aggregates specified in the recipe and a grain
determined by the groups. In the example, we see the aggregates for each account.
Note: To transform column values in a Data Prep recipe, see Formula Transformation: Create a Calculated Column Based on an
Expression. To accomplish these tasks in a dataflow, see computeExpression Transformation.
1152
Analyze Your Data Integrate and Prepare Data for Analysis
When you transform a field, a new field is added with the new values to the right of the original field. You can choose to keep or remove
the original field.
To transform a field, click in the column header (1), and then click the transformation that you want to use. Alternatively, select a
transformation from the Suggestions bar at the bottom of the recipe.
Transformation settings appear in the Add Transformation panel below the preview data.
Lowercase Convert values in selected field to Correct lead email addresses captured at a trade show.
lowercase. JSMITH@FORRESTER.COM becomes
jsmith@forrester.com.
Replace Find a specific value in a field and Make country values consistent.
replace it with a new value. A new Find all instances of US and Replace them with USA.
field is created containing both
replaced and unchanged values.
You can also replace nulls with a
value. For example, to allow users to
group transactions that don’t have a
product, replace all nulls in the
Product field with “N/A”.
Split Divide values into multiple parts at Divide phone numbers into area code and number.
the delimiter and create a field for Select the - delimiter to split 925-900 2123 into two
each part. new values 925 and 900 2123.
Substring Starting at the character Position in Extract the month from date values.
a value, extract the number of Enter a Position of 4 and a Length of 2 to extract the
characters in Length into a new month value 10 from the month value 2016-10-23.
field.
1153
Analyze Your Data Integrate and Prepare Data for Analysis
Important: CRM Analytics datasets contain date and time component fields, such as Year, Quarter, and Month, that are derived
automatically from existing date and time fields. Transformations on these component fields are not supported.
SEE ALSO:
Standardize Date Formats
Convert Field Types in a Recipe
1154
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The order of the date formats in the Original Formats box matters. For example, if a date is 01/06/2011, the date format
could be dd/MM/yyyy or MM/dd/yyyy. The Date Format transformation assumes the first matching format shown the Original
Date Format box is the right one.
yy-MM-dd'T'HH:mm:ss.SSS'Z' 14-04-29T16:53:34.000Z
yyyy-MM-dd'T'HH:mm:ss'Z' 2014-04-29T16:53:34Z
yy-MM-dd'T'HH:mm:ss'Z' 14-04-29T16:53:34Z
1155
Analyze Your Data Integrate and Prepare Data for Analysis
• When you configure the Format Dates transformation, CRM Analytics detects the formats of the dates in the column. The order of
the date formats listed in the Original Formats box matters. For example, if a date is 01/06/2011, the date format could be dd/MM/yyyy
or MM/dd/yyyy. The Date Format transformation assumes the first matching format shown the Original Date Format box is the right
one. If you want to use the other format, add it as the first date format in the box.
1156
Analyze Your Data Integrate and Prepare Data for Analysis
• In the column profile, the histogram shows a bar for each date format. If applicable, the histogram also shows one extra bar for all
dates for which the format couldn't be determined. Notice that the column profile says that there are two different date formats,
even though there are three bars in the histogram.
1157
Analyze Your Data Integrate and Prepare Data for Analysis
2. In the Date Format field, select the date format to display the dates.
1158
Analyze Your Data Integrate and Prepare Data for Analysis
Note: To convert a measure to a dimension in a Data Prep recipe, see Number to Text
Transformation: Convert the Column Type.
1159
Analyze Your Data Integrate and Prepare Data for Analysis
1.
On the column header of the measure field, click , and then select To Dimension.
Note: To predict missing values in a Data Prep recipe, see Predict Missing Values Transformation: Fill In Missing Values.
1160
Analyze Your Data Integrate and Prepare Data for Analysis
3. Select up to three dimension columns to use to predict the missing values for the selected column.
Tip: To make an accurate prediction, each column must have less than 200 unique values. Also, verify that these predictive
columns contain clean, quality data. For example, you have an Education predictive column that contains values such as
“Bachelors Degree” and “Bachelors.” Use the bucket transformation to bucket field values with the same meaning. Then use
the column with the clean data as a predictive column. For more information about bucketing, see Bucket a Dimension Field
in a Recipe.
1161
Analyze Your Data Integrate and Prepare Data for Analysis
1162
Analyze Your Data Integrate and Prepare Data for Analysis
Columns are color-coded to distinguish columns from different sources. To quickly find a column, start typing its name in the Search
columns box (1) to narrow down the list of columns. When you see the column that you want, click it to see its column profile on the
right. To view or edit the column’s metadata, click Attributes (2) in the profile pane. Here you can edit the API names and labels of new
columns that you create in a recipe, and the labels of existing columns. If you decide that you don’t need the column in the recipe, select
Hide Column (3) from the column menu. Columns that you hide appear in a separate list (4). To add a hidden column to the recipe,
select Add to Recipe from its menu.
Note: If you hide a column in the navigator, by default it is not included when the recipe runs. However, you can choose to include
the column when you run the recipe.
To access recipe step actions, hover over the step and click .
1163
Analyze Your Data Integrate and Prepare Data for Analysis
Note: The actions available for each step depend on the step’s position.
Action Description
Edit Edit the current step.
You can also edit a step by clicking any of the blue values.
Go to Start Display the preview data as it was at the start of the recipe, before you added any steps. This action is only available
for the first step.
Go to Display the preview data as it was at the current step, before you added any subsequent steps.
Note: Removing a step can cause subsequent steps to stop working. For example, if you remove a formula field step that is used
in a later formula field, CRM Analytics can’t calculate the second formula. When this action happens, the affected step appears in
red, with an explanation of the error, alerting you to the need to edit the step.
1164
Analyze Your Data Integrate and Prepare Data for Analysis
Save a Recipe
If you’re not ready to create the target dataset, save the recipe and come back to it later. That saves your steps without you having to
create the dataset.
To save a recipe, click Save.
Note: You can also specify the metadata in a metadata file. A metadata file is a JSON file that describes the structure of an external
data file. After you create a dataset based on an external data file, you can edit the dataset to apply a new metadata file. This
enables you to change the metadata attributes of each column. For more information about the metadata file, see the Analytics
External Data API Developer Guide .
CRM Analytics temporarily stores the uploaded CSV and metadata files for processing only. After a dataset is created, CRM Analytics
purges the files.
1165
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Create Datasets Programmatically from CSV Files Using the External Data API
6. In the File Properties Detected box, check that CRM Analytics has correctly identified the properties of your file.
Usually, CRM Analytics correctly identifies your file properties. If it doesn’t, your data may not load correctly and you will see unexpected
results when you preview the data on the next screen. To edit the file properties, click and select Edit.
Note: CRM Analytics also generates a metadata file for your data. This file contains properties such as field labels, field types,
and settings. You can view and change these schema properties when you preview the data on the next screen. However, if
you want to download the file first, or replace it with your own file, click in the Data Schema File field.
7. Click Next.
The Edit Field Attributes screen appears. Here, you can preview the data, and view or edit the attributes for each field.
1166
Analyze Your Data Integrate and Prepare Data for Analysis
8. To view or change a field’s attributes, either click the field in the list on the left, or click the field’s column.
Field attributes appear in a panel on the right. The field attributes that you see are determined by the field type.
CRM Analytics detects the format for date fields based on a sample of values. If the sample contains values with unsupported formats
or a mixture of formats, CRM Analytics sets the field type to Text. If you change the date format that CRM Analytics detects, rows
with a different format will fail.
Consider this example data.
Consider this example data.CRM Analytics detects the date format for the Last Updated field as M/d/yy. This format displays months
and days below 10 without leading zeros, and years as 2 digits, as in 1/1/17. If you change the format to MM/dd/yy, rows 1 and
3 will fail because CRM Analytics expects the month and day parts of the date values to have 2 digits.
9. When you finish reviewing or editing field attributes, click Upload File.
CRM Analytics uploads the data, prepares and creates the dataset, and shows you progress as it happens.
1167
Analyze Your Data Integrate and Prepare Data for Analysis
10. Choose one of these options while CRM Analytics creates the dataset.
a. To cancel the process and stop dataset creation, click Cancel on the progress dialog.
This option is available only when the data is uploading.
b. To close the progress dialog and leave the process running in the background, click Close.
c. To close the progress dialog but continue monitoring progress on the Monitor tab of Data Manager, click the Continue in the
background and check progress in the data monitor link.
d. Do nothing. When the dataset is created, you’re taken to the dataset’s edit page, where you can explore the data in a lens, prepare
it in a recipe, or create a story in Einstein Discovery.
Note: You can also use the External Data API to programmatically upload .csv files. Use the API to take advantage of more features,
like performing incremental extracts and performing append, delete, and upsert operations.
SEE ALSO:
Handle Date Values
1168
Analyze Your Data Integrate and Prepare Data for Analysis
• The CSV file must meet all Analytics requirements as mentioned in the Analytics External Data Format Developer Guide.
Analytics generates the metadata attributes for each CSV column based on the first 100 rows in the CSV file. Analytics uses the following
rules to convert the CSV column names to field labels.
• Replaces special characters and spaces with underscores. For example, "Stage Name" becomes "Stage_Name."
• Replaces consecutive underscores with one underscore, except when column name ends with "__c." For example, "stage*&name"
becomes "stage_name."
• Prefixes the field label with "X" when the first character of the column name is numeric. For example, "30Day" becomes "X30Day."
• Replaces the field name with "Column" + column number when all characters in the column name are not alphanumeric. For
example, the fourth column name "*&^*(&*(%" becomes "Column4."
• Deletes underscores at the beginning and end of the field label to ensure that it doesn't start or end with an underscore.
• Increments the derived field label if the label is the same as an existing label. For example, if "X2" already exists, uses "X21," "X22,"
"X23."
Tip: You can download the generated metadata file to change the metadata settings, and then upload it to apply the changes.
You can download the metadata file when you create or edit a dataset.
Note: Duration is calculated as the sum of the job queue time and job run time. Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
1169
Analyze Your Data Integrate and Prepare Data for Analysis
1.
In CRM Analytics, click the gear icon ( ) and then click Data Manager.
The data manager opens on the Monitor tab, with the Jobs subtab selected by default. It displays each upload job name as
<dataset_name upload flow>. You can hover a job to view the entire name.
Note: To view external data upload jobs in the Jobs view, make sure that the File Uploads selector (2) is set to Show. Show
is the default selection.
2.
To see the latest status of a job, click the Refresh Jobs button ( ).
Each job can have one of these statuses.
Status Description
Queued The job is in queue to start.
A message is displayed next to jobs with a status of Warning (3) or Failed . If you can’t see the complete message, click the message
to view all of it.
3. To view the run-time details for a job, expand the job node (4).
The run-time details display under the job. In the run-time details section, scroll to the right to view information about the rows that
were processed.
4. To troubleshoot a job that has failed rows, view the error message. If an error log is available, click the status text or download button
(5) to download the log.
Note: Only the user who uploaded the external data file can download the error log.
1170
Analyze Your Data Integrate and Prepare Data for Analysis
5. To troubleshoot a failed job, view the error message and the run-time details.
1171
Analyze Your Data Integrate and Prepare Data for Analysis
From the Source File Time Zone picklist (1), select the time zone of the data. The Target Time Zone (2) is the time zone selected for
your org in settings. CRM Analytics converts date-time values in the file from the source time-zone to the target time zone in the
resulting dataset.
Create Datasets Programmatically from CSV Files Using the External Data API
You can use the External Data API to create a single dataset based on external data in a .csv file. You can also use the API to edit the
dataset by uploading a new .csv file. When you edit the dataset, you can choose to overwrite all records, append records, update records,
or delete records.
When you upload a .csv file with the External Data API, you have to explicitly set the metadata attributes for each column in the .csv file.
For example, you can set the field type and default value for each column. You set the metadata attributes for a .csv file in its own
metadata file. A metadata file is a JSON file that describes the structure of an external data file. If no metadata file is provided when you
upload external data using the API, CRM Analytics treats every column as a dimension and sets the field type to 'Text.' The field type
determines the types of queries that can be placed on the column. For example, you can’t perform mathematical calculations on dataset
columns with a Text field type. You can perform mathematical calculations only on dataset columns with a Numeric field type.
For more information about the External Data API, see the Analytics External Data API Developer Guide .
1172
Analyze Your Data Integrate and Prepare Data for Analysis
4. Search for the CRM Analytics Connector for Excel, and click Add to install it.
5. Click Log in to Salesforce, and enter your Salesforce credentials to open the Connector.
When you’ve installed the Connector, follow the instructions in the Connector window to create a dataset from your Excel data. Opening
the Connector automatically logs you in to CRM Analytics. Click the Connector Help icon for complete information about using the app.
1173
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
1174
Analyze Your Data Integrate and Prepare Data for Analysis
If the report you want to trend doesn’t exist, you must create it first.
Note: Only the saved version of a report is trended. If you've made unsaved changes to a report, then trend the report, the
changes aren’t reflected in the trending dashboard.
4. Enter a title for the trending dashboard and the new trending dataset.
5. Set a schedule for updating the dashboard, which determines how often snapshots of report data are taken.
Note:
• After you set the schedule, it can't be changed.
• If you choose a schedule that updates on the 29th, 30th, or 31st of the month, no updates occur on months that have too
few days to meet that schedule.
• To avoid unwanted behavior during changes to daylight savings, don't choose 2 A.M. as an update time.
6. Choose a different app if you don’t want to save the trending dataset in My Private App.
If you save the dataset to a shared app, all users who can view that app can view the dataset.
7. Click Start Trending.
When the new trending dashboard is ready, you receive an email with a link. After the dashboard is ready, you can also begin to
explore the associated dataset, which appears in the CRM Analytics datasets list.
8. Connect to the new trending dashboard using the link in the notification email, or by going to the app in which you saved it (after
receiving the notification email).
At first, the trending dashboard displays only 1 data point. As snapshots are taken and added to the new CRM Analytics trending
dataset underlying the dashboard, more data points are added.
You can’t re-create a trended report. Therefore, it's recommended that you make a copy of the report to guard against data loss.
Note: Trend data stored by a copy of a report counts towards your dataset row limit.
You can also trend any report directly by clicking Trend on that report.
1175
Analyze Your Data Integrate and Prepare Data for Analysis
In Lightning Experience:
In classic Salesforce:
After you start trending, the Trend button on the report becomes View Trend. If you click that button in Lightning Experience, an
embedded dashboard appears.
1176
Analyze Your Data Integrate and Prepare Data for Analysis
To return to the report, click Back to Report View (1). To view the report in CRM Analytics, click the Analytics button (2).
1177
Analyze Your Data Integrate and Prepare Data for Analysis
To stop trending from Lightning Experience, go to the trending report and open the menu next to View Trend and choose Stop
Trending.
To stop trending from classic Salesforce, go to the trending report and click View Trend on the report to open a dialog, then click Stop
Trending.
Note: If you stop trending, you cannot restart where the trending left off (there is no pause button). Trending the same report
again creates a new dataset and a new trending dashboard.
1178
Analyze Your Data Integrate and Prepare Data for Analysis
Important: Sharing the trending CRM Analytics dashboard or the underlying dataset could expose data to users who normally
would not have access to that data.
It is possible to share trending CRM Analytics dashboards with users who would normally be prevented from seeing data based
on security settings. If you save a trending dashboard to any app that is not My Private App, then anyone with access to that app
(and the underlying dataset) can view all data in that CRM Analytics dashboard regardless of any sharing restrictions or field-level
security that has been set.
1179
Analyze Your Data Integrate and Prepare Data for Analysis
Value Limit
Maximum number of trended datasets per user 5
Maximum number of rows in the report to be trended 500,000 for admins, 100,000 for non-admins
Maximum monthly number of rows for all snapshots per org 40 million
To control the impact that trended datasets have on general org-wide limits, configure these limits, available on the Analytics Settings
page:
• Max number of rows per snapshot is an option to control the maximum number of rows that a trended report can have when a
snapshot is taken. If the report exceeds the limit, the snapshot isn’t taken and an error email is sent to the user.
• Max total number of rows in a trended dataset is an option to limit the maximum number of rows that the Analytics dataset
containing the snapshots can have. If the dataset exceeds the limit, the oldest snapshot is deleted from the dataset.
• Enable automatic deletion of inactive datasets is an option that is on by default. Trending dashboards that aren't being updated
or accessed for the number of days configured in Number of days to keep inactive datasets are deleted. The default number of
days a trending dashboard can remain inactive is 100. The dashboard owner receives an email warning a week before deletion.
When the dashboard and dataset are deleted, the owner receives an email confirmation.
Roll out the capability gradually to your user base and observe data usage and performance. Stop trending datasets that are no longer
needed for active use and delete the underlying trended datasets to recover storage limits.
The best candidates for trending are reports that can be visualized in time and have some frequently changing values. Examples: open
opportunities pipeline or escalated cases.
You can’t use trended datasets as sources in recipes. To prepare data from trended datasets, use a dataflow.
Some situations can prevent a report that is trended in Analytics from successfully capturing the data for a particular run. These situations
include, but are not limited to: Jobs involving the User object, site switching, and instance maintenance. If a trended report attempts to
run under these conditions, it fails and the dataset does not have records added for that run. You can’t reschedule or run a trending job
again; however, future runs that are not subject to these conditions process as normal.
Users whose profiles have View Encrypted Data enabled can't create trended datasets because Analytics does not support encrypted
data.
Only the user who starts trending the report can stop trending it. The user can share the trending dashboard with other users. If another
user wants to trend the same report, the user must create a trend, which does not affect other trends for the report.
After trending begins, do not change access rights to the underlying report or add or delete dimensions and measures. Changing the
report or the access rights can cause an error or inaccuracies at the time a snapshot is taken.
If you modify a field in a report that is trended, the change is reflected in the associated dashboard from the time of the change onward.
If you change other aspects of the report, such as filters, those changes aren’t reflected in the associated dashboards.
Snapshots are taken every Sunday at midnight (local time), unless you set a different schedule when trending a report. Processing and
surfacing the data requires more time, which can delay snapshots.
If trending is stopped and then restarted, a new snapshot dataset is created, with a new trending dashboard. The previously trended
dataset isn’t included in the new dashboard. Data can be moved into the new dataset using the Salesforce data APIs.
Trended datasets are created in their own private folders. You can use the Update Dataset button to move the dataset from a private
to a public folder.
1180
Analyze Your Data Integrate and Prepare Data for Analysis
The dataflow that creates a trended dataset is auto generated and can’t be viewed or modified. This restriction is required because the
underlying trending logic can be sensitive to changes in the dataflow.
You can’t customize the XMD of trended datasets. Customize Actions functionality aren't available for trended datasets.
The dashboard designer is enabled by default for most orgs. Make sure that it remains enabled for your org. To render, trending dashboards
rely on the dashboard designer being enabled.
Boolean fields in a trended report are treated both as a measure (for calculations) and a dimension (for sorting).
If you modify the dashboard for a trended report, the changes are reflected in the next trend update.
1181
Analyze Your Data Integrate and Prepare Data for Analysis
• New Workflow: You use a data template to generate data assets that import the data, use Data Prep recipes to clean the data, and
output the data to Salesforce.
To match the requirements of different use cases, data templates have three levels of functionality.
1182
Analyze Your Data Integrate and Prepare Data for Analysis
For more information on templates, see the Analytics Template Developer Guide.
3. Select a data template and click Next. If the template that you selected includes a configuration wizard, it opens now. Answer the
questions on each page of the wizard, setting up the workflow for importing and processing the data.
4. Name your data app, add a description for more information, and click Create.
Note: The use of “data app” is a reference to the collection of data assets created by the template.
1183
Analyze Your Data Integrate and Prepare Data for Analysis
4. Name your data app, add an optional description for more information, and click Create.
Note: The use of “data app” is a reference to the collection of data assets created by the template.
The data asset creation process takes some time to complete. You can view your app in progress on the Auto-Installed Apps page. To
view this page, from Setup, in the Quick Find box, enter Auto-Installed Apps, and then select Auto-Installed Apps. For more
information on the Auto-Installed Apps page, see Monitor, Update, and Delete Auto-Installed Apps.
You can view detailed app creation information on the App Install History page. To view this page, from Setup, in the Quick Find box,
enter App Install History, and then select App Install History. Use the filter to select Data Templates. For more
information on the App Install History page, see Monitor and Troubleshoot Templated App Installations.
1184
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Detect Sentiment works on a single dimension column and supports English only. It processes non-English text as English
and ignores images, including emoji. If the input value is null or empty string (‘’), the transformation assigns the sentiment as
Neutral or with a value of 2.5, depending on the output type. Applying Detect Sentiment on text such as IDs, nouns, addresses, or
alphanumeric values can return unexpected results.
The output dataset, SentimentData, contains the sentiment analysis result in the sentiment column, labeled with the field name
appended with Sentiment. All additional fields are also present in the output dataset.
You can customize the templated recipe in the recipe editor. If you make changes, it’s recommended that you save it as a new recipe.
Manage Datasets
Edit a dataset to update its data, change its extended metadata, apply row-level security, or restore the dataset to a previous version.
You can manage your datasets on the Datasets tab of Data Manager.
Use the search box (1) to find datasets. Click a column header (2) to sort by that column. If you have the Manage Analytics permission,
datasets in users’ private apps are visible here.
1185
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
sfdcRegister Transformation
sfdcRegister Parameters
1186
Analyze Your Data Integrate and Prepare Data for Analysis
Define a predicate for each dataset on which you want to restrict access to records. A security predicate is a filter condition that defines
row-level access to records in a dataset.
When a user submits a query against a dataset that has a predicate, CRM Analytics checks the predicate to determine which records the
user has access to. If the user doesn’t have access to a record, CRM Analytics doesn’t return that record.
Note:
• If the dataset already exists, changes to its security settings must be done directly by editing the dataset. After a dataset is
created, changes to security settings in the dataflow (rowLevelSharingSource or rowLevelSecurityFilter) or recipe (Security
Predicate) have no effect.
• When sharing inheritance is enabled, you can set the security predicate to ‘false’ to block all users not covered by sharing. In
fact, this predicate is the default when sharing is enabled on existing datasets.
The predicate is flexible and can model different types of security policies. For example, you can create predicates based on:
• Record ownership. Enables each user to view only records that they own.
• Management visibility. Enables each user to view records owned or shared by their subordinates based on a role hierarchy.
• Team or account collaboration. Enables all members of a team, like an opportunity team, to view records shared with the team.
• Combination of different security requirements. For example, you can choose to define a predicate based on the Salesforce role
hierarchy, teams, and record ownership.
The type of security policy you implement depends on how you want to restrict access to records in the dataset.
Warning: If row-level security isn’t applied to a dataset, any user that has access to the dataset can view all records in the dataset.
You can create a predicate expression based on the user or information in the dataset. For example, to enable each user to view only
dataset records that they own, you can create a predicate based on a dataset column that contains the owner for each record. If needed,
you can load additional data into a dataset required by the predicate.
Important: Security predicates referencing $User information require a new user session before a new value is recognized.
1187
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Although this example is about applying a predicate to a dataset created from a CSV file, this procedure can also be applied
to a dataset that is created from Salesforce data.
1188
Analyze Your Data Integrate and Prepare Data for Analysis
If you were to create the dataset without implementing row-level security, any user that had access to the dataset would be able to see
the sales targets for all account owners. For example, as shown below, Keith would be able to view the sales targets for all account
owners.
You need to apply row-level security to restrict access to records in this dataset.
Note: All predicate examples in this document escape the double quotes because it’s required when you enter the predicate in
the Register transformation or metadata file.This predicate implements row-level security based on record ownership. Based on
the predicate, CRM Analytics returns a sales target record when the user who submits the query on the dataset is the account
owner.
Let’s take a deeper look into the predicate expression:
• AccountOwner refers to the dataset column that stores the full name of the account owner for each sales target.
• $User.Name refers to the Name column of the User object that stores the full name of each user. CRM Analytics performs a lookup
to get the full name of the user who submits each query.
Note: The lookup returns a match when the names in AccountOwner and $User.Name match exactly—they must have the same
case.
1189
Analyze Your Data Integrate and Prepare Data for Analysis
1190
Analyze Your Data Integrate and Prepare Data for Analysis
]
}
USER PERMISSIONS
1191
Analyze Your Data Integrate and Prepare Data for Analysis
8. To verify that the job completes successfully, perform the following steps:
a.
Click the gear icon ( ) and then select Data Monitor to open the data monitor.
By default, the Jobs View of the data monitor appears. It shows the statuses of dataflow and external data upload jobs.
b.
Click the Refresh Jobs button ( ) to view the latest statuses of the jobs.
1192
Analyze Your Data Integrate and Prepare Data for Analysis
Your organization also contains the following opportunities, most of which are owned by Keith.
1193
Analyze Your Data Integrate and Prepare Data for Analysis
Acc - 1000 Widgets is the only opportunity shared by an opportunity team. Bill is the Sales Manager for this opportunity. Tony is the
opportunity owner.
Now let’s implement that design in JSON, which is the format of the dataflow definition file. A
dataflow definition file contains transformations that extract, transform, and load data into a dataset.
Based on the design, you create the JSON shown below.
{
"Extract_OpportunityTeamMember": {
"action": "sfdcDigest",
"parameters": {
"object": "OpportunityTeamMember",
"fields": [
{ "name": "Name" },
{ "name": "OpportunityId" },
{ "name": "UserId" }
]
}
},
"Extract_Opportunity": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
1194
Analyze Your Data Integrate and Prepare Data for Analysis
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Augment_OpportunityTeamMember_Opportunity": {
"action": "augment",
"parameters": {
"left": "Extract_OpportunityTeamMember",
"left_key": [
"OpportunityId"
],
"relationship": "TeamMember",
"right": "Extract_Opportunity",
"right_key": [
"Id"
],
"right_select": [
"Name","Amount"
]
}
},
"Register_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OppTeamMember",
"name": "OppTeamMember",
"source": "Augment_OpportunityTeamMember_Opportunity",
"rowLevelSecurityFilter": ""
}
}
}
If you were to run this dataflow, CRM Analytics would generate a dataset with no row-level security. As a result, any user that has access
to the dataset would be able to see the opportunity shared by the opportunity team.
For example, as shown below, Lucy would be able to view the opportunity that belongs to an opportunity team of which she is not a
member.
1195
Analyze Your Data Integrate and Prepare Data for Analysis
You need to apply row-level security to restrict access to records in this dataset.
'UserId' == "$User.Id"
This predicate compares the UserId column in the dataset against the ID of the user running a query against the dataset. The UserId
column in the dataset contains the user ID of the team member associated with each opportunity. To determine the ID of the user
running the query, CRM Analytics looks up the ID of the user making the query in the User object.
For each match, CRM Analytics returns the record to the user.
1196
Analyze Your Data Integrate and Prepare Data for Analysis
{
"Extract_OpportunityTeamMember": {
"action": "sfdcDigest",
"parameters": {
"object": "OpportunityTeamMember",
"fields": [
{ "name": "Name" },
{ "name": "OpportunityId" },
{ "name": "UserId" }
]
}
},
"Extract_Opportunity": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Augment_OpportunityTeamMember_Opportunity": {
"action": "augment",
"parameters": {
"left": "Extract_OpportunityTeamMember",
"left_key": [
"OpportunityId"
],
"relationship": "TeamMember",
"right": "Extract_Opportunity",
"right_key": [
"Id"
1197
Analyze Your Data Integrate and Prepare Data for Analysis
],
"right_select": [
"Name","Amount"
]
}
},
"Register_Dataset": {
"action": "sfdcRegister",
"parameters": {
"alias": "OppTeamMember",
"name": "OppTeamMember",
"source": "105_Augment_OpportunityTeamMember_Opportunity",
"rowLevelSecurityFilter": "'UserId' == \"$User.Id\""
}
}
}
1198
Analyze Your Data Integrate and Prepare Data for Analysis
Note: If you are adding a predicate to a dataset that was previously created, each user must log out and log back in for the
predicate to take effect.
1199
Analyze Your Data Integrate and Prepare Data for Analysis
1200
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
flatten Transformation Parameters
In this example, your Salesforce organization has the following role hierarchy and users. Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
Also, your organization contains the following opportunities, most of which are owned by Keith.
1201
Analyze Your Data Integrate and Prepare Data for Analysis
Now let’s implement that design in JSON, which is the format of the dataflow definition file. A
dataflow definition file contains transformations that extract, transform, and load data into a dataset.
Based on the design, you create the JSON shown below.
{
"Extract_Opportunity": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Extract_User": {
"action": "sfdcDigest",
"parameters": {
"object": "User",
"fields": [
{ "name": "Id" },
{ "name": "Username" },
{ "name": "LastName" },
{ "name": "FirstName" },
{ "name": "Name" },
{ "name": "CompanyName" },
{ "name": "Division" },
{ "name": "Department" },
{ "name": "Title" },
{ "name": "Alias" },
{ "name": "CommunityNickname" },
{ "name": "UserType" },
{ "name": "UserRoleId" }
]
1202
Analyze Your Data Integrate and Prepare Data for Analysis
}
},
"Augment_Opportunity_User": {
"action": "augment",
"parameters": {
"left": "Extract_Opportunity",
"left_key": [
"OwnerId"
],
"right": "Extract_User",
"relationship": "Owner",
"right_select": [
"Name"
],
"right_key": [
"Id"
]
}
},
"Register": {
"action": "sfdcRegister",
"parameters": {
"alias": "OppRoles",
"name": "OppRoles",
"source": "Augment_Opportunity_User",
"rowLevelSecurityFilter": ""
}
}
}
If you were to run this dataflow, CRM Analytics would generate a dataset with no row-level security. As a result, any user that has access
to the dataset would be able to view all opportunities. For example, as shown below, Bill would be able to view all opportunities, including
those owned by his manager Keith.
1203
Analyze Your Data Integrate and Prepare Data for Analysis
You need to apply row-level security to restrict access to records in this dataset.
Note: The current dataflow doesn’t contain logic to create a dataset column named “ParentRoleIDs.” ParentRoleIDs is a placeholder
for the name of a column that will contain this information. In the next step, you will modify the dataflow to add this column to
the dataset. This column name will change based on how you configure the dataflow.
Based on the predicate, CRM Analytics returns an opportunity record if:
• The user who submits the query is a parent of the opportunity owner based on the Salesforce role hierarchy. CRM Analytics determines
this based on their role IDs and the role hierarchy.
• Or, the user who submits the query on the dataset is the opportunity owner.
Let’s examine both parts of this predicate.
1204
Analyze Your Data Integrate and Prepare Data for Analysis
'OwnerId' == "$User.Id" • OwnerId refers to the dataset column that contains the user
ID of the owner of each opportunity.
• $User.Id refers to the Id column of the User object. CRM
Analytics looks up the user ID of the user who submits the
query from the User object.
1205
Analyze Your Data Integrate and Prepare Data for Analysis
• Add the predicate to the Register transformation that registers the OppRoles dataset.
You modify the dataflow as shown below.
{
"Extract_Opportunity": {
"action": "sfdcDigest",
"parameters": {
"object": "Opportunity",
"fields": [
{ "name": "Id" },
{ "name": "Name" },
{ "name": "Amount" },
{ "name": "StageName" },
{ "name": "AccountId" },
{ "name": "OwnerId" }
]
}
},
"Extract_User": {
"action": "sfdcDigest",
"parameters": {
"object": "User",
"fields": [
{ "name": "Id" },
{ "name": "Username" },
{ "name": "LastName" },
{ "name": "FirstName" },
{ "name": "Name" },
{ "name": "CompanyName" },
{ "name": "Division" },
{ "name": "Department" },
{ "name": "Title" },
{ "name": "Alias" },
{ "name": "CommunityNickname" },
{ "name": "UserType" },
{ "name": "UserRoleId" }
]
}
},
"Extract_UserRole": {
"action": "sfdcDigest",
"parameters": {
"object": "UserRole",
"fields": [
{ "name": "Id" },
{ "name": "ParentRoleId" },
{ "name": "RollupDescription" },
{ "name": "OpportunityAccessForAccountOwner" },
{ "name": "CaseAccessForAccountOwner" },
{ "name": "ContactAccessForAccountOwner" },
{ "name": "ForecastUserId" },
{ "name": "MayForecastManagerShare" },
{ "name": "LastModifiedDate" },
1206
Analyze Your Data Integrate and Prepare Data for Analysis
{ "name": "LastModifiedById" },
{ "name": "SystemModstamp" },
{ "name": "DeveloperName" },
{ "name": "PortalAccountId" },
{ "name": "PortalType" },
{ "name": "PortalAccountOwnerId" }
]
}
},
"Flatten_UserRole": {
"action": "flatten",
"parameters": {
"multi_field": "Roles",
"parent_field": "ParentRoleId",
"path_field": "RolePath",
"self_field": "Id",
"source": "Extract_UserRole"
}
},
"Augment_User_FlattenUserRole": {
"action": "augment",
"parameters": {
"left": "Extract_User",
"left_key": [
"UserRoleId"
],
"relationship": "Role",
"right": "Flatten_UserRole",
"right_key": [
"Id"
],
"right_select": [
"Roles",
"RolePath"
]
}
},
"Augment_Opportunity_UserWithRoles": {
"action": "augment",
"parameters": {
"left": "Extract_Opportunity",
"left_key": [
"OwnerId"
],
"right": "Augment_User_FlattenUserRole",
"relationship": "Owner",
"right_select": [
"Name",
"Role.Roles",
"Role.RolePath"
],
"right_key": [
"Id"
]
1207
Analyze Your Data Integrate and Prepare Data for Analysis
}
},
"Register": {
"action": "sfdcRegister",
"parameters": {
"alias": "OppRoles",
"name": "OppRoles",
"source": "Augment_Opportunity_UserWithRoles",
"rowLevelSecurityFilter": "'Owner.Role.Roles' == \"$User.UserRoleId\" || 'OwnerId'
== \"$User.Id\""
}
}
}
Note: In this example, the dataset has columns Owner.Role.Roles and OwnerId. A user can view the values of these columns for
each record to which they have access.
1208
Analyze Your Data Integrate and Prepare Data for Analysis
Note: If you are adding a predicate to a dataset that was previously created, each user must log out and log back in for the
predicate to take effect.
USER PERMISSIONS
•
•
1209
Analyze Your Data Integrate and Prepare Data for Analysis
1210
Analyze Your Data Integrate and Prepare Data for Analysis
Note: A set of characters in double quotes is treated as a string rather than a column name.
• Single quotes in column names must be escaped. For example, 'Team\'s Name' == "West Region Accounts"
1211
Analyze Your Data Integrate and Prepare Data for Analysis
Escape Sequences
You can use the backslash character (\) to escape characters in column names and string values in a predicate expression.
You can use the \’ escape sequence to escape a single quote in a column name. For example:
‘Team\’s Name’ == "West Region Accounts"
You can use the following escape sequences for special characters in string values.
Sequence Meaning
\b One backspace character
1212
Analyze Your Data Integrate and Prepare Data for Analysis
Sequence Meaning
\n New line
\r Carriage return
\t Tab
CRM Analytics replaces non-UTF-8 characters with the UTF-8 symbol ( ). If CRM Analytics has to replace a non-UTF-8 character in a
predicate expression, users may experience unexpected query results.
Special Characters
Certain characters have a special meaning in CRM Analytics.
1213
Analyze Your Data Integrate and Prepare Data for Analysis
Operators
You can use comparison operators and logical operators in predicate expressions.
Comparison Operators
Comparison operators return true or false.
Logical Operators
Logical operators return true or false.
Comparison Operators
Comparison operators return true or false.
CRM Analytics supports the following comparison operators.
!= Not equals True if the operands are not equal. String comparisons that use the not equals operator are
case-sensitive.
Example predicate expression:
'isDeleted' != "False"
< Less than True if the left operand is less than the right operand.
Example predicate expression:
'Revenue' < 100
1214
Analyze Your Data Integrate and Prepare Data for Analysis
> Greater than True if the left operand is greater than the right operand.
>= Greater or equal True if the left operand is greater than or equal to the right operand.
in Multivalue list filter True if the left operand exists in the list of strings substituted for a multivalue picklist (field value).
Example predicate expression:
'Demog' in ["$User.Demographic__c"]
In this example, Demographic__c is of type multiPicklistField. During evaluation,
the multivalue picklist field is substituted by a list of strings, with 1 string per user-selected item.
Note: Comma-separated lists are not supported within the square-bracket construct.
You can use the <, <=, >, and >= operators with measure columns only.
Logical Operators
Logical operators return true or false.
CRM Analytics supports the following logical operators.
1215
Analyze Your Data Integrate and Prepare Data for Analysis
Let’s take a look at some examples to understand how to construct a predicate expression.
('Expected_Rev' > 4000 || 'Stage Name' == Parentheses specify the order of operations.
"Closed Won") && 'isDeleted' != "False"
1216
Analyze Your Data Integrate and Prepare Data for Analysis
Note: We recommend that you test in a sandbox environment before rolling out sharing inheritance to production. Test your
particular use cases against your org’s security model and data to make sure that sharing inheritance works for you.
1217
Analyze Your Data Integrate and Prepare Data for Analysis
Note: A sharing descriptor is the ID of any user or group that has access to a record. Sharing descriptors, tracked by Salesforce in
the Object Sharing Table, ensure that only the listed users and groups can access the correct records. IDs are added to the sharing
table for many reasons including record ownership, sharing rules, and manual sharing.
After you turn on sharing inheritance, run the Sharing Inheritance Coverage Assessment report on an object. Then view the assessment’s
user coverage to investigate how well sharing inheritance will work for you.
Important: The Sharing Inheritance Coverage Assessment only evaluates active users assigned the “Use CRM Analytics” permission.
1. In the Salesforce Setup menu, under Analytics, select Sharing Inheritance Coverage Assessment.
1218
Analyze Your Data Integrate and Prepare Data for Analysis
3. Select View Assessment (2). Records from the evaluated object with more than your org’s maximum descriptors (3) are found. The
top records with too many descriptors are listed along with their descriptor count.
If records exceed the limit, depending on your org’s sharing strategy flexibility, choose to reduce the number of descriptors per
record or contact Salesforce Support to evaluate whether higher limits are an option.
4. Select View User Coverage to see which users have more than the max descriptors on the selected object. The users not covered
by sharing inheritance, who need a security predicate to manage their row-level access, are listed.
Note: We recommend that you test in a sandbox environment before rolling out sharing inheritance to production. Test your
particular use cases against your Salesforce org’s security model and data to make sure that sharing inheritance works for you.
1219
Analyze Your Data Integrate and Prepare Data for Analysis
4. Optionally, add a security predicate in the Security Predicate field (2). Leaving this field empty is the same as “False,” so users not
covered by sharing inheritance have no record visibility. For syntax and more information, see Add Row-Level Security with a Security
Predicate on page 1186.
5. Click Apply.
Configure Datasets
Update the sharing inheritance settings for datasets on the edit dataset page.
Note: The settings in the dataset and recipe must match. If they don’t, you receive the warning, "The sharing source and security
predicate in this dataset version must be the same as in the recipe."
1. Edit the dataset. For more information, see Edit a Dataset.
2. Click the pencil under Sharing Source.
1220
Analyze Your Data Integrate and Prepare Data for Analysis
3. Select the object to inherit sharing settings from. Only valid objects are displayed in the list. For example, the primary key of the
object must be a field in the dataset.
4. Optionally, click the pencil under Security Predicate. The security predicate is the row visibility fallback when you exceed sharing
inheritance limits, described here.
a. Add your security predicate in the syntax described in Add Row-Level Security with a Security Predicate. The default on existing
datasets is false, so users not covered by sharing inheritance have no record visibility.
Note: We recommend that you test in a sandbox environment before rolling out sharing inheritance to production. Test your
particular use cases against your Salesforce org’s security model and data to make sure that sharing inheritance works for you.
Configure Dataflows
Update the dataflow that generates the datasets that you want to inherit sharing. Specify which source object to inherit sharing from
and the backup security predicate.
1. Enable sharing inheritance for your org and synced objects if you haven’t already. For more information, see Enable Sharing Inheritance.
2. If using the dataflow editor to specify the source object and backup security predicate:
a.
In CRM Analytics, click the gear icon ( ) and then click Data Manager.
b. Click the Dataflows & Recipe tab.
c. Click the dataflow that you want to edit, or click the actions button and select Edit.
d. Click the sfdcRegister node.
e. Select the object to inherit sharing from in the Sharing Source field.
f. Optionally, add a security predicate in the Security Predicate field. No value is “False,” so users not covered by sharing inheritance
have no record visibility. For syntax and more information, see Add Row-Level Security with a Security Predicate on page 1186.
g. Click Save.
1221
Analyze Your Data Integrate and Prepare Data for Analysis
object to inherit sharing from. In this example, the parameter specifies to inherit the Salesforce sharing settings on the Opportunity
object.
"reg": {
"action": "sfdcRegister",
"parameters": {
"source": "Opportunity_final",
"name": "Opportunity w/ Account",
"alias": "Oppty_w_Acct",
"rowLevelSharingSource": "Opportunity",
"rowLevelSecurityFilter": "'OwnerId' == \"$User.Id\""
}
},
Note: Only inherit sharing settings from objects extracted using the sfdcDigest transformation.
Configure Datasets
Update the sharing inheritance settings for datasets on the edit dataset page.
Note: The settings in the dataset and dataflow must match. If they don’t, you receive the warning, "The sharing source and security
predicate in this dataset version must be the same as in the dataflow."
1. Edit the dataset. For more information, see Edit a Dataset.
2. Click the pencil under Sharing Source.
3. Select the object to inherit sharing settings from. Only valid objects are displayed in the list. For example, the primary key of the
object must be a field in the dataset.
4. Optionally, click the pencil under Security Predicate. The security predicate is the row visibility fallback when you exceed sharing
inheritance limits, described here.
a. Add your security predicate in the syntax described in Add Row-Level Security with a Security Predicate. The default on existing
datasets is false, so users not covered by sharing inheritance have no record visibility.
1222
Analyze Your Data Integrate and Prepare Data for Analysis
Note: Objects must be local and extracted using the sfdcDigest transformation. Enable sharing inheritance for each object as
described in Enable Sharing Inheritance on page 1217. All users on an unsupported object list as UNSUPPORTED on the Sharing
Inheritance Coverage Assessment Report, described here.
• Sharing inheritance covers a user if they have “View All Data” permission or their record access is granted by fewer than 3,000 sharing
descriptors. The backup security predicate takes effect for users with more than this number of sharing descriptors without the “View
All Data” permission. A sharing descriptor is record access granted through several methods, including:
– Owning the record
– Role hierarchy
– Sharing Rules
– Manual sharing
– Apex managed sharing
Note: You can’t easily count how many sharing descriptors are associated with a user or record without a developer’s help. Instead,
fetch the list of records or users not covered by sharing inheritance with the Sharing Inheritance Coverage Assessment Report.
Users with more than 3,000 sharing descriptors have the uncovered reason HIGH_VISIBILITY.
• Sharing inheritance only works for Salesforce users. It isn’t available for Experience Cloud Sites users and logins. To provide security
in Experience Cloud Sites, you must use security predicates.
General Considerations
• It's best practice to have a defined security predicate for datasets using inherited sharing. Without a security predicate, users not
covered by sharing inheritance see no data in the dataset because they have no dataset row-level access.
• Sharing isn’t automatically applied to datasets. You can apply sharing to each dataset manually.
• Sharing inheritance can affect the performance of queries, dataflows, and Data Prep recipes. If your requirements include the
best-possible performance, use security predicates instead of sharing inheritance. If not, enjoy the convenience of sharing inheritance.
• Changes to the rowLevelSharingSource or rowLevelSecurityFilter security settings in a dataflow only affect datasets created after
you save the change. Similarly, changes to a Data Prep recipe output node’s Sharing Source and Security Predicate fields only affect
datasets created after you save the change. Update those settings for existing datasets on the edit dataset page.
• For an object to appear in the security-sharing source list, the primary key of the custom object must be a field in the dataset. A
foreign key doesn’t satisfy this requirement. For example, if you have Opportunity.AccountId in your dataset but not Account.Id, you
can’t inherit sharing from the Account object.
1223
Analyze Your Data Integrate and Prepare Data for Analysis
• Sharing inheritance uses your Salesforce org sharing settings. If you don’t want to apply incomplete Salesforce org sharing settings
to CRM Analytics, don't use sharing inheritance.
• Sharing inheritance isn't available for Data Prep Classic recipes.
Important: If your dataflow doesn't do a full extraction each time it runs, evaluate whether security drift is a risk for the datasets
you bring into CRM Analytics. Consider whether to use periodic full sync. For more information, see Security Metadata Drift.
1224
Analyze Your Data Integrate and Prepare Data for Analysis
Edit a Dataset
USER PERMISSIONS EDITIONS
To view a dataset edit page: Use CRM Analytics AND Editor access to the Available in Salesforce
dataset’s app Classic and Lightning
Experience.
To update a dataset name, app, and Use CRM Analytics AND Editor access to the
extended metadata: dataset’s app Available with CRM
Analytics, which is available
To upload and preview data: Upload External Data to CRM Analytics AND
for an extra cost in
Editor access to the dataset’s app
Enterprise, Performance,
To edit a dataset security: Edit CRM Analytics Dataflows and Unlimited Editions. Also
available in Developer
To restore a dataset: Edit CRM Analytics Dataflows Edition.
Edit a dataset to change its name, app, security, or extended metadata (XMD). You can also replace data in a dataset, restore it to a
previous version, or delete it. The dataset edit page also provides key information about when the dataset was created and last updated,
and where it is used.
You can edit a dataset from CRM Analytics home or from the data manager.
• To edit a dataset from CRM Analytics home, follow these steps.
1. Click All Items in the left panel.
2. Click Datasets.
3.
On the right of the dataset, click .
4. Click Edit.
Option Description
Dataset name Enter a new name if you’d like to change the name of the dataset. The name cannot
exceed 80 characters.
App Select a new app if you’d like to move the dataset to a different app.
Extended Metadata File Specify an extended metadata file if you’d like to customize the formatting of
dashboards associated with the dataset.
Refer to Extended Metadata (XMD) Developer Guide for information about extended
metadata files.
1225
Analyze Your Data Integrate and Prepare Data for Analysis
Option Description
Sharing Source If you have enabled sharing inheritance, specify the object from which you want
to inherit sharing for this dataset. You can’t specify a sharing source for datasets
created from CSV files. When you select a sharing source, you must also add a
security predicate. CRM Analytics populates the Security Predicate field with the
value false.
See Salesforce Sharing Inheritance for Datasets.
Security Predicate Add a security predicate if you’d like to apply row-level security on the dataset.
For information about predicates, see Set Up Dataset Security to Control Access to
Rows.
1226
Analyze Your Data Integrate and Prepare Data for Analysis
Important: An XMD file must use XMD 2.0 syntax and be no greater than 5 MB. Refer to Available in Salesforce
Extended Metadata (XMD) Developer Guide for information about extended metadata files and Classic and Lightning
Experience.
XMD 2.0 syntax.
1. On the CRM Analytics page, click the Datasets tab. If you’re in the data manager, click the Available with CRM
Datasets tab there. Analytics, which is available
for an extra cost in
2. Enterprise, Performance,
Hover over the dataset that you want to update, click , and then click Edit. If you’re in the
data manager, click Edit Dataset. and Unlimited Editions. Also
The dataset edit page opens. available in Developer
Edition.
3.
Under Extended Metadata File, click , and then select Download. Download the current
XMD file as a backup.
USER PERMISSIONS
4.
Under Extended Metadata File, click , and then select Replace. Select your new XMD file
and click Open. To update a dataset’s
extended metadata:
If the XMD file is not valid, you see an error message. Correct the syntax of the file and upload
• Use CRM Analytics AND
it again.
Editor access to the
Note: If the XMD file displays an error message when you open the dataset edit page, the dataset’s app
current file is not valid.
Perform step 3 to download the file, then convert it to XMD 2.0. Then perform step 4 to
reupload the converted file and update the dataset.
Refer to Extended Metadata (XMD) Developer Guide for information about converting extended
metadata files to XMD 2.0 syntax.
1227
Analyze Your Data Integrate and Prepare Data for Analysis
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
2. To reveal a column's context menu, hover over the right edge of the column.
1228
Analyze Your Data Integrate and Prepare Data for Analysis
1229
Analyze Your Data Integrate and Prepare Data for Analysis
1230
Analyze Your Data Integrate and Prepare Data for Analysis
2. Click the dropdown arrow next to the dataset name, and click Default Fields.
3. Select the columns to show by default, use the up and down arrows to reorder them, and click Update.
1231
Analyze Your Data Integrate and Prepare Data for Analysis
When you explore the dataset as a values table, the selected columns appear in the specified order.
You see the same table columns and order when you click View Data Table to view the data in a tabular format.
1232
Analyze Your Data Integrate and Prepare Data for Analysis
Note: You can override the default colors for a specific chart or table by setting conditional Available with CRM
formatting in the widget properties. Analytics, which is available
for an extra cost in
1. To change colors or labels for all charts that use a selected dimension, click Fields while exploring Enterprise, Performance,
a dataset as a lens. and Unlimited Editions. Also
available in Developer
Edition.
1233
Analyze Your Data Integrate and Prepare Data for Analysis
2. Click the dropdown arrow next to the dimension, and select Edit Values.
3. To change the color, click the square icon on the right (1) and select the color (2).
1234
Analyze Your Data Integrate and Prepare Data for Analysis
4. To change the label, click the text box and enter a new label.
If you change the colors of dimension values, the color doesn’t appear in a chart until you set up conditional formatting on the column
in the chart’s widget properties. For more information, see Automatically Highlight Data with Conditional Formatting
Important: Restoring a dataset can impact the dashboards, lenses, recipes, and dataflows Available in Salesforce
that use it. Refer to the usage information on the dataset’s edit page to review the impacted Classic and Lightning
Experience.
assets before you restore.
1. From the Data Manager, click the Data tab. Available with CRM
Analytics, which is available
2. for an extra cost in
Hover over the dataset that you want to restore, click , and then click Edit Dataset.
Enterprise, Performance,
3.
Click the Restore Dataset button ( ). and Unlimited Editions. Also
available in Developer
4. Click the version you want to restore. Edition.
Note: The prior two versions are stored, with any older versions deleted after 24 hours.
In limited situations, a deleted version can be restored by Salesforce. Contact Salesforce
USER PERMISSIONS
Customer Support for recovery evaluation.
To restore a dataset:
5. Click Restore.
• Manage CRM Analytics
6. Click Restore again to confirm.
7. To view the restore data job, click the data monitor link.
You see the restore data job on the Monitor tab of the data manager. If CRM Analytics can’t restore the dataset, the job fails. Try
restoring a later version of the dataset.
1235
Analyze Your Data Integrate and Prepare Data for Analysis
Important: Restoring a dataset has no effect on associated dataflows or recipes. It’s possible that when an associated dataflow
or recipe next runs, it can undo the results of a restore.
Delete a Dataset
Delete unnecessary datasets to reduce app clutter and avoid reaching your org's total row limit for
EDITIONS
all registered datasets. You can delete datasets from shared apps on which you have at least Editor
access, your My Private App, and, with a special user permission, another user’s My Private App. Available in Salesforce
Before you delete a dataset, consider the following guidelines. Classic and Lightning
Experience.
• You can’t recover a deleted dataset.
• Use the data manager to delete datasets from another user’s My Private App. You can’t see or Available with CRM
delete other users’ private datasets from the CRM Analytics home or app tabs. For security Analytics, which is available
reasons, you also can’t view the data in other users’ private datasets. for an extra cost in
Enterprise, Performance,
• You also can’t delete a dataset that’s used in a dashboard, lens, or dataflow. Before you delete and Unlimited Editions. Also
a dataset, first remove references to it from dashboards or dataflow transformations, and delete available in Developer
associated lenses. Edition.
Tip: To see where a dataset is used, review the usage information on the dataset’s edit
page. USER PERMISSIONS
To delete a dataset:
• Use CRM Analytics AND
Editor access to the
dataset’s app
To delete a dataset in
another user’s My Private
App:
• Manage CRM Analytics
Private Assets
• Analytics doesn’t check or show if a dataset is used in recipes. Be sure to remove dataset
references from recipes as well. If you delete a dataset that's used in a recipe, the recipe fails
the next time it runs.
1. To locate the Delete Dataset button on the CRM Analytics home or an app page, follow these steps.
a.
Under the Datasets section, click next to the dataset that you want to delete.
b. Click Edit.
2. To locate the Delete Dataset button in the data manager, follow these steps.
a. In the data manager, click the Data tab.
b.
On the Datasets subtab, click next to the dataset that you want to delete.
c. Click Edit Dataset.
3.
On the dataset edit page, click the Delete Dataset button ( ).
If the dataset is in use, CRM Analytics stops the deletion and shows a list of assets that reference the dataset. Click Got It and resolve
these references before trying again.
4. Click Delete Permanently.
1236
Analyze Your Data Integrate and Prepare Data for Analysis
• Minimize the Number of Joins—Joins are expensive operations. To increase performance, limit join nodes to 30. Also, watch out for
exploding joins where the join produces more records than the right or left sources. See Considerations When Using Joins.
• Minimize the Number of Transformations—A recipe with large numbers of transform nodes or transformations in a transform node
takes longer to preview and run. Generally, don’t include more than 250 transformations in a recipe. For recipes requiring many
transformations, split them into multiple transform nodes. For recipes requiring lots of transform nodes, break them up into smaller
recipes if possible.
• Reduce the Number of Multivalue Columns—The size of a multivalue column can grow quickly. For example, if you have 100
multivalue columns and each column stores 1 GB of data, the recipe has to process 100 GB per row. To address this issue, minimize
the number of multivalue columns and the width of each multivalue column. For instance, to define a security predicate based on
multiple users, build a multivalue column based on groups instead of users. For instance, instead of adding 50 user IDs to a multivalue
column, add their group IDs to use a shorter column width.
• Use a computeExpression Transformation to Aggregate Multiple Criteria— You can use multiple filters and aggregates to accomplish
an “aggregate with where clause”, something like this:
1237
Analyze Your Data Integrate and Prepare Data for Analysis
However, this method doesn’t perform well. Instead, use a computeExpression transformation to create columns to represent the
filters.
The aggregate node then uses the columns created for each set.
1238
Analyze Your Data Integrate and Prepare Data for Analysis
• Don’t Use Compute Relative for Aggregation—Although compute relative supports aggregation, it doesn’t perform well when
aggregating data. Use an aggregate node instead.
• Don’t Use Filter Nodes for Conditional Logic—To implement conditional logic, use if or case statements in an SQL expression.
• Speed Up Tasks with Keyboard Shortcuts—Use keyboard shortcuts instead of a mouse to work with elements in a graph.
• Change Your Perspective with Zoom—Zoom out to see all the nodes in your graph, or zoom in for greater detail. Click the percent
zoomed to expand or shrink the zoom controls.
1239
Analyze Your Data Integrate and Prepare Data for Analysis
• Use Connections to Group Objects for Scheduling—To sync objects that are inputs to a dataflow or recipe, group the objects in a
connection. You can then schedule syncing the connection rather than the individual objects.
• Reduce the Number of Fields Being Synced—To improve the performance of your data syncs, remove the fields you don’t need in
the synchronized data. Keep the field count below 100 because performance optimizations are less effective when syncing more
than 100 columns.
• Don’t Refresh Your Data More Than You Need To—Consider how often your users must see updated data for each dataset. Schedule
associated data syncs and recipes to run only when required.
• Keep Within the External Data Sync Inbound Connector Limit—This limit is per run, there is no limit on the number or frequency of
inbound connector runs. To stay within the per run limit:
– Create a view on the remote system and use that in the connection.
– Set up the remote system to publish changed or incremental data since the last run. This approach also enables a faster sync
because it’s not moving all the data during every run. Use recipes to append incremental data to the local dataset.
1240
Analyze Your Data Integrate and Prepare Data for Analysis
When a recipe fails, but the error isn’t identified, like break the recipe into smaller recipes to
pinpoint where the error occurs. Fix the error and try again.
Triggered Object Data Sync If the recipe triggered an object data sync, check whether the data sync failed and, if it did,
review the errors.
Geolocation Fields Remove unused geolocation fields in data sync. This field contains three parts: latitude, longitude,
and a system field.
You include latitude and longitude in input nodes and the SFDC_LOCAL Data Sync connection.
They appear as GeolocationFieldName__Latitude__s and
GeolocationFieldName__Longitude__s. High-precision numbers can result in a
numeric overflow during ingestion and in computations.
Specify a precision metadata override to avoid numeric overflows and other unexpected
behaviors. Depending on your needs, set the precision to:
• 3 for locations accurate to within ~80 km.
• 5 for locations accurate to within ~800 m.
• 7 for locations accurate to within ~8 m. This precision is about the accuracy of most
commercial GPS devices.
• 10 for locations accurate to within less than a centimeter. This level of accuracy requires
specialized equipment.
Latitude values are between -90 and 90, and 0 is the equator. Longitude values are between
-180 and 180, and 0 is the prime meridian.
Numerical Overflows
The job completed, but some rows failed. Download the error log
from the data monitor to view the failed rows and the reasons
they failed.
1241
Analyze Your Data Integrate and Prepare Data for Analysis
SEE ALSO:
Set Dataflow Notifications
Why are my data sync and recipe runs getting canceled?
Have I exceeded my dataset row limit, and what can I do about it?
All orgs have a dataset row limit. When you exceed this limit or create a recipe that can exceed this limit, you must reduce the number
of dataset rows used or increase your limit.
1242
Analyze Your Data Integrate and Prepare Data for Analysis
You can receive errors and warnings about exceeding this limit when:
• Creating or updating a recipe. You can receive a warning like this.
The dataflow job failed during completion. Run the dataflow again. If the job continues
to fail, contact Salesforce Customer Support.
• Running dataflows or syncing data sync. You can receive an error like these.
– Max_Data_Rows_Limit_Exceeded
– Your org reached its dataset row limit, with [numberofrows] rows used of your allotted
[#maxlimit]. You can't run recipes, dataflows, data sync, or upload files until you
reduce your rows below your org's limit.
Your allocation limit depends on your licenses. To confirm your row limit, in Data Manager, go to Usage. Under Rows in All Datasets,
review the number of rows used in all your datasets and the total rows allotted by your licenses. For more information, see Einstein
Discovery Capacities and Requirements.
To make more dataset rows available, try these suggestions.
Suggestion Description
Clean Out Unused In Data Manager, review the Data Assets page. Remove obsolete, outdated, unused, or duplicate datasets.
Datasets This screen also shows the number of rows each dataset generates. Use this information to identify datasets
that you can optimize.
If a dataset is stored in a Private App, only the user who owns the dataset can remove or modify it.
Filter Datasets Use filter transformation in recipes to remove unused rows from a dataset. An object can filter its connected
dataset to remove rows not used in the datasets referencing the object.
Modify Event Monitoring If your org uses the Event Monitoring Event Monitoring Analytics app, check its configuration and reduce
Configuration the types of events captured and their data retention period. Delete the app if it’s not being used.
Expand the Limit You can upgrade your license or purchase additional data rows. Contact your Account Executive.
Why is my recipe or data sync job running out of time or being killed?
A recipe or data sync job can fail because the integration user can’t authenticate.
If you receive one of these error messages, it typically indicates a temporary lack of server resources. Rerunning the job usually resolves
the issue.
• Queue wait time exceeded limit.
However, if your jobs fail repeatedly, you could have an authentication issue with the integration user. If the integration user can’t
authenticate, the job waits in the queue until it expires or a cleanup process kills it. Authentication issues for the integration user can
also affect a dataflow.
To troubleshoot an authentication issue, check these settings.
1243
Analyze Your Data Integrate and Prepare Data for Analysis
Setting Description
Analytics Cloud Integration User profile The integration user is associated with an Analytics Cloud Integration User profile. Make
settings sure that this profile doesn’t have login IP ranges, login hours, or multi-factor authentication
enabled or defined.
Insights app The integration user must have the Insights app in their OAuth apps list.
API client allowlisting If you’ve enabled For admin-approved users, limit API access to only allowlisted
connected apps, check that the integration user’s Analytics Cloud Integration User profile
has the Use Any API Client system permission.
If these checks don’t resolve your issue, look for other authentication restrictions in your org and ensure the integration user can
authenticate.
1244
Analyze Your Data Datasets
Datasets
A dataset is a collection of related data that is stored in a denormalized, yet highly compressed form. There are multiple ways to create
a dataset. You can also edit dataset after they’ve been created.
Tip: To ensure that you don’t reach the row limit for all registered dataset, delete unused dataset.
SEE ALSO:
Upload a CSV File to Create a Dataset
Edit a Dataset
Delete a Recipe
Monitor
The monitor provides options for you to manage jobs.
SEE ALSO:
Run a Dataflow Manually
Schedule a Dataflow to Run Automatically
Monitor a Dataflow Job
Monitor an External Data Upload
External Data
You can integrate external data into CRM Analytics to make the data available for queries from lenses and designer.
1245
Analyze Your Data Gain Insights on Data Directly at Source
The External Data API enables you to upload external data files to CRM Analytics. The External Data API can upload .csv files, and you can
optionally specify the structure of your data by defining metadata in JSON format.
The External Data API is available in API version 31 and later.
The high-level steps for uploading external data by using the API are:
1. Prepare your data in CSV format, and then create a metadata file to specify the structure of the data.
2. Connect programmatically to your Salesforce organization.
3. Configure the upload by inserting a row into the InsightsExternalData object, and then set input values such as the name of the
dataset, the format of the data, and the operation to perform on the data.
4. Split your data into 10-MB chunks, and then upload the chunks to InsightsExternalDataPart objects.
5. Start the upload by updating the Action field in the InsightsExternalData object.
6. Monitor the InsightsExternalData object for status updates, and then verify that the file upload was successful.
1246
Analyze Your Data Gain Insights on Data Directly at Source
License Requirements
To access CRM Analytics Direct Data for Data Cloud functionality in CRM Analytics, the following licenses must be provisioned in the
same Salesforce org.
• CRM Analytics Plus license or CRM Analytics Growth license
• Data Cloud license
For more information about CRM Analytics licenses, see Learn About CRM Analytics Platform Licenses and Permission Sets.
1247
Analyze Your Data Gain Insights on Data Directly at Source
– Select the CRM Analytics Plus User or CRM Analytics Growth User permission sets for users to view data insights in CRM
Analytics Direct Data.
– Enable the Create and Edit CRM Analytics Dashboards permission for users to build dashboards and create insights in CRM
Analytics Direct Data for Data Cloud.
Note: CRM Analytics Direct Data for Data Cloud isn’t supported in sandbox environments.
Query Limits
Limit Value
Maximum concurrent queries per tenant See Data Cloud API Limits for Profile, Query, and Calculated Insights.
Note: CRM Analytics Direct Data for Data Cloud uses the Connect REST API under the hood. Review the Connect REST API Limits.
SEE ALSO:
Enable CRM Analytics
CRM Analytics Direct Data for Data Cloud Tips and Limitations
Build Queries with Direct Data for Data Cloud
Data Cloud Usage Types
CRM Analytics Direct Data for Data Cloud Tips and Limitations
It helps to be familiar with these tips and limitations when working with Direct Data for Data Cloud.
Query Building
• Advanced custom SQL queries containing sub-queries or Common Table Expressions doesn’t always work as expected.
1248
Analyze Your Data Gain Insights on Data Directly at Source
Other Features
These features aren’t available with Direct Data for Data Cloud.
• Downloads as CSV or Excel files
• Notifications, subscriptions, and CRM Analytics Watchlists
• Dataset actions
• Search insights with Ask Data for Salesforce
• Einstein Discovery
3. Select a Data Cloud data source that contains order data. Data Cloud data is categorized into one of these source types.
• Data Lake Objects gives users access to data ingested by data streams. They're helpful when you want to analyze and monitor
raw data in Data Cloud.
• Data Models give users access to data that is already mapped onto standard information models, such as products, orders, and
user engagement.
• Calculated Insights are multidimensional metrics that are calculated in Data Cloud and can be pulled into CRM Analytics for
further analysis.
1249
Analyze Your Data Gain Insights on Data Directly at Source
For advanced or custom queries, switch to Query mode and write your own custom SQL queries against Data Cloud records.
1250
Analyze Your Data Gain Insights on Data Directly at Source
1251
Analyze Your Data Gain Insights on Data Directly at Source
1252
Analyze Your Data Gain Insights on Data Directly at Source
1253
Analyze Your Data Gain Insights on Data Directly at Source
1254
Analyze Your Data Gain Insights on Data Directly at Source
SEE ALSO:
CRM Analytics Direct Data for Snowflake Tips and Considerations
Snowflake Connection
1255
Analyze Your Data Gain Insights on Data Directly at Source
SEE ALSO:
Perform Actions on a Salesforce Record from CRM Analytics
1256
Analyze Your Data Gain Insights on Data Directly at Source
4. Add the live Snowflake connection. For Authentication Type setting, enter UserBasedOAuth.
Note: OAuth 2.0 is the industry-standard protocol for authorization, however we are unable to test every possible combination
of services. Log a case with Salesforce Customer Support if your service cannot connect with the Authentication Provider
system.
Note: If you don’t see the Live Connections tab, you need to enable Direct Data in CRM Analytics first.
Note: Live datasets are similar to CRM Analytics datasets, except that the data remains in an external data source.
After creating the live connection, enable a live dataset for the connection.
1. In the data manager, click the Data tab.
2. On the Live Datasets tab, click Create Dataset. Select the connection and enable a Snowflake source table that is available with the
connection.
3. Name the live dataset and assign it to a CRM Analytics app. Use the app to control which Salesforce users, roles, and groups have
access to explore Snowflake data with the connection.
4. When done, click Create Live Dataset.
To begin exploring, click the live dataset from the Datasets tab in CRM Analytics Studio.
Snowflake Live Connections Settings
All settings require a value, unless otherwise indicated.
Setting Description
Connection Name Identifies the live connection. Use a convention that lets you easily distinguish between
different connections.
Developer Name API name for the connection. This name must be unique, begin with a letter, and can
only contain underscores and alphanumeric characters. This name can’t include spaces,
end with an underscore, or contain two consecutive underscores. You can’t change the
developer name after you create the connection.
1257
Analyze Your Data Gain Insights on Data Directly at Source
Setting Description
Authentication Type The variety of authentication used for this connection. Accepted values are
UserBasedOAuth or Password.
• If you use OAuth, enter a value in the Named Credential field.
• If you use Password, enter a value in the Username and Password fields.
Named Credential The Name field from a named credential stored in your Salesforce org. See Named
Credentials.
Schema Snowflake schema whose data you want to explore with the connection. You can either
add all the tables you want to explore to a single Snowflake schema or create a separate
connection for each schema.
To keep data secure, we recommend creating a separate Snowflake schema specifically
for Direct Data for Snowflake.
SEE ALSO:
Snowflake Connection
1258
Analyze Your Data Gain Insights on Data Directly at Source
Data stored in the Snowflake object opens in a lens, which you can interactively explore and visualize.
1259
Analyze Your Data Gain Insights on Data Directly at Source
SEE ALSO:
CRM Analytics Direct Data for Google BigQuery Tips and Considerations
Google BigQuery Standard SQL Connection
CRM Analytics Direct Data for Google BigQuery Tips and Considerations
It helps to be familiar with these tips and considerations when working with Direct Data for Google BigQuery.
1260
Analyze Your Data Gain Insights on Data Directly at Source
• For larger tables, create filtered views that focus on subsets of data.
• Run the dashboard inspector to monitor and track query times.
• To optimize query times:
– Select only the columns needed for your visualization.
– Apply filters to limit the number of rows.
– Avoid grouping on high-cardinality fields.
– Avoid using the contains operator. Instead, use the equals operator.
1261
Analyze Your Data Gain Insights on Data Directly at Source
• Click Google BigQuery Direct Connector and enter its settings, as described in the Connection Settings section.
• When done, click Save or Save and Create Dataset.
Note: Live datasets are similar to CRM Analytics datasets, except that the data remains in an external data source.
After creating the live connection, enable a live dataset for the connection.
• In the data manager, click the Data tab.
• On the Live Datasets tab, click Create Dataset. Select the Google BigQuery connection and enable a Google BigQuery source table
that is available with the connection.
• Name the live dataset and assign it to a CRM Analytics app. Use the app to control which Salesforce users, roles, and groups have
access to explore Google BigQuery data with the connection.
• When done, click Create Live Dataset.
To begin exploring, click the live dataset from the Datasets tab in CRM Analytics Studio.
Setting Description
Connection Name Identifies the live connection. Use a convention that lets you easily distinguish between
different connections.
Developer Name API name for the connection. This name must be unique, begin with a letter, and can
only contain underscores and alphanumeric characters. This name can’t include spaces,
end with an underscore, or contain two consecutive underscores. You can’t change the
developer name after you create the connection.
Client Email Enter the client_email value from the JSON file.
Private Key Enter the private_key value from the JSON file.
Don’t include "private_key": "-----BEGIN PRIVATE KEY-----" at
the start of the key and \n-----END PRIVATE KEY-----\n" at the end.
1262
Analyze Your Data Gain Insights on Data Directly at Source
Setting Description
Storage Path Optional setting. Path in Google Cloud Storage where a local stage file is created to store
the data temporarily. Enter the bucket name or the bucket name and folder name. For
example, enter <bucket_name> or <bucket_name>/<folder_name>.
To write files to this staging area, the user specified in Client Email must have the list,
read, and write permissions on the bucket.
Schema Google BigQuery schema whose data you want to explore with the connection. You can
either add all the tables you want to explore to a single Google BigQuery schema or create
a separate connection for each schema.
To keep data secure, we recommend creating a separate Google BigQuery schema
specifically for Direct Data for Google BigQuery.
Region ID Optional setting. Enter the data location of the live Google BigQuery dataset if the location
isn’t in North America.
Use Storage API Optional setting. If True, uses the Google BigQuery Storage Read API. See Google’s BigQuery
Storage Read API. If False, uses Direct extract mode.
1263
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Data stored in the Google BigQuery object opens in a lens, which you can interactively explore and visualize.
1264
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
SEE ALSO:
Converse with Your Data
1265
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1266
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use Analytics or
Analytics Templated
Apps
1267
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
3. To find the second dimension that you want to group by, click the Vertical Axis plus button, then enter stage in the search field.
1268
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1269
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. Click the filters plus button, then click the stage dimension.
6. Set the filter to equal the closed stages only.
1270
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The resulting bar chart shows the information you’re after, but it's not easy to interpret.
1271
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1272
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
• Direct cross-object references to groupable fields, up to 5 levels from the root object (SOQL limit). Both custom and standard
references are groupable.
• Email (String)
• Formulas of type Checkbox and Date, including cross-object formulas across standard and custom relationships
• ID (ID)
• Lookup (ID)
• Master Detail (ID)
• Picklist (String)
• Phone (String)
• Standard number fields with SOAP type int
• Text (String)
• Text Area (String)
• URL (String)
2. In the filters dialog box, add the following filters: USER PERMISSIONS
• Industry equals Agriculture
To view visualizations:
• Amount greater than 100,000 • Use CRM Analytics
• Industry equals Healthcare
• Amount greater than 200,000.
1273
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3.
To add filter logic, click in the Filters tab.
4. Select Add Filter Logic.
5. In Edit Filter logic, build the filter logic as follows: (1 AND 2) OR (3 AND 4) and click Apply.
1274
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Normally, measure filters in multiple-column steps remain in the filter panel. However, in table mode, filters move to the measures to
which they apply.
If a calculated column is created in table mode, then filters remain with their measures even if the lens is set to chart mode.
1275
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
You can apply filters to new measures using their context menus.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1276
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: To show consistency across multiple bars in stacked charts, the stacked segments are always sorted alphabetically within
each bar. Stacked charts include stacked bar, stacked column, stacked pyramid, and stacked waterfall. To help you locate a segment
in a bar, the legend uses the same sort order as the bar segments.
1277
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
SEE ALSO:
Tips for Working with SAQL Queries in the Query Editor
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1278
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
2. Hover over a chart type to see how many measures and dimensions that type of visualization requires.
For example, a donut chart can have one measure and one or two dimensions.
1279
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Change Measures
Your choice of measure defines your entire visualization and determines the scope of your
EDITIONS
exploration. For example, change the measure and the aggregation method from “Count of
Opportunities” to “Sum of Amount.” Then add a second measure to see 2 visualizations side by side. Available in Salesforce
1. To explore it in a lens, click a CRM Analytics dataset. Classic and Lightning
By default, the initial measure is Count of Rows. Experience.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1280
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: To count the number of unique occurrences of a measure or a dimension, click Unique, then select the measure or
dimension you want to count.
After you group the data, the chart displays the chosen measure by group value.
1281
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Format Numbers
Choose either preset or custom number formats. Specify custom formats for positive, negative, and
EDITIONS
zero values.
1. Available in Salesforce
Classic and Lightning
Click on any measure field. Experience.
2. Choose Format Numbers and choose a preset format.
Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
a. Click Custom… for more presets or to specify your own custom format.
1282
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: In the Spring ’20 release we unified number behavior in charts, tables, and number widgets.
• 0 values follow formula logic. For example, a format string $#.## with a 0 value returns $0.00.
• Default behavior never returns a negative 0.
• Short numbers like 1.0x always return 1.0x, not 1x.
• Negative and zero formats are optional.
1283
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
2.
To open the Drill Into This By... menu, right-click the data or click .
1284
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. To view the underlying data for a dimension, select it from the Drill Into This By... menu.
A new visualization grouped by the selected dimension and filtered by the selected data appears in place of the previous visualization.
1285
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
2.
To open the Drill Into This By... menu, right-click the data or click .
1286
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1287
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: When a blend has more than 2 datasets, the same blend type is applied to all the datasets.
1288
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To create a meaningful side-by-side comparison, select measures and the field to group by from each dataset.
When defining groups, measures, and filters, select fields from any of the blended datasets. This example includes Sum of Sales for
the SuperStoreSales dataset and Sum of Target for the SuperStoreTarget dataset. To group by product subcategories, select
Product_Sub_Category for each of the datasets.
The query result shows the relationship between Sum of Sales and Sum of Target for each product subcategory.
Limitations:
• You can blend up to six datasets.
• Add all datasets before beginning to explore them. The Add Dataset control is disabled when you add groupings, measures, or
filters.
1289
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1290
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Click the View History button in the header. Available with CRM
A sidebar lists a history of all the actions that you’ve taken in the lens. Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
2. Select any item in the list to view the exploration at that point. Or use the undo and redo buttons
(1) step backward and forward through the list.
USER PERMISSIONS
1291
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1292
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. To change the query, edit the code and then click Run Query.
Query results appear in a table below the query editor.
For more information about SAQL, see the CRM Analytics SAQL Developer Guide.
and return to a point in the history before you ran the query.
• If you save the lens with filters in read-only mode, they remain in read-only mode. Your exploration history isn’t saved with the lens
and can’t be used to undo the read-only state.
• If you want to work in query mode and apply conditional or number formatting to a column, or rename the column, run the query
before making these changes.
1293
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: Einstein Discovery stories are now models. We wish we could snap our fingers to update the name everywhere, but you
can expect to see the previous name in a few places until we replace it.
The Create Model button appears in your existing lens or in a new lens.
Refer to Create a Story from a Dataset to configure the settings for your model.
SEE ALSO:
Explore and Visualize Your Data in CRM Analytics
Explore and Visualize Your Data in CRM Analytics
1294
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1295
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
To remove a measure or grouping from the table, click the x button in its tile (1). To access the Edit Columns dialog, where you can hide
or show any column, click the pencil button (2). You can also add, edit, or remove filters (3). To sort the rows by a column, click its heading
cell until an arrow appears in the direction you want to sort (4).
Note: When sorting a values table by a column, that column’s null records are excluded from the table. To prevent the exclusion
of null records, assign a default value to those records.
When you reach the right-most column, the right arrow button becomes an add-column button. You can click the add-column button
or use your keyboard's Enter key to add a formula column.
1296
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
As you navigate through a compare table, you can freeze up to five columns while you scroll through the remaining data. From a column
header’s dropdown menu, select Freeze Columns Up to Here.
Alternatively, go to the Layout section in the table properties panel (1). Select Customize Frozen Columns in the Layout section (2)
and set the number of table columns to freeze (3). A dark gray line indicates the end of the freeze pane.
You can also delete columns from the compare table by selecting Delete in the context menu of any measure or dimension.
1297
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Use the Close button to exit the column editor without applying changes to the column.
1298
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
To hide the subtotal for a subgroup that you’re not interested in, select Hide Subtotals from its context menu.
To identify the product subcategory with the highest sales for a region, sort its Sum of Sales column. Click in the column header (1),
and then select Sort Descending (2). To find the product subcategory under furniture with the highest sales for the region, click Sort
Within Groups (Desc) (3).
1299
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1300
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To enter a custom formula, click under Measures and click Add Formula.
In the column editor, you can enter text string formulas, SAQL formulas, including math functions, or choose a windowing function
to calculate the values in the column. You can also name the column and choose a number format. If a formula contains division
by 0, the result is displayed as a minus sign (-).
1301
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
If you want to preserve an existing column, select Clone Column from the original column's action menu. You can edit the cloned
column instead of the original.
Dimension columns are on the left and measure columns are on the right. The measure columns are identified in formulas as A, B,
C, and so on, with A being the far-left measure column.
You can also create string formulas. For example, this formula creates simple buckets.
1302
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
You can’t use columns based on string formulas as dimensions for grouping in charts, but you can use them to apply conditional
formatting in charts.
7. To use SAQL, enter it directly into the formula editor, and click Apply to see the result.
See the CRM Analytics SAQL Developer Guide for more information on writing SAQL.
Some SAQL functions can’t use letter references for columns, such as A, B, C. The percentile_desc and percentile_cont
functions, for example, require raw field names as arguments. See Use Raw Field Names in Query Formulas for more information.
1303
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
8. To use a function, choose the function editor and then choose a windowing function from the menu. After you configure the function,
click Apply to see the result.
Switch to the formula editor to see the SAQL generated by the chosen function. You can edit the SAQL in the formula editor after
generating it with a function as if you’d written it.
1304
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1305
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Sliding Window
Applies an aggregate function to the current row with respect to a configurable range of rows. The function can be reset on a grouping
defined in the table. Use the sliding window for calculating values such as running totals and moving average.
Percentage of Group
Calculates the percentage each row is of its group total, or of the grand total. The function can be reset on a grouping defined in the
table.
1306
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Provides rank, dense rank, cumulative distribution, and row-number functions. Ranking can be reset on a grouping defined in the table.
The Order menu determines the direction of ranking based on the values being ranked. Ascending ranks the lowest value as number 1,
while descending ranks the highest value as number 1.
Compares periods of time to calculate changes in values. For example, year-over-year sales, or quarter-over-quarter closed opportunities,
can be calculated by choosing the column and setting the granularity of the time period.
1307
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Always group data by year first, then (optionally) grouped by a finer granulation of time if available. Compound dates, if available, can
be used directly with the period-over-period function. Examples of compound dates include “2016-01” (month of January 2016) and
“2016-1” (first quarter of 2016). Comparisons can be shown as percentages or units.
Running Total
Calculates the total value of the current row summed with all previous rows. For example, to calculate the monthly total of closed
opportunities as a running total, choose the column showing closed opportunities from Column. To calculate that running total within
each region, choose the region column from Reset Group.
1308
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: In a compare-table formula, when you reference columns by default column names or user-defined column aliases, you
can’t use raw field names in that formula.
Note: You can use the date functions year_last_day, quarter_last_day, week_last_day, quarter_days,
day_in_week, and day_in_quarter in the SAQL editor. Click to access the SAQL editor.
See these examples for how to use SAQL functions with raw-field references in the formula editor. Also see the Analytics SAQL Developer
Guide for more information on SAQL functions.
sum(Amount)/100
percentile_cont(0.95) within group (order by 'LoadTime' asc)
regr_slope(Amount,Closed_On_epoch)
daysBetween(toDate(last(ModifiedDate_epoch), “yyyy-MM-dd”), now())
coalesce(sum(Amount), 0)
len(first(Description))
Table Properties
Use table properties to control a table's appearance.
1309
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Add totals and subtotals to tables in the table properties panel or from the button.
Measure functions are calculated according to all data in the relevant subgrouping. For example, the Total of Max Annual Revenue returns
the maximum annual revenue of the entire column. If the formula for the column is A/B, the subtotal is the subtotal of A/subtotal of B.
Note: Groups can’t be sorted when subtotals are displayed. Measures can only be sorted within groups (inner sorts) when subtotals
are displayed.
Note: Totals and subtotals work by using the rollup statement to calculate totals of grouped data. For more information on
the functionality and limitations of totals and subtotals, refer to the rollup section of the group topic in the Analytics SAQL
Developer Guide.
If a time series, a window function, or an unsupported aggregate function is used on the data:
• Totals are determined using a window function grand total or weighted average calculation instead of the rollup.
• Subtotals aren’t calculated or displayed, the setting is ignored.
Because subtotals and grand totals use the rollup statement, which is computed before any aggregate filter is applied, subtotals
and totals amounts don’t reflect the filter. For example, if you filter out the rows where the sum or amount is greater than $1000,
you don’t see any rows greater than $1000, but the totals still include those rows in their value. An aggregate filter can also filter
out the total rows themselves. As a best practice, it’s not recommended to use aggregate filters with totals or subtotals.
1310
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1311
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1312
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: The value you choose in the Number of Lines per Row dropdown menu doesn’t affect text wrapping. It sets the number
of lines each row displays regardless of the length of the text in each cell.
1313
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: Rows in dimension columns retain the table background color even if you use alternate row colors.
1314
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Column Properties
The Column Properties panel lets you jazz up the columns you want in compare, values, and pivot tables. To highlight data that meets
specific criteria, set conditional formatting rules on a column. Or, highlight data based on conditions set on a reference column. To make
a column stand out without applying any conditions, you can use text alignment and text styles. In addition to displaying data in the
text format, you can set a measure column’s data type as a bar.
To set a column’s properties, select the column in the table or from the Choose Column list in Column Properties.
1315
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
You can also get to the Column Properties panel from a column’s context menu. To rename a measure or dimension column, select the
column in lens mode and click Rename Column from its context menu (1). Enter the new name (2) and apply your changes (3). The
new name displays in tables, charts, and filters that use the column. The name change also persists when you save the lens or clip it to
a dashboard, but it doesn’t appear in the data source or other queries using the same data source.
Dynamically renaming a column header using interactions isn’t supported in Compact form 2.0. As a workaround, switch to compact
form 1.0, or rename the column alias using interactions instead.
SEE ALSO:
Automatically Highlight Data with Conditional Formatting
1316
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1317
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Map Charts
Use a map if you have data with a geographical component. Maps can shade areas in proportion to mapped values, allowing for
visual pop-out of high-value areas. You can find the map chart in the dashboard designer.
Bubble Map Charts
Use a bubble map chart to visually indicate measure values in specified geographical areas.
Geo Map Charts
Geo maps allow you to visualize data that contains geographical coordinates (latitude and longitude). Using coordinates allows you
to place visual data elements more precisely on map charts.
Custom Map Charts
Use a custom map if you have data with a geographical component that doesn't match any of the standard maps provided by CRM
Analytics charts, such as custom regions. You can also use custom maps for areas that can be represented with polygons, such as
stadium seat sections, city blocks, or floor plans.
Matrix Charts
Use matrix charts to create a table that represents measures visually, allowing you to quickly spot extreme values.
Origami Charts
Use an origami chart to create a striking horizontal visualization for easily identifying high- and low-value data when there's a single
measure and a single grouping.
Parallel Coordinates Charts
Use a parallel coordinates chart when you have multiple measures and a single grouping. Parallel coordinate charts are useful for
displaying how data elements in a grouping stack up against each other.
Pyramid Charts
Use a pyramid chart to visually highlight relative sizes of stacked dimension values.
Radar Charts
Use radar charts to display a small dataset with one dimension and at least three measure columns.
Rating Charts
Use a rating chart to get a sense of how well a measured quality, such as customer satisfaction, is meeting expectations.
Sankey Charts
Use a sankey chart to visualize the distribution of a measure from one grouping to another grouping.
Scatter Charts
Use a scatter chart to visualize correlation between two groups of data.
Timeline Charts
A timeline chart is a line chart with one axis dedicated to a time dimension. Use a timeline chart to show how a value changes over
time.
Time Bar Charts
A time bar chart is a column chart with the horizontal axis showing a time dimension. Use a time bar chart to visualize changes over
time with vertical bars, which is a great way to illustrate relative changes over time and highlight missing data.
Time Combo Charts
A time combo chart shows two or more measures over time. You can display each measure as a line or bar. You can display the
charts on the same or separate axes.
Treemap Charts
Use treemaps to visualize hierarchical quantitative data, where containing rectangles designate relationship using color, and "leaf"
rectangles represent quantity using area.
1318
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Waterfall Charts
Use a waterfall chart to show the cumulative effect of sequentially introduced positive or negative values with breakdowns of value
totals. Also known as "flying bricks" or "Mario" charts. To include breakdowns of value totals, use a stacked waterfall chart.
To display the chart properties in the lens, click . The chart properties appear in the right panel and are grouped into sections. The
properties differ based on the chart type. Properties that are unique to a chart type are grouped in their own section. For example, the
map chart has the “Map” section.
If you add a chart to a dashboard, edit the dashboard and select the chart widget in the dashboard designer to change the chart properties
for the widget.
1319
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Or, to change the chart properties at the query level, double-click the widget in the dashboard designer (which opens the query in lens
mode) and click . If the query powers multiple charts in the dashboard, changes to the chart properties at the query level only affect
chart that you double-clicked.
1320
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
SEE ALSO:
Widget Properties for Analytics Dashboard
1321
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
When using this feature, number formats applied to a column are also respected.
1322
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Select Small Multiples from Axis Mode to separate the measures and make the chart easier to understand.
Tip: While viewing the dashboard, click the title of a measure axis to sort the results. Each click cycles through the sort order
options: ascending, descending, and alphabetical. You can use this method to sort all charts with measure axes, except scatterplot
or charts that also have a time axis.
1323
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Use rules to automatically highlight charts and tables in a lens or dashboard as well as number widgets in your dashboard. Stay on top
of each KPI by highlighting the highs and lows based on ranges and colors that you specify. Or, distinguish each measure or dimension
value (group) by color-coding them.
For example, you can apply conditional formatting to accomplish the following goals.
• Determine how well you’re doing on a KPI by coloring the number widget based on its value.
1324
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
• Determine your top and bottom performers by categorizing numeric values into colored bins. You can add up to 10 bins.
1325
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
• Focus on key table records by color-coding the text or background of a column’s cells. In the following example, the Customer Name
column is colored based on the value of the Sales field.
Set up conditional formatting in the widget properties panel. Although you set it up at the widget level, the formatting applies to the
underlying query. Conditional formatting affects all widgets that use the query. If you change the widget or chart type, the formatting
1326
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
is retained. A message appears if the formatting can’t be retained, like when changing between a table and chart widget. Conditional
formatting overrides colors set on dimension values in the dataset XMD.
For charts and number widgets, set up conditional formatting in the widget properties. Select Measures to apply a format to each
measure. Or select one measure or dimension to apply a format to each of its values.
Note: Each chart or number widget can have one conditional formatting rule.
For tables, in the Column tab of the widget properties, select the column that you want to format and then set the rule used to format
it. Each table can have multiple conditional formatting rules. You can apply only one rule for each style, like background color or text
color in a table.
For calculated dimensions, select the dimension and click Pick Values. For Select Values, you can choose previously defined values or
enter custom values.
1327
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
If you enter a custom value, then click to add it to the Select Values list.
1328
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
SEE ALSO:
Column Properties
when Segment == \"Home Office\" and sum(q.'Discount') >= 200 then \"#008000\"
when Segment == \"Home Office\" and sum(q.'Discount') < 200 then \"#CCCC00\"
1329
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
2. To apply the text color to the Sales table column, select the new color column (“FormatColor”) in the Reference Column widget
property and then select Use Color in Reference Column in the Coloring Method option.
The following example conditionally colors the text in the Sales table column based on the logic used to determine the color in the
“FormatColor” reference column.
1330
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Set a custom domain to restrict the view to values that bring smaller values into view. Click Add custom domain, then set the domain's
bounds be entering minimum and maximum values.
1331
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
To focus on the shading, and not the lines, the chart hides the lines and legend for measures specified in Measure 1 and Measure 2,
unless you select them in the Color of Shading field.
Note: The colors of the measures are based on the theme in the legend. The measure colors can change when you select the
shade color or if lines are removed from the chart.
1332
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
To make other measure lines dashed instead of solid, select them from the same menu.
1333
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: Dynamic reference lines don’t appear while exploring a chart when the dashboard is in Edit mode. However, reference
lines with static values are visible in Edit mode.
1334
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1. Tap +Reference Line in the X-Axis or Y-Axis section of the chart widget panel.
2. Add either a static or dynamic value for the reference line.
• To add a static value, type a numeric value in the Value field.
•
To add a dynamic value, tap .
1335
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1336
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1337
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. To configure the tooltip text, data point details, and visualizations, expand the Tooltip section of the widget properties.
1338
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Property Description
Add custom text Specify your own text. To insert the value of a field in the text,
click Add field. If manually entering a field, reference the field
by its alias (not label) and enclose the alias in square brackets.
Customize data point details To show measures or dimensions in the tooltip, enable this
option.
Show percentage If you show measures, enable this option to show each measure’s
percentage of the total.
1339
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Property Description
visualization match the ones in the associated chart widget. And,
when you hover over a chart’s grouping, that grouping is applied
as a filter on the tooltip.
Visualization size Set the width and height of the tooltip visualization in pixels.
5. To add a marker for a data point, expand the Chart Markers section in the widget properties, and then click Edit Chart Markers.
6. Select a data point in the chart where you want to add a marker.
Property Description
Show dimensions Show the values of all selected dimensions.
Add custom text Specify your own text. To insert the value of a field in the text,
click Add field. If manually entering a field, reference the field
by its alias (not label) and enclose the alias in square brackets.
Open by default Opens the marker and shows its text, by default. Otherwise, the
dashboard viewer must click the marker to view the text.
Blink when closed Makes the marker blink when it’s closed.
1340
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Property Description
Background Background color of the marker.
In trellis view, more groupings can be added. This trellis of maps of the United States shows a sum grouped by billing state and by
product.
1341
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Trellis view can also be used to visualize values that may otherwise be difficult to see in a chart. For example, some of the values shown
by this stacked bar chart are difficult to pick out.
By using trellis view, you can separate the values so that smaller values can be picked out more easily.
1342
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
In any trellis view except for Wrap, you can remove the grid lines.
1343
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
You can also move the labels to the other side of the chart.
1344
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Visualizing a large number of charts in a trellis can create a view that is difficult to read.
1345
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Adjust the matrix type and the size ratio to create a trellised chart that is easier to view and understand.
Country,Country_code,Region,flag_img_url,Accounts,Value
Australia,aus,South
Pacific,https://MyDomainName.file.force.com/file-asset/flagaustraliapng,1898,22930651
China,chn,East
Asia,https://MyDomainName.file.force.com/file-asset/flagchinapng,2051,29754009
1346
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Europe,eur,Europe,https://MyDomainName.file.force.com/file-asset/flageuropepng,4668,61238042
France,fra,Europe,https://MyDomainName.file.force.com/file-asset/flagfrancepng,2303,28746829
India,ind,Asia,https://MyDomainName.file.force.com/file-asset/flagindiapng,2721,32037499
Italy,ita,Europe,https://MyDomainName.file.force.com/file-asset/flagitalypng,1722,26340986
Japan,jpn,East
Asia,https://MyDomainName.file.force.com/file-asset/flagjapanpng,2872,36916012
Russian Federation,rus,East
Europe,https://MyDomainName.file.force.com/file-asset/flagrussiapng,1847,27387456
South
Africa,zaf,Africa,https://MyDomainName.file.force.com/file-asset/flagsouthafricapng,879,9794857
South Korea,kor,East
Asia,https://MyDomainName.file.force.com/file-asset/flagsouthkoreapng,1643,21934785
United States of America,usa,North
America,https://MyDomainName.file.force.com/file-asset/flagusapng,6527,87044191
After you upload the dataset to CRM Analytics, explore the dataset using only one grouping. Then edit the SAQL query to add the image
URLs to the result set.
1. Explore the dataset to visualize the data you want to view in chart mode.
2. Switch to SAQL mode and edit the query using a non-grouping SAQL function such as first().
1347
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. Return to chart mode, then click the gear menu to open the chart properties.
4. Click Use Icons, then select the name of the dimension containing the icon URLs from the Icon Source menu.
Use the Fit Mode and Shape menus to adjust the icons’ appearance.
Note: The Use Icons menu contains the name of every non-grouped dimension used in your query, even if these dimensions
do not contain image URLs.
To use Chatter profile images, use your browser's development tools to find the image's underlying URL.
Once you've collected the URLs, add them to a column in your dataset before uploading the dataset to CRM Analytics.
name,url_src,num_accts,value_accts,territory
astro,https://MyDomainName.file.force.com/profilephoto/7290M000000WJzg/M/1,829,1309742,North
America
1348
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
...
Bar Charts
CRM Analytics provides the following types of bar charts: Bar, Column, Stacked Bar, and Stacked Column. Use the Bar or Column chart
to provide a quick visual comparison of related values. Use the Stacked Bar or Stacked Column chart to show groups within each bar.
1349
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, to show all bars without scrolling, select Fit in the Auto Fit field.
Tip: If you resize the bar chart while arranging a dashboard and lose the labels, choose Preserve labels in the Auto Fit field
to restore them.
1350
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1. In the lens, click and then select the Stacked Column chart type.
2. In the Bar Length field, add the Sum of Amount measure.
3. In the Bars field, add one or more dimensions to analyze the measures by.
4. To rank the records and see the highest or lowest values, click the down arrow next to the measure and sort the results.
1351
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Column Charts
Use a column chart (also called vertical bar chart) to show relative counts of things, such as leads or dollars. Use a stacked column chart
to show groups within each bar.
1352
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Combo Charts
Use a combo chart to display at least two related series of data, such as discrete grouped values as vertical bars overlaid with a line chart
representing an average value.
1353
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. To filter the sum by Best Case category, click the dropdown next to Sum of Amount, and select Add a Filter.
4. Select Forecast Category > Best Case, and then click Add.
This filter applies only to this measure.
1354
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To create three more instances of the Sum of Amount measure, click the dropdown arrow next to Sum of Amount, and select Clone
Column. Repeat this step two more times so that you have four Sum of Amount measures.
You now have four of the same Sum of Amount measures with the same filter.
1355
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
6. For second, third, and fourth Sum of Amount measures, change the Forecast Category filter to Closed, Commit, and Pipeline,
respectively.
7. To make the measure labels more descriptive, click the dropdown next to the top Sum of Amount measure, and select Edit this
Column. Change the column header to “Best Case Total.” Use a similar label for each of the remaining Sum of Amount measures.
Note: You can also choose Dot in the Show As field to create a bullet chart.
1356
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
11. Under the Combo Chart section, change the Axis Mode to Dual Axis, and select Stack bars to stack all the bars for each industry.
Note: The Stack bars option is available when Axis Mode is set to Single Axis or Dual Axis, not Small Multiples. Also, when
you set Axis Mode to Dual Axis, the first measure appears on the left axis. If the first measure shows as a bar and you stack
bars, all bar measures appear on the left axis. Similarly, if the first measure shows as a line and you stack bars, the line measure
appears on the left axis and the bar measures appear on the right.
Donut Charts
Use a donut chart when you have a grouping and want to show not only the proportion of a single value for each group member against
the total, but also the total amount itself. If you remove the donut's center by selecting 0% from the Center Size menu, this visualization
is commonly referred to as a pie chart.
1357
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
For example, showing opportunities that cover a limited number of product lines can be visualized effectively using a donut chart.
1. In the lens, click and then select the Donut chart type.
2. In the Segment Size field, add the measure that determines the size of each segment. For example, select the measure that shows
the total opportunity amount.
3. In the Segment By field, add the dimension to group the data by. For example, select Product Family.
1358
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, select Custom Text from the Center Value menu, then enter custom text in the Custom Text field.
1359
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
6. To change the chart display, click and set the chart properties in the Formatting panel.
Funnel Charts
Use a funnel chart to visualize sequential data that can be broken up into stages, such as a sales cycle.
1360
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: This funnel chart also has a filter that includes only open pipeline.
4. To change the chart display, click and set the chart properties in the Formatting panel.
Gauge Charts
Use gauge charts to track progress along a single measure, such as how much revenue has been realized versus the target.
1361
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
2. In the Value field, add the measure that you want to analyze, like average opportunity amount.
3. To compare the measure across every member of a category, like every account owner, add the dimension in the Trellis field.
A separate gauge appears for each value of the selected dimension.
4. To rank the performance based on the measure, sort the measure in ascending or descending order. Default sort order is alphabetical
order.
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, set the Trellis Type field to Wrap so the chart can be viewed all at once, without having to scroll. Also, set the bins in
Conditional Formatting to create band colors. The band makes it easy to see how close managers are to hitting their goal. The band
color makes it easy to spot which managers are performing well and which can use some help.
1362
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The breakpoints set the range values where the color bands transition. In this example, the maximum (goal) specified in the Range
Values section of the widget properties is $2 million. If account managers hit at least $1.4 million, they’re in the green . If they hit
between $1.2 and $1.4 million, they’re in the yellow. Otherwise, they’re in the red.
Bullet Charts
Bullet charts are perfect for comparing metrics against quantitative benchmarks and references, like current revenue with target revenue.
1363
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The bullet chart now makes it easy to see current revenue against target revenue.
Heat Maps
Use a heatmap to visually enhance high- and low-value data when there's a single measure and multiple dimensions.
1364
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Tip: When it’s hard to tell the difference between gradients, use bins.
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, to categorize values in high, medium, and low bins, select Bins under the Conditional Formatting section, and set
them up based on thresholds.
Line Charts
Use a line chart when you have one important grouping representing an ordered set of data and one or more values to show.
Line charts are useful for comparing the value of measures, such as sales and profit totals, over a series of categories (grouped dimensions)
such as industries and sales territories.
1365
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Map Charts
Use a map if you have data with a geographical component. Maps can shade areas in proportion to mapped values, allowing for visual
pop-out of high-value areas. You can find the map chart in the dashboard designer.
Data for map charts must contain geographical names corresponding to the geographical entities represented on the map. CRM Analytics
map charts are not case-sensitive, but specific codes or names for geographical entities such as US states and world countries are
expected.
For maps of the USA, each row of data must contain a single field identifying the state by its two-letter postal code (recommended) or
its full common name. A row with data linked to the state of California, for example, must have an identifying field with "CA" or "California",
but not "Calif".
For global maps, the identifying country names must follow ISO 3166-1 (alpha 3) three-letter code (recommended) or be spelled out
using the country names set by CRM Analytics. A row with data linked to the United Kingdom, for example, must have an identifying
field with "GBR" or "United Kingdom", but not "Great Britain".
1366
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. In the Locations field, add the dataset field that contains the locations. For example, select Billing Country, which corresponds to
the World Countries map type.
4. In the Color field, add the measure that determines the color of each region. For example, select Count of Rows to show colors
based on the number of opportunities for each country.
By default, the map shows a color gradient based on two colors.
Tip: When it’s hard to tell the difference between gradients, use bins.
5. To bin values in high, medium, and low categories, select Bins under Conditional Formatting, and choose the low and high value
thresholds and the legend labels and colors.
1367
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
6. To make more changes to the chart display, set the chart properties in the Formatting panel.
AGO Angola
ALB Albania
ARG Argentina
ARM Armenia
AUS Australia
AUT Austria
AZE Azerbaijan
BDI Burundi
BEL Belgium
BEN Benin
1368
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
BGR Bulgaria
BHR Bahrain
BLR Belarus
BLZ Belize
BMU Bermuda
BOL Bolivia
BRA Brazil
BRN Brunei
BTN Bhutan
BWA Botswana
CAN Canada
CHE Switzerland
CHL Chile
CHN China
CMR Cameroon
COL Colombia
CS- Kosovo
CUB Cuba
CYP Cyprus
DEU Germany
1369
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
DNK Denmark
DZA Algeria
ECU Ecuador
EGY Egypt
ERI Eritrea
ESP Spain
EST Estonia
ETH Ethiopia
FIN Finland
FJI Fiji
FRA France
GAB Gabon
GEO Georgia
GHA Ghana
GIN Guinea
GLP Guadeloupe
GMB Gambia
GRC Greece
GRL Greenland
GTM Guatemala
GUY Guyana
1370
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
HND Honduras
HRV Croatia
HTI Haiti
HUN Hungary
IDN Indonesia
IND India
IRL Ireland
IRN Iran
IRQ Iraq
ISL Iceland
ISR Israel
ITA Italy
JAM Jamaica
JEY Jersey
JOR Jordan
JPN Japan
KAZ Kazakhstan
KEN Kenya
KGZ Kyrgyzstan
KHM Cambodia
KWT Kuwait
LAO Laos
LBN Lebanon
LBR Liberia
LBY Libya
LSO Lesotho
LTU Lithuania
1371
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
LVA Latvia
MAR Morocco
MDA Moldova
MDG Madagascar
MEX Mexico
MKD Macedonia
MLI Mali
MLT Malta
MMR Myanmar
MNE Montenegro
MNG Mongolia
MOZ Mozambique
MRT Mauritania
MUS Mauritius
MWI Malawi
MYS Malaysia
NAM Namibia
NER Niger
NGA Nigeria
NIC Nicaragua
NLD Netherlands
NOR Norway
NPL Nepal
OMN Oman
PAK Pakistan
PAN Panama
PER Peru
1372
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
POL Poland
PRT Portugal
PRY Paraguay
QAT Qatar
REU Reunion
ROU Romania
RUS Russia
RWA Rwanda
SDN Sudan
SEN Senegal
SGP Singapore
SLV El Salvador
SOM Somaliland
SOM Somalia
SUR Suriname
SVK Slovakia
SVN Slovenia
SWE Sweden
SWZ Swaziland
SYR Syria
1373
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
TGO Togo
THA Thailand
TJK Tajikistan
TKM Turkmenistan
TUN Tunisia
TUR Turkey
TWN Taiwan
UGA Uganda
UKR Ukraine
URY Uruguay
UZB Uzbekistan
VEN Venezuela
VNM Vietnam
VUT Vanuatu
YEM Yemen
ZMB Zambia
ZWE Zimbabwe
Properties of Maps
The map chart is configured with the properties in the dashboard designer. These properties have equivalent JSON properties.
1374
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
With auto-zoom, the map chart both highlights the data and zooms in the geographical area.
Any filtering that occurs on the visualized data can trigger auto-zoom, including faceting in dashboards, allowing you to create dynamic
maps.
1375
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1376
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
{
"visualizationType": "choropleth",
"step": "step_newmap",
"map": "US States",
"legend": {
"show": false,
"inside": false,
"showHeader": true,
"position": "right-top"
},
"title": {
"label": "",
"subtitleLabel": "",
"align": "center"
},
"theme": "wave",
"lowColor": "#C5DBF7",
"highColor": "#1674D9",
"trellis": {
"enable": false,
"type": "x",
"chartsPerLine": 4
}
}
1377
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. In the Locations field, add the dataset field that contains the locations. For example, select Billing State/Province if the map type
is US States.
4. In the Bubble Size field, add the measure that determines the bubble size.
5. In the Bubble Color field, add the measure that determines the bubble color.
6. Set the chart properties in the Formatting panel to make other adjustments, such as entering the chart title.
1378
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Airport,Year,Quarter,lat,lng,flights,passengers
JFK,2014,1,40.639751,-73.778925,120000,67276
SFO,2014,1,37.618972,-122.374889,30000,7383
ORD,2014,1,41.978603,-87.904842,50000,90908
HNL,2014,1,21.318681,-157.922428,10000,5262
ATL,2014,1,33.640411,-84.419853,217089,24044724
DFW,2014,1,32.89748,-97.040443,169955,15888600
DEN,2014,1,39.849312,-104.673828,141381,13368128
SEA,2014,1,47.443546,-122.301659,84283,10585134
SLC,2014,1,40.758701,-111.876183,81238,5285402
PHX,2014,1,33.457439,-111.727386,107615,10533665
JFK,2014,2,40.639751,-73.778925,170000,77276
SFO,2014,2,37.618972,-122.374889,40000,8383
ORD,2014,2,41.978603,-87.904842,50000,100908
HNL,2014,2,21.318681,-157.922428,11000,6262
ATL,2014,2,33.640411,-84.419853,227089,34044724
DFW,2014,2,32.89748,-97.040443,170955,25888600
DEN,2014,2,39.849312,-104.673828,151381,23368128
SEA,2014,2,47.443546,-122.301659,85283,20585134
1379
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
SLC,2014,2,40.758701,-111.876183,82238,6285402
PHX,2014,2,33.457439,-111.727386,117615,11533665
JFK,2014,3,40.639751,-73.778925,210000,87276
SFO,2014,3,37.618972,-122.374889,50000,9383
ORD,2014,3,41.978603,-87.904842,50000,90908
HNL,2014,3,21.318681,-157.922428,12000,7262
ATL,2014,3,33.640411,-84.419853,237089,35044724
DFW,2014,3,32.89748,-97.040443,180955,26888600
DEN,2014,3,39.849312,-104.673828,161381,24368128
SEA,2014,3,47.443546,-122.301659,95283,22585134
SLC,2014,3,40.758701,-111.876183,92238,6585402
PHX,2014,3,33.457439,-111.727386,127615,13533665
JFK,2014,4,40.639751,-73.778925,220000,117276
SFO,2014,4,37.618972,-122.374889,60000,7000
ORD,2014,4,41.978603,-87.904842,50000,90908
HNL,2014,4,21.318681,-157.922428,13000,8262
ATL,2014,4,33.640411,-84.419853,247089,36044724
DFW,2014,4,32.89748,-97.040443,190955,27888600
DEN,2014,4,39.849312,-104.673828,171381,25368128
...
1. In the lens, click and then select the Geo Map chart type.
2. To select the map type in the chart properties, click .
The map type depends on the region that you want to show in the map. For example, if your flights are only in the Unitied States,
select US States.
3. In the Locations field, select the location field that determines where to add bubbles. For example, select the Airport field.
4. In the Latitude and Longitude field, add two measures: the first contains average latitude coordinates and the second contains
average longitude coordinates.
1380
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Tip: If you’re adding measures in a SAQL query, add the latitude and longitude measures first, and then any other measures.
5. In the Bubble Size field, add a measure that determines the bubble size, such as sum of flights.
6. In the Bubble Color field, add a measure that determines the color, such as sum of passengers.
7. To make additional changes, such as setting the colors of the geo map chart bubbles, set the chart properties in the Formatting
panel.
1381
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
2. In the left pane, choose an existing geoJSON or upload a new one (max 10 MB). Each map is based on an underlying geoJSON.
Tip: You can create multiple maps from the same geoJSON by applying unique boundaries that focus on different regions.
To edit or delete an existing geoJSON, hover over the geoJSON and click the appropriate button. You can delete only unused
geoJSONs, those that aren’t used to define maps. To delete a used geoJSON, first remove it from the maps in which it’s used.
1382
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Note: When you use the map in a chart, you can override this projection type in the widget properties.
4. In the center pane, drag the handles of the map to change the boundaries, and zoom in on a particular region. The boundaries are
listed in the right pane.
1383
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
3. To apply the changes to all lenses and dashboards in your org that use this map, select Apply Globally. If left unchecked, the changes
only apply to this instance of the map.
4. To delete the map, click Delete Map.
You can’t delete maps that are prepackaged with CRM Analytics.
5. Click Done.
GeoJSON Structure
Standard GeoJSON typically has a structure that contains feature blocks similar to the following:
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[125.6, 10.1],
[126.1, 11.0], ...
]
1384
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
},
"id": "SI",
"properties": {
"name": "Sandwich Islands",
"property1": "value1"
}
}
Each feature block defines a shape, or map area. To correctly overlay data onto the map, the data must have a column with values
uniquely matching one of the properties in the GeoJSON. For example, if the data has values in a column called Country_Code, then
each feature block in the GeoJSON should have a property called "id" with values that exactly match values in Country_Code. The feature
block with "id": "SI" would match a row in the data that has "SI" in the Country_Code column, and that data can then be overlaid
on the area defined by that feature block. To overlay the data on the matching areas, you'll have to group on Country_Code when
exploring the dataset in Analytics.
The "id" property is required, and it has to be at the same level as "properties" in the GeoJSON. Often, however, it's a child of "properties":
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[125.6, 10.1],
[126.1, 11.0], ...
]
},
"properties": {
"name": "Sandwich Islands",
"id": "SI",
"property1": "value1"
}
}
Sometimes "id" doesn't exist at all, and must be created. In either case, the original GeoJSON must be edited to contain the "id" property
at the level of the "properties" property. In a single feature block, doing that is trivial, but a large GeoJSON file could contain hundreds
of GeoJSON feature blocks. Using a script is recommended.
Note: For GeoJSON that lacks an "id" property, Analytics falls back to using the values in properties.name. If your GeoJSON has a
property called "name" under "properties", and "name" has values that match a column in your data, it can be used instead of "id".
Do not change the position of name. It must remain a child of "properties".
Bounding Boxes
You can "zoom" into a map area by redefining the area of the map to display. This is done by giving the boundaries of the new area in
terms of coordinates. These coordinates are called a bounding box. A bounding box limits the map to the shapes within the coordinates,
or borders, of the bounding box.
When you create a map from a GeoJSON without a bounding box, every defined shape is displayed as an area on the map. For example,
the following map of zip codes in the Los Angeles area does not use a bounding box:
1385
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The areas of interest, where data has been overlaid on the map, are indicated by the red rectangle. To make the map more readable,
the view should zoom in on the zip-code areas that have data. The coordinates (in this case, latitude and longitude) bordering the area
of interest can be found using a GeoJSON tool that gives the coordinates of the areas in the map. A second map is then created from
the original GeoJSON, this time with bounding-box coordinates.
When viewed in Analytics, this new map is zoomed in on the area of interest.
You can set the bounding box while creating or editing a map.
Matrix Charts
Use matrix charts to create a table that represents measures visually, allowing you to quickly spot extreme values.
For example, you can show which product families are generating the most opportunities.
1386
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1387
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
6. To change the chart display, click and set the chart properties in the Formatting panel. For example, change the two colors
under the Conditional Formatting section.
Origami Charts
Use an origami chart to create a striking horizontal visualization for easily identifying high- and low-value data when there's a single
measure and a single grouping.
1388
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
For example, you have product pricing data but you aren't sure why some higher-volume products are more profitable than others.
1. In the lens, click and then select the Parallel Coordinates chart type.
2. In the Node Measures field, add the measures you're interested in.
To compare product pricing, add average unit cost, discount, shipping cost, and profit.
3. In the Lines field, add the dimension that you’d like to group the data by. Each group gets its own line. For example, select Product
Name.
The parallel coordinates chart shows that higher discounts aren't adding up to higher profits.
4. To change the chart display, click and set the chart properties in the Formatting panel. For example, indicate whether to show
every measure title in the chart.
Pyramid Charts
Use a pyramid chart to visually highlight relative sizes of stacked dimension values.
1389
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
1. In the lens, click and then select the Pyramid chart type.
2. In the Left Axis field, add the measure to include on the left side of the pyramid. For example, select Count of Rows.
3. In the Right Axis field, add the second measure. For example, select Sum of Amount.
4. In the Bars field, add a dimension to analyze the measures by, like Billing Country.
5. To sort the results by a measure, select the down arrow next to the measure and select the sort order.
6. To change the chart display, click and set the chart properties in the Formatting panel.
For example, specify whether to show measure axes and titles.
1390
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Radar Charts
Use radar charts to display a small dataset with one dimension and at least three measure columns.
1391
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Tip: Use a metrics radar chart instead of a stacked bar chart when the measures are similar across groupings. Although stacked
bar charts can analyze multiple measures, they don’t provide enough contrast when comparing values with subtle differences.
For example, it’s difficult to determine which customer segment has the highest average discount in this stacked bar chart.
Rating Charts
Use a rating chart to get a sense of how well a measured quality, such as customer satisfaction, is meeting expectations.
1392
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
4. To change the order of multiple rating charts, sort the measure in ascending or descending order. Default sort order is alphabetical
order.
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, show the rating as a series of stars.
Sankey Charts
Use a sankey chart to visualize the distribution of a measure from one grouping to another grouping.
1393
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The sankey chart performs calculations based on the absolute value of each measure. For example, you have the following data:
Based on the data in the table, total new business is 300 (200 + 200 + -100) and total add-on business is 75 (-50 + 50 + 75). When you
visualize this data in a sankey chart, notice the different results: new business is 500 and add-on business is 175. These values (3) also
impact the total (1) and difference between the two groupings (2).
1394
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
• Sankey charts don't support scroll and don't render when there's not enough space. For high cardinality situations, consider alternative
visualizations.
• To facet and filter dashboard widgets based on a grouping in a sankey chart, set the chart’s Selection Type as Multiple Selection
in the Query Properties tab.
Scatter Charts
Use a scatter chart to visualize correlation between two groups of data.
6. To change the chart display, click and set the chart properties in the Formatting panel.
1395
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Timeline Charts
A timeline chart is a line chart with one axis dedicated to a time dimension. Use a timeline chart to show how a value changes over time.
1396
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
5. To change the chart display, click and set the chart properties in the Formatting panel.
For example, if some of the dataset includes predictions of future amounts, click Predictive Line under the X-Axis section in the
charts properties panel. Or add a reference line to provide a visual cue about a particular point in time.
6. To add a reference line, set the position of the reference line by specifying the date in Time.
The numerical date you specify should match the granularity selected in the Time Axis field. For example, if you selected Year-Month
and want the reference line to start just after August 2016, enter 2016/8. You can also specify a label in Label for the line, and a
color.
1397
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
4. To change the chart display, click and set the chart properties in the Formatting panel.
For example, if some of the dataset includes predictions of future amounts, click Predictive Line under the X-Axis section in the
charts properties panel. Or add a reference line to provide a visual cue about a particular point in time.
5. To add a reference line, set the position of the reference line by specifying the date in Time.
1398
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
The numerical date you specify should match the granularity selected in the Time Axis field. For example, if you selected Year-Month
and want the reference line to start just after August 2016, enter 2016/8. You can also specify a label in Label for the line, and a
color.
1399
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
4. To change the chart display, click and set the chart properties in the Formatting panel.
For example, if some of the dataset includes predictions of future amounts, click Predictive Line under the X-Axis section in the
charts properties panel. Or add a reference line to provide a visual cue about a particular point in time.
5. To add a reference line, set the position of the reference line by specifying the date in Time.
The numerical date you specify should match the granularity selected in the Time Axis field. For example, if you selected Year-Month
and want the reference line to start just after August 2016, enter 2016/8. You can also specify a label in Label for the line, and a
color.
Treemap Charts
Use treemaps to visualize hierarchical quantitative data, where containing rectangles designate relationship using color, and "leaf"
rectangles represent quantity using area.
1400
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
4. To change the chart display, click and set the chart properties in the Formatting panel.
1401
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Waterfall Charts
Use a waterfall chart to show the cumulative effect of sequentially introduced positive or negative values with breakdowns of value
totals. Also known as "flying bricks" or "Mario" charts. To include breakdowns of value totals, use a stacked waterfall chart.
4. To change the chart display, click and set the chart properties in the Formatting panel.
For example, set the label for the total column.
1402
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Clone a Lens
Build upon a visualization by cloning its containing lens to a new tab where you can continue
EDITIONS
exploring. You can save the original in its own tab.
1. Click an existing CRM Analytics lens to open it. Available in Salesforce
If you're using a new, unsaved lens, you must save it before it can be cloned. Classic and Lightning
Experience.
2. Select Clone in a New Tab from the More menu.
Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1403
Analyze Your Data Explore and Visualize Your Data in CRM Analytics
Save a Visualization
Save your visualization as a lens.
EDITIONS
1. Click the Save icon.
Available in Salesforce
Classic and Lightning
Experience.
2. Enter a title and a description for your lens, and select the app to save it in. Available with CRM
Analytics, which is available
3. Click Save. for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
1404
Analyze Your Data Build CRM Analytics Dashboards
Share a Visualization
Share a visualization with your colleagues by posting to Chatter, getting its unique URL, downloading
EDITIONS
a screenshot of it, or downloading its filtered data. A Chatter post provides an image and a link to
the asset—lens, dashboard, or app—in CRM Analytics. Colleagues with the link and access to the Available in Salesforce
asset can drill down and explore the information that’s presented. To share without giving access Classic and Lightning
to the asset, use the download options. Experience.
1. Click Share.
Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
2. Click the tab for the sharing method that you want: available in Developer
a. Post to Feed posts to Chatter an image and the link to the lens, dashboard, or app. Select Edition.
User or Group feed, enter the name, and then type your comment. You can also remove
the image from your post by hovering over it and clicking the x. Note that posted images USER PERMISSIONS
are public.
To view visualizations:
b. Get URL provides a unique URL to the asset. Copy the link and then paste it wherever you
• Use CRM Analytics
want to share it.
c. Download gives you options to share a visualization without giving access to it. You can
download it as an image (.png) or as filtered data in Microsoft® Excel® (.xls) or comma-separated values (.csv) format.
Note: To share a visualization, you must give access to the app that contains it. Lenses, datasets, and dashboards within the
default Shared App are accessible to all CRM Analytics users, unless administrators have restricted access. All other apps are
private unless someone with Manager access to the app has shared it with a specific user, group, or role.
1405
Analyze Your Data Build CRM Analytics Dashboards
Use the wizards to quickly build widgets. Use drag-and-drop, snap-to-grid, and browser reflow to effortlessly add, position, and align
widgets in a dashboard.
1406
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Best Practices for Building Your Own CRM Analytics Dashboard
1407
Analyze Your Data Build CRM Analytics Dashboards
1408
Analyze Your Data Build CRM Analytics Dashboards
4. If you use a smart template, follow the instructions in the wizard. They prompt you to choose datasets and the specific data to display
in the dashboard.
Important: Creating dashboards from smart templates requires the ‘Use Any API Client’ permission. Without that permission,
you may not see all available datasets in the wizard.. To assign that permission, request API Access Control from Salesforce
Customer Support. See Restrict Access to APIs Connected Apps.
5. If you use a traditional template, add a query to each widget by clicking the icon inside the empty widget. A wizard guides you
through adding the query. When you complete the wizard, CRM Analytics populates the widget based on the results of the query.
CRM Analytics also adds the query to the query panel. If you use a smart template, you’re asked a set of questions about your data
before CRM Analytics creates the dashboard. Dashboards created from smart templates usually don’t require any more configuration
work, but you can customize them as you would any other dashboard.
6.
To set the dashboard properties, click and then click Dashboard Properties.
The dashboard properties include the default widget properties, which you can use to ensure that the background and borders of
all widgets are consistent. When you create a widget, you can specify whether the widget uses these default properties.
1409
Analyze Your Data Build CRM Analytics Dashboards
7. To save the dashboard, click , enter a title and description. Also enter a brief description in the Version History field to help you
remember what’s unique about it in case you ever want to revert to it. For example, since it’s the first version, enter Original.
Select the app in which you want to save the dashboard, then click Save.
The permissions on the app determine each user’s access to the dashboard. To ensure that the right users have the right access to
the dashboard, review the app permissions.
Dashboard Properties
These properties apply to a dashboard designer dashboard. Some of them are the default widget properties that you can apply to
each widget to ensure a consistent appearance.
Smart Dashboards
Use a smart dashboard template to create a ready-made dashboard that’s prepopulated with your Salesforce data.
Best Practices for Building Your Own CRM Analytics Dashboard
Follow best practices to design and build useful, effective CRM Analytics dashboards, while minimizing rework and addressing
potential gaps.
1410
Analyze Your Data Build CRM Analytics Dashboards
Dashboard Properties
These properties apply to a dashboard designer dashboard. Some of them are the default widget properties that you can apply to each
widget to ensure a consistent appearance.
General
Select Available on mobile to show this dashboard in the Analytics mobile app. When not selected, mobile users can’t access this
dashboard. Use this option to hide dashboards that don’t perform well on the mobile app.
Property Description
Background Color Default background color for widgets
Smart Dashboards
Use a smart dashboard template to create a ready-made dashboard that’s prepopulated with your Salesforce data.
The CRM Analytics dashboard template picker includes the following smart dashboards. Each one lets you select data from an individual
CRM Analytics dataset to include in the dashboard. After selecting the template to use, follow a series of wizard questions to indicate
specific fields, dimensions, measures, and so on, to display in visualizations.
1411
Analyze Your Data Build CRM Analytics Dashboards
• Performance Summary. Compares metrics side by side, across a single dimension. The wizard lets you select metrics to display, such
as sales revenue, product mix, or geography. Also select dates to trend the data over a certain period, and indicate how to group
the data.
• Metrics Trend. Visualize how metrics change over time with customized filters. Select the metrics to display, such as revenue, profit,
or quantity, and the time period to trend the data.
• Table Expansion. Visualize how metrics change over time with customized filters. The dashboard details table expands into a full
page. Select measures dimensions to include in the dashboard and the time period to trend the data.
• Time Series. Look at future metrics trends based on historical data. The template gives you the option of using the SAQL timeseries
function. Select measures dimensions to include in the dashboard and the time period to trend the data.
– Group filters together at the top or left so that they are quickly noticeable. You can use a container widget to section them off
in the dashboard.
– Keep in mind that a chart in CRM Analytics is primarily a way to ask questions, not a way to illustrate a conclusion. A good
dashboard invites the audience to drill down and seek ever more focused and useful information.
– Choose chart types based on the characteristics of the data, not for look or variety. For example, if most of your charts display
value changes over time, it’s OK if they’re all line graphs.
– If a chart seems to need a lengthy caption or title, reconsider whether the chart is doing its job. Well-chosen data often speaks
for itself.
– Use container widgets to frame and organize related elements in the dashboard.
1412
Analyze Your Data Build CRM Analytics Dashboards
– Don’t clutter the dashboard—leave some empty space. If needed, break a dashboard into a series of dashboards, using link
widgets to help the user navigate them.
– Consider turning on high contrast colors to enable accessibility standards on your dashboards.
SEE ALSO:
Build CRM Analytics Dashboards
1413
Analyze Your Data Build CRM Analytics Dashboards
1414
Analyze Your Data Build CRM Analytics Dashboards
1415
Analyze Your Data Build CRM Analytics Dashboards
• Copying and pasting a dashboard component is different than copying and pasting a standard widget. When you copy and paste
a component, the newly created component uses the same query as the original component. When you copy and paste a standard
widget, you create a copy of the query used by the new widget.
Tip: If your component contains multiple pages, you can select which page to show as the default initial page of the component.
SEE ALSO:
Manage Global Filters in Dashboard Components
Manage Datasets in Dashboard Components
Example: With the dashboard component open in CRM Analytics, click Preview or Save.
Tip: You can save components in a private app or in shared apps. Keep in mind that components saved in a private app
can be used in other apps, but the contents of the component are visible only by you.
1416
Analyze Your Data Build CRM Analytics Dashboards
2. Click Edit ( ).
3. Select the component you want to delete.
4. Click More ( ), and then select Delete.
To manage global filters in components, click the global filters icon ( ), then select COMPONENT in the sidebar.
When components and dashboards contain global filters that use the same field, dashboard global filters override global filters in
components.
Note: If two components in the same dashboard have global filters on the same field, the filter applied is based on the alphanumeric
order of the components’ API names. For example, a global filter in a component with a name “corporate_info_1” takes precedence
over a global filter in a component named “corporate_info_2”. To change which global filter is used in components, clone and
rename the component with the global filter you want applied. Make sure the component’s API name precedes other component
API names in alphanumeric order.
SEE ALSO:
Create and Reuse Dashboard Components
SEE ALSO:
Create and Reuse Dashboard Components
Configure Cross-Dataset Faceting with Connected Data Sources
1417
Analyze Your Data Build CRM Analytics Dashboards
1418
Analyze Your Data Build CRM Analytics Dashboards
6. Select the widget and then click the Query tab to control how report data is displayed in the widget.
7. Choose a view option in the View As dropdown.
• Aggregate—Hides details; individual records don’t display in the report.
• Grouping—summary formulas, and record counts remain visible (tabular format).
• Summary—Shows data in a combined chart and table format. Reports must be grouped by rows (summary report).
When you create a CRM Analytics query from a report, the query is created based on the currently saved version of the report. To edit
groupings and fields in a report that’s used in a CRM Analytics dashboard, modify the report using report builder, save the report, and
then refresh the dashboard in CRM Analytics.
1419
Analyze Your Data Build CRM Analytics Dashboards
1420
Analyze Your Data Build CRM Analytics Dashboards
5. Add a parameter label, optional description, and a default value that’s used if no other value is found.
6.
Click Create. The parameter ID is automatically saved to the clipboard. You can also use the button.
After a parameter is created it’s now ready to be inserted in the component’s widget and query properties.
7. Click Close.
8. Click the Widget and Query tabs and paste the copied parameter to the applicable properties.
1421
Analyze Your Data Build CRM Analytics Dashboards
9. Click Save.
Example: This component is embedded in multiple sales dashboards that use the same metrics. However, dashboard stakeholders
want to see the component presented in different ways, such as grouping the bar chart by province or account owner. This type
of request often required recreating the component.
Instead, you can make the applicable widget and query properties dynamic to enable the desired chart organization.
1422
Analyze Your Data Build CRM Analytics Dashboards
The component chart can now accept new field values to group by without recreating the component.
Note: Parameters only support text and numeric values. When using query fields as text, its case must match the field as
it appears in the dataset to be recognized.
1423
Analyze Your Data Build CRM Analytics Dashboards
Manage Parameters
You can edit parameters to make minor adjustments or change for a different use, and delete them when they’re no longer needed.
SEE ALSO:
CRM Analytics Dashboard JSON Overview
Interactions in Dashboards
CRM Analytics Dashboard JSON Overview
Static Use parameters to update component elements with queries or freeform text. For example, update a
component’s chart groupings using a manually added field or data from a query.
1424
Analyze Your Data Build CRM Analytics Dashboards
2. Add the parameter to the filter. Click the Query tab and paste the copied parameter ID to the
filters value. USER PERMISSIONS
To create a parameter:
• Create and Edit Analytics
Dashboards
1425
Analyze Your Data Build CRM Analytics Dashboards
1426
Analyze Your Data Build CRM Analytics Dashboards
8. Click Choose Query and select the filter query for the component to interact with.
9. Select a field value from the New Value menu that the component filters by.
10. Select an interaction type then click Update.
11. Dashboard filter selections now update the component.
1427
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Interactions in Dashboards
USER PERMISSIONS
1. Create a parameter in the component and copy its parameter ID. To create a parameter:
2. To update the grouping, click the Widget tab and paste the copied parameter to the • Create and Edit Analytics
dimensionAxis value in columnMap. Dashboards
3. Click the Query tab and paste the copied parameter to the orders, groups, and dimensionAxis values.
1428
Analyze Your Data Build CRM Analytics Dashboards
7. Click the parameter you created and select Static from the Value Type dropdown menu.
8. Add a field value in the text box and click Update.
1429
Analyze Your Data Build CRM Analytics Dashboards
Note: The field value must exist in the component query otherwise you could get an error.
9. The parameter groups the component with the new field value.
1430
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
CRM Analytics Dashboard JSON Overview
USER PERMISSIONS
To create a parameter:
• Create and Edit Analytics
Dashboards
1431
Analyze Your Data Build CRM Analytics Dashboards
1. Create a query with at least two measures (columns) and one grouping in the component.
2. Add a filter to the column to be filtered.
Note: Make sure there are no escape (‘\’) symbols in the parameter default value.
1432
Analyze Your Data Build CRM Analytics Dashboards
12. Add your desired filter condition by typing in a filter field and filter value in the text box.
13. Click Update.
Data from the parameter now powers the filter portion of the query. Notice the parameter is filtering only the Sum of Sales column.
Note: The filter field and value must exist in the component query otherwise no results appear.
The parameter can also be set up as a dynamic value type to accept commonly used filter conditions to update the column.
14. Add a filter widget to the dashboard.
15. Create a custom query. Add display values along with its corresponding filter fields and values.
Note: Note: The Selection Type for the custom query must be Single selection or Single selection (required).
SEE ALSO:
CRM Analytics Dashboard JSON Overview
1433
Analyze Your Data Build CRM Analytics Dashboards
Manage Parameters
You can edit parameters to make minor adjustments or change for a different use, and delete them
USER PERMISSIONS
when they’re no longer needed.
1. Edit a parameter To manage a parameter:
• Create and Edit Analytics
a. Edit a component and click Advanced Editor. Dashboards
b. Click the Parameters tab.
c. Click a parameter and add your changes .
d. Click Update.
2. Delete a parameter
a. Edit a component and click Advanced Editor.
b. Click the Parameters tab.
c. Select a parameter and click Delete.
d. Click Save when complete.
1434
Analyze Your Data Build CRM Analytics Dashboards
1435
Analyze Your Data Build CRM Analytics Dashboards
1436
Analyze Your Data Build CRM Analytics Dashboards
When you add a widget to a repeater widget, you see values from the first row of query data.
When you’re done, your customized layout repeats in a scrollable list.
1437
Analyze Your Data Build CRM Analytics Dashboards
To preview repeater widget content, change the size of the repeater widget container. Adjust the layout if needed, and click Done
to save your repeater widget content.
1438
Analyze Your Data Build CRM Analytics Dashboards
You can add additional columns (1), and set row height to Fine (2) for more granular control. You can also adjust the horizontal and
vertical spacing (3) between cells.
You can stylize the repeater widget the same way you stylize standard widgets. For example, adjust background color, border color,
and border width and radius.
When you’re done editing repeater widget content, you can make more adjustments to the layout.
2. To change the number of data groupings that show horizontally, select the repeater widget in the Dashboard Designer.
By default, a repeater widget shows one data grouping horizontally.
3. In the widget properties, expand the Content Layout section. Enter the number of data groupings to show in a row.
1439
Analyze Your Data Build CRM Analytics Dashboards
The vertical height is automatically adjusted to show all widgets within the repeater widget.
1440
Analyze Your Data Build CRM Analytics Dashboards
Note: Actions enabled on the dataset don’t carry over to the repeater widget. For actions to work in the repeater widget you
must enable it on the column.
5. Then, in the dashboard builder, add the dataset field, such as Account_Name, to a text widget inside a repeater widget.
Now you can act directly from your dashboard. For example, create an event directly from an account.
1441
Analyze Your Data Build CRM Analytics Dashboards
1442
Analyze Your Data Build CRM Analytics Dashboards
1443
Analyze Your Data Build CRM Analytics Dashboards
When you’re done copying the URLs, close the image widget.
1. Create a query.
Use a compare table to create the query you want (1). In this example, for the data source, we use a dataset of quantities sold for each
product category. For Group By, select the field that you want to associate with the toggle action (2). The grouping in this example is
by product category.
This SAQL statement was created for our example. Each product category is mapped to its image and added to the Photo column. You
can use this statement as a model when creating your own.
q = load "SuperStoreSales";
result = group q by 'Product_Category';
1444
Analyze Your Data Build CRM Analytics Dashboards
To confirm what you did, click back over to the compare table view. The image URLs are listed in the Photo column (1), and the new
grouping is on the left (2).
1445
Analyze Your Data Build CRM Analytics Dashboards
Tip: Use the techniques in this example to add images to any of your queries.
1446
Analyze Your Data Build CRM Analytics Dashboards
2. In the repeater widget, select the widget that you want to add the conditional formatting rule to and, and then under Conditional
Formatting, click Add Rule.
To add a rule to an existing text widget in the repeater, modify the dashboard JSON.
3. Select the reference column (1) to base the conditional formatting rule on and the coloring method (2) to use.
1447
Analyze Your Data Build CRM Analytics Dashboards
The reference column’s data type determines the available coloring method options. For example, when the reference column is a
measure or a derived measure, you can base the coloring method on a range (bins). When the reference column is a dimension,
you can base the coloring method on the dimension value or the reference column’s color style.
4. Use a similar process to apply conditional formatting rules to other widgets in the repeater widget.
To include symbols or custom images with conditional formatting rules, add an image widget to the repeater. For example, use
to indicate opportunity amounts less than 3 million dollars in the repeater widget.
1448
Analyze Your Data Build CRM Analytics Dashboards
1449
Analyze Your Data Build CRM Analytics Dashboards
2. In the repeater widget, select the widget to which you want to add the tooltip, and then click Tooltip.
3. Set tooltip content and its size (1). Preview the tooltip when done (2).
1450
Analyze Your Data Build CRM Analytics Dashboards
4. Use a similar process to create tooltips for other widgets in the repeater widget.
5. Preview your changes and save your dashboard.
1451
Analyze Your Data Build CRM Analytics Dashboards
3. To select fields to sort, select Pick Fields, and search or click the Select fields link.
4. Click Done.
5. To sort the cards in run time, click the repeater widget menu and select Sort by.
1452
Analyze Your Data Build CRM Analytics Dashboards
2. To delete content from a repeater widget, click Edit Repeater Content in the Widget tab.
3. Select a widget and click the widget delete icon.
1453
Analyze Your Data Build CRM Analytics Dashboards
1454
Analyze Your Data Build CRM Analytics Dashboards
1455
Analyze Your Data Build CRM Analytics Dashboards
2. In widget properties, use the Title field to add a label to the widget.
3. In Input Values, specify how to capture numeric values.
Start Value Initial value when the input widget opens on a dashboard. The default is 1.
1456
Analyze Your Data Build CRM Analytics Dashboards
For slider input types, use the slider or click the pencil to add a value that’s within the input range.
For freeform input types, type in a value that’s within the input range.
1457
Analyze Your Data Build CRM Analytics Dashboards
Input widget title (1), slider input range (2), slider handle (3), slider track (4), current slider value (5).
1458
Analyze Your Data Build CRM Analytics Dashboards
Input widget title (1), freeform input range (2), current freeform input value (3).
1459
Analyze Your Data Build CRM Analytics Dashboards
1460
Analyze Your Data Build CRM Analytics Dashboards
1461
Analyze Your Data Build CRM Analytics Dashboards
2. Click next to a page to configure it, like rename it or hide it from the navigation widget when a user views the dashboard.
3. To enable pages to link to each other, add a navigation widget that contains a tab for each visible page.
When a navigation widget is added, mobile users can no longer swipe to access other pages—they must use the navigation widget.
1462
Analyze Your Data Build CRM Analytics Dashboards
Note: If you don’t add a navigation widget, mobile app users swipe to get to the next page. Use the Move Left and Move
Right actions to reorder the pages.
4. To create a path for viewers to navigate to a specific page, add a link widget. In the link widget properties, you can link to a dashboard,
page, query, lens, or web page.
5. To share widgets on other pages, select the widgets, click Add to Page, and then specify the pages.
For example, use it to add the navigation widget to all pages. When you use the Add to Page option to add a widget to another
page, you add an instance of the same widget to the page. Basically the widget is shared across both pages, making it easier to
maintain. The styling properties you set for the widget reflects across all pages.
1463
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Add a Link Widget to Link to Other Assets
1464
Analyze Your Data Build CRM Analytics Dashboards
opportunity amounts. To clone widgets, remove queries, clone queries, and view query properties, select the widget while editing the
dashboard, and then click the appropriate button.
To configure how a widget appears, set the properties in the Widget tab. For example, you can show data values and the axis title for a
chart widget. You can also apply default properties to ensure that widgets look consistent, like having the same border and background
color.
To configure how the widget behaves, set query properties in the Query tab. For example, you can choose which measure to display
in the widget when its query contains multiple measures. Changes to query properties impact all widgets that are built on the query.
When you save the new version of your dashboard, it’s a good idea to enter a brief description of your changes to the Version History
field. The description can help you remember what’s unique about this version of the dashboard in case you want to restore this version
after you make changes and save a new version. For example, enter Added Number Widget.
1465
Analyze Your Data Build CRM Analytics Dashboards
Add a Table Widget to Show Record Details and Create Calculated Columns
You can add different types of tables to a CRM Analytics dashboard. To view record-level details, add a values table. A values table
can show details like how long a case has been open and who owns it. To create custom columns in a table based on calculations
from existing fields, add a compare table. If the underlying query contains at least one grouping, you can create a pivot table.
Add a Container Widget to Create Sections in the Dashboard
Use a container in a CRM Analytics dashboard to group related widgets. For example, you can use a container widget to create a
filter panel on the left side of the dashboard to store all selection-based filter widgets. To distinguish the filter panel from the rest of
the dashboard, you can apply a background color and border to the container. When you move this widget, the contained widgets
also move while maintaining their spacing and alignment.
Add an Image Widget to Display Graphics in the Dashboard
You can include company logos to brand the CRM Analytics dashboard, icons to categorize results, or graphics to animate the
dashboard.
Enrich Your Data with Dashboard Text
Use text widgets to emphasize important data, make your dashboards more scannable, and tell a more compelling data story.
Add a Navigation Widget to Access Dashboard Pages
Give dashboard viewers an easy way to navigate dashboard pages with a navigation widget. Reuse your navigation widget for a
consistent look across dashboard pages.
Add a Link Widget to Link to Other Assets
Take dashboard viewers straight to where they need to go with links to specific assets, like dashboards, pages, queries, lenses, and
even web pages. You can also use links to create analysis paths for users to follow, helping them navigate your analytics app, or to
perform mass quick actions on record lists.
Widget Properties for Analytics Dashboard
Widget properties define how widgets appear in the Analytics dashboard. For example, you can apply labels, backgrounds, and
borders. To make widgets look consistent, you can set up default widget properties in the layout and then assign them to each
widget. Widget properties vary based on the widget type and the designer used to create them. The properties listed here apply
only to widgets created in the dashboard designer.
1466
Analyze Your Data Build CRM Analytics Dashboards
• The lens appears, showing a bar chart with the Count of Rows measure. CRM Analytics selects the dataset that you used to create
the previous query. To use a different dataset or an existing query, click Back.
3. In the lens, click Untitled Query and enter the query label.
CRM Analytics creates the query ID from the label. After you create the query, you can’t change the query ID. CRM Analytics refers
to queries by their ID so dashboards don’t break if you change the labels.
4. To add a measure, click + under the Bar Length field.
The Count of Rows measure shows, by default. To change a measure, click the measure and then choose a new one.
5. To sort, reorder, or delete a measure, click the down arrow to the right of the measure and select the option.
1467
Analyze Your Data Build CRM Analytics Dashboards
Alternatively, to quick sort on a measure, click the measure’s field header. Quick sort isn’t available for charts with these underlying
queries:
• When the compact-form query has interactions present on the sort order
• When the SAQL query contains union statements or interactions
• When the query is in PIGQL
6. To add a filter, select Filters, click + under Filters, and then select the field to filter by.
You can add multiple filters.
1468
Analyze Your Data Build CRM Analytics Dashboards
For example, to shorten the number that appears in the widget, select Shorten number in the widget properties. Check out the
unit symbols for shortened numbers.
1469
Analyze Your Data Build CRM Analytics Dashboards
10. To customize the appearance of the widget, set the widget properties.
When you set a property, the widget immediately shows the effects of your change.
11. To show and set the query properties, click Query in the right panel.
12. To preview your changes to the dashboard, click the Preview button.
13. Save the dashboard.
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
1470
Analyze Your Data Build CRM Analytics Dashboards
When previewing a dashboard, some charts show values in segments. Values appear as shortened numbers, rounded to the nearest
whole number. For example, 1,111,556 appears as 1 M, 999.95 appears as 1 K, and 111,045 appears as 111 K. You can hover over a
segment to view the actual value.
1471
Analyze Your Data Build CRM Analytics Dashboards
• The lens appears, showing a bar chart with the Count of Rows measure. CRM Analytics selects the dataset that you used to create
the previous query. To use a different dataset or an existing query, click Back.
3. In the lens, click Untitled Query and enter the query label.
CRM Analytics creates the query ID from the label. After you create the query, you can’t change the query ID. CRM Analytics refers
to queries by their ID so dashboards don’t break if you change the labels.
1472
Analyze Your Data Build CRM Analytics Dashboards
5. To sort, reorder, or delete a measure, click the down arrow to the right of the measure and select the option.
6. To group the measures by a date or dimension, click + under Bars, and then select the field.
You can add multiple groupings. To change a grouping, click the grouping and select a new field. To reorder or delete a grouping,
click the down arrow to the right of the grouping and then select the option.
7. To add a filter, select Filters, click + under Filters, and then select the field to filter by.
You can add multiple filters.
1473
Analyze Your Data Build CRM Analytics Dashboards
8. To change the chart type, click and the select the new one.
Although CRM Analytics saves the chart type with the query, you can override the chart type at the widget level by specifying a
different chart in the widget properties. Setting the chart type at the widget level is useful when you use the same query for multiple
widgets, but want to display the results differently in each widget.
9. Click Done.
CRM Analytics adds the query to the query panel, making it available for use by other widgets in the dashboard. In addition, the
widget shows the results in a bar chart.
10. To change the widget and query properties, select the widget.
The Widget panel groups the widget properties into sections. So that you don’t accidentally overlook any properties, expand any
collapsed sections.
1474
Analyze Your Data Build CRM Analytics Dashboards
11. To customize the appearance of the widget, set the widget properties.
For example, add a title in the Title field.
12. To show and set the query properties, click Query in the right panel.
For example, to enable this widget to filter other faceted widgets, select Broadcast selections as facets.
While viewing the dashboard, a user can select a segment of a chart to filter the results of other faceted widgets. To allow the viewer
to make single or multiple selections, configure this widget’s query properties. You can specify whether selections are optional or
required. You can also set an initial selection that applies when the dashboard opens. While viewing the dashboard, viewers can
undo the selection or change the selection to filter the results differently. For information about setting an initial selection, see Set
Initial Selections in the Dashboard .
13.
To preview your changes to the dashboard, click .
14. Save the dashboard.
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
1475
Analyze Your Data Build CRM Analytics Dashboards
The following compare table query shows multiple measures grouped by a dimension. The Expected Amount measure is calculated
based on the other two measures: Amount * Probability.
1476
Analyze Your Data Build CRM Analytics Dashboards
To show only the Expected Amount and Name fields for this widget, edit the widget and then select Hide for the other measures. (To
show a hidden field, select Show. To reorder a field, select Move Up or Move Down.)
The following example shows two charts based on the same query. The second chart shows the effect of hiding the other two measures.
1477
Analyze Your Data Build CRM Analytics Dashboards
The Show and Hide options are only available for aggregateflex (for compare tables) and saql query types. To show or hide
fields for tables or charts based on other query types, configure the widget properties in the dashboard JSON. Add a “columns” attribute
and specify the API names of the fields that you want to appear in the widget.
"chart_2": {
"parameters": {
"columns": [ "Name", "C" ],
"visualizationType": "hbar",
"step": "Amount_Prob_1",
...
},
"type": "chart",
...
}
Consider the following guidelines when configuring the “columns” JSON property.
• If fields are listed in "columns" and you add a measure or grouping to the query, the new field doesn’t appear in the widget until
you add it to “columns.”
• If "columns" isn’t specified in the widget properties or is set to an empty array, the widget shows all fields available in the query
results.
• CRM Analytics ignores fields specified in “columns” that don’t exist in the query. If none of the fields in “columns” exist in the query,
the widget doesn’t show any fields.
• The order in which you specify fields in “columns” is the order in which they appear in the widget.
For charts and tables that use the same query, keep these behaviors in mind.
• If a chart widget’s underlying query returns multiple rows for the same grouping value, the chart only displays the first record for
each unique grouping value and ignores the rest. As a workaround, customize the query in SAQL form.
• In a lens or dashboard, when you hide one of the groups of a chart with multiple groupings, the chart is no longer grouped by the
hidden field.
Note: There are two ways to show, hide, or reorder columns. Do it by editing the query or editing the widget. If you perform
these actions at the query level, your changes impact all widgets that use the query and can break widgets that use the query. For
example, a widget breaks if you hide a required measure.
SEE ALSO:
Add Chart Widgets to Visualize Data
Add a Table Widget to Show Record Details and Create Calculated Columns
1478
Analyze Your Data Build CRM Analytics Dashboards
Add a Global Filter Panel Widget to Filter Data from the Dashboard
The panel can contain single or multiple global filters. Use a global filter to apply the same filter to multiple queries in the dashboard.
For example, a dashboard has two charts comparing two sales reps’ performance. To compare apples to apples, both charts must have
the same filters. When possible, use a global filter instead of a selection-based filter to improve dashboard performance. If configured,
users can change a global filter while viewing the dashboard.
Each global filter must be based on a single measure, dimension, or date field. You can’t create a composite filter based on multiple
fields, like Region=“West” and Industry= “CPG.”
If multiple datasets are linked using a data source connection, only one of the common fields used in the connection can be included
in a global filter. If you include multiple common fields, they can generate redundant, conflicting filters and not work properly. For
example, you connect the Opportunity dataset using the Account.Name field to the Account dataset using the corresponding Name
field. To filter based on account name, add one global filter based on either Account.Name from the Opportunity dataset or Name from
the Account dataset. Because the datasets are connected, the global filter applies to both datasets.
Global filters only apply to widgets that accept them. To apply global filters to a widget, select Apply global filters in the query properties
of the widget. By default, CRM Analytics applies global filters to all widgets that have queries based on the same dataset or connected
data sources.
1. Drag the global filter panel widget to the dashboard canvas.
An empty panel appears in the designer.
Note: If the dashboard contains a global filter created before Winter ’18, a pop-up message asks if you want CRM Analytics
to convert it to the new version. If you agree, CRM Analytics converts all global filters to the new design, showing all global
filters in a panel. During the conversion, CRM Analytics doesn’t add unsupported global filters to the new global filter panel
widget. Unsupported global filters are composite filters and invalid ones that reference datasets or fields that don’t exist. If you
don’t convert to the new design, you can continue to use the legacy global filter, but can’t add global filters to the dashboard.
1479
Analyze Your Data Build CRM Analytics Dashboards
d. To prevent users viewing the dashboard from changing the global filter, select Locked.
The Locked option also ensures that incoming filters passed from a linked dashboard don’t override the global filter. If the global
filter is locked and the incoming filter is defined on the same field, CRM Analytics ignores the incoming filter. If it’s unlocked, the
incoming filter overrides the global filter defined in the dashboard.
e. To limit the global filter’s picklist values based on selections in other global filters, select Dependent.
For example, you select an opportunity in the Opportunity Name global filter. Only products sold in the selected opportunity
appear in the Product Name global filter picklist. The Dependent option applies to global filters that use the same dataset or a
connected data source.
f. Click Apply.
5. To edit a global filter in the panel, access the global filter panel by clicking the icon at the top of the dashboard.
For example, you might edit a global filter to change the selections.
Note: If you delete the global filter panel widget, CRM Analytics removes the panel from the dashboard, but the global filters
still apply. To delete the global filters later, use the global filter property panel.
1480
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
You can create different types of selection-based filter widgets based on measure, date, and dimension fields. You can also set an initial
selection for each of them. For example, when the viewer opens the dashboard, the date widget can select last year, by default, to show
dashboard results for last year only.
Selection-based filter widgets can be styled using pill or combobox styling to easily mix-and-match selection-based filters and global
filters on the same dashboard.
1481
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Set Initial Selections in the Dashboard
1482
Analyze Your Data Build CRM Analytics Dashboards
Behind the scenes, CRM Analytics creates a query grouped by the field that you selected. CRM Analytics adds the query to the query
panel, but you can’t reuse it in other widgets. CRM Analytics doesn’t apply any selections to the widget, by default.
6. To change the widget and query properties, select the widget.
The Widget panel groups the widget properties into sections. So that you don’t accidentally overlook any properties, expand any
collapsed sections.
7. In the widget properties, specify whether to show absolute, relative, or preset dates, select the default calendar type.
8. Use a List of presets for a fixed interval.
9. Specify whether users can switch calendar types while viewing the dashboard in Default Calendar Type.
Note: If you enable absolute and relative dates, absolute dates show by default. To show relative dates, by default, set an
initial selection based on a relative date.
10. To show and set the query properties, click Query in the right panel.
For example, to enable this widget to filter other faceted widgets, select Broadcast selections as facets.
11. To preview your changes to the dashboard, click the Preview button.
12. Select applicable intervals. Use the Custom interval to switch calendar type or apply custom intervals, such as 60 days ago.
1483
Analyze Your Data Build CRM Analytics Dashboards
Note: By default, Custom interval converts selected presets, such as Previous Fiscal Year, to a standard calendar date range
in the Absolute tab, which may not match your org’s fiscal year setting. To customize a fiscal preset, manually adjust the
absolute start and end dates in the Absolute tab or use settings in the Relative tab.
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
1484
Analyze Your Data Build CRM Analytics Dashboards
Note: You can also create a custom query to specify a user-defined list of values for the list widget. For more information, see
Create a Custom Query with User-Defined Values.
1. Drag the list widget to the dashboard canvas.
2. To open the wizard, click the button inside the widget.
The Select a Field screen appears, showing a list of all dimension fields in the specified dataset.
Tip: To create a user-defined list of values instead of using values from a dataset, click Customize.
Behind the scenes, CRM Analytics creates a query grouped by the field that you selected. CRM Analytics adds the query to the query
panel, making it available for use by other widgets in the dashboard. In addition, by default, the list widget is collapsed and CRM
Analytics doesn’t apply any selections to the widget.
6. To expand the list and show more values, increase the size of the widget.
1485
Analyze Your Data Build CRM Analytics Dashboards
Note: If you don’t expand the list, when a user views the dashboard, they can select the drop-down arrow to see the values
in the list.
9. To show and set the query properties, click Query in the right panel.
For example, to enable this widget to filter other faceted widgets, select Broadcast selections as facets.
While viewing the dashboard, a user can select a dimension in this widget to filter other faceted widgets. To allow the viewer to
make single or multiple selections, configure this widget’s query properties. You can specify whether selections are optional or
required. You can also set an initial selection that applies when the dashboard opens. While viewing the dashboard, viewers can
undo the selection or change the selection to filter the results differently. For information about setting an initial selection, see Set
Initial Selections in the Dashboard .
1486
Analyze Your Data Build CRM Analytics Dashboards
10. To preview your changes to the dashboard, click the Preview button.
11. Save the dashboard.
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
1487
Analyze Your Data Build CRM Analytics Dashboards
8. To show and set the query properties, click Query in the right panel.
For example, to enable this widget to filter other faceted widgets, select Broadcast selections as facets.
1488
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
Note: You can also create a custom query to specify a user-defined list of values for the toggle widget. For more information, see
Create a Custom Query with User-Defined Values.
1. Drag the toggle widget to the dashboard canvas.
2. To open the wizard, click the button inside the widget.
The Select a Field screen appears, showing a list of all dimension fields in the specified dataset.
1489
Analyze Your Data Build CRM Analytics Dashboards
6. If needed, increase the size of the widget to show the display names of all toggle options.
1490
Analyze Your Data Build CRM Analytics Dashboards
9. To show and set the query properties, click Query in the right panel.
For example, to enable this widget to filter other faceted widgets, select Broadcast selections as facets.
While viewing the dashboard, a user can select a toggle option in this widget to filter other faceted widgets. To allow the viewer to
make single or multiple selections, configure this widget’s query properties. You can specify whether selections are optional or
required. You can also set an initial selection that applies when the dashboard opens. While viewing the dashboard, viewers can
undo the selection or change the selection to filter the results differently. For information about setting an initial selection, see Set
Initial Selections in the Dashboard .
10. To preview your changes to the dashboard, click the Preview button.
11. Save the dashboard.
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
Add a Table Widget to Show Record Details and Create Calculated Columns
You can add different types of tables to a CRM Analytics dashboard. To view record-level details, add a values table. A values table can
show details like how long a case has been open and who owns it. To create custom columns in a table based on calculations from
existing fields, add a compare table. If the underlying query contains at least one grouping, you can create a pivot table.
1491
Analyze Your Data Build CRM Analytics Dashboards
The steps vary depending on the type of table you create. For a values table, choose which dataset fields to show as columns. For a
compare table, select which dataset fields to show as columns and define the calculations for custom columns. For a pivot table, define
at least one grouping. The values of the last grouping appear as columns.
1. Drag the table widget to the dashboard canvas.
2. To open the wizard, click the button inside the widget.
One of the following screens appears.
• The Choose Data screen appears, showing the most recently used datasets first. Select the dataset in the Create Query tab or
select an existing query in the Use Existing Query tab.
• The lens appears, showing a bar chart with the Count of Rows measure. CRM Analytics selects the dataset that you used to create
the previous query. To use a different dataset or an existing query, click Back.
1492
Analyze Your Data Build CRM Analytics Dashboards
Compare table
Use to add calculated columns to the table. By default, the table shows the previously selected measure as the first column. You
can add measures and filters, and group by dimensions. To quick sort on a column, click its field header. To add a calculated
column, click the down arrow next to a measure, and select Clone Column and then edit the new column.
1493
Analyze Your Data Build CRM Analytics Dashboards
For more information, see Creating Calculated Columns Using a Compare Table.
Pivot table
Use to show groupings on the x- and y-axes. The last grouping determines the columns, and the other groupings determine
the rows. The pivot table shows the first specified measure in the table cells. To quick sort on a column, click its field header.
4. To show totals in a values or compare table, click and then select Show Summary.
5. To increase the number of records that appear in a values table, click and change the limit parameter in the SAQL query.
Note: By default, the query for a values table widget returns up to 100 results. For more information about the limit
parameter, see CRM Analytics SAQL Developer Guide.
6. Click Done.
1494
Analyze Your Data Build CRM Analytics Dashboards
The widget shows the table and results. CRM Analytics adds the query to the query panel.
7. To change the widget and query properties, select the widget.
The Widget panel groups the widget properties into sections. So that you don’t accidentally overlook any properties, expand any
collapsed sections.
9. To show and set the query properties, click Query in the right panel.
10.
To preview your changes to the dashboard, click .
11. Save the dashboard.
While viewing a dashboard, a table's groupings appear in the left columns (1) and the measures appear in the right ones (2). Although
the grouping columns are fixed, if needed, you can scroll across the measures. If your table isn't wide enough to display any measures,
you won't see the scrollbar.
Quick sort isn’t available for tables with these underlying queries:
• When the compact-form query has interactions present on the sort order
1495
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Manage Queries for Widgets
Project the Same Query Results Differently in Charts and Tables
SEE ALSO:
Widget Properties for Analytics Dashboard
1496
Analyze Your Data Build CRM Analytics Dashboards
3. To upload a new image, click Browse Files. Or, select an uploaded image from the Gallery tab.
CRM Analytics uploads images to the gallery for the app displayed at the top-left corner of the screen. Each image file must be no
more than 2 GB.
Note: When moving a dashboard with images to another app with different users and permissions, the images must be
uploaded to the new app.
1497
Analyze Your Data Build CRM Analytics Dashboards
Note: If the Image widget doesn’t render images, verify that third-party cookies in your browser are enabled.
SEE ALSO:
Widget Properties for Analytics Dashboard
4. To format text that’s based on query data, first select and add the query field.
For example, add an [Account_Type] field (1). Then, highlight and format the text (2).
1498
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Widget Properties for Analytics Dashboard
1499
Analyze Your Data Build CRM Analytics Dashboards
2. To hide a page while viewing the dashboard, click and then Hide from Navigation.
Dashboard viewers see only visible pages. The link to the hidden page remains hidden from the navigation widget until you show
it again.
1500
Analyze Your Data Build CRM Analytics Dashboards
3. From the same page menu, you can also move, rename, clone, and delete pages.
The order of the page tabs determines the order of the page links in the navigation widget.
5. To enable navigation from all pages, select the navigation widget that you created on this page and use the Add to Page action to
add it to other pages.
Using Add to Page ensures that all of the styling properties are consistent across pages.
1501
Analyze Your Data Build CRM Analytics Dashboards
1502
Analyze Your Data Build CRM Analytics Dashboards
3. In the Text field, enter the label that appears on the link widget.
4. In the Link To field, select whether you want to link to a query, lens, dashboard, page, URL, or mass action, and then select the asset.
If you link to a dashboard that has multiple pages, you can specify which page to view when the dashboard first opens.
a. To pass global filters and selection-based filters (also called facets) to a linked CRM Analytics asset, select Apply Selections and
Filters.
CRM Analytics passes selections in chart, list, toggle, range, and date widgets as selections in the linked asset if they apply. For
example, you select North America in a list widget based on the Region dataset field. CRM Analytics applies that same selection
to faceted queries in the linked dashboard that have a grouping based on the Region field in the same dataset.
Note: A selection is applied to a query in the linked dashboard only if the selected value exists in the initial result set for
that query. If your selection isn’t applied, try increasing the limit for the query in the linked dashboard so that the value
can be found.
CRM Analytics passes global filters as filters to a linked asset as long as the filters apply. CRM Analytics ignores a global filter if
the linked asset doesn’t use the dataset that the global filter is defined on. If the global filter is locked and the incoming filter is
defined on the same field, CRM Analytics ignores the incoming filter. If it’s unlocked, the incoming filter overrides the global filter
defined in the dashboard.
When you open a linked dashboard, the passed global filters appear as external filters. To view the external filters, click as
highlighted in the screenshot. The External Filters panel shows filters passed from linked dashboards (and filters preconfigured
in embedded dashboards). You can remove external filters while viewing the dashboard.
1503
Analyze Your Data Build CRM Analytics Dashboards
To pass a filter selection to a linked asset, the asset must contain a query based on the same dataset and grouping used to define
the filter.
To pass a filter selection based on a custom query to a linked asset, the custom query must be linked to the dataset using a data
source connection. Also, the linked asset must contain a query based on the same dataset and grouping used to define the data
source connection.
1504
Analyze Your Data Build CRM Analytics Dashboards
To create a relative link, enter a valid URL that starts with a slash. For example, use
/lightning/o/Account/list?filterName=Recent to open recently viewed accounts in Lightning Experience.
To create a dynamic link, click Advanced Editor in the link widget properties panel. Edit the JSON to add the
destinationLink with a url parameter that is a binding. The binding must be for an existing step that contains valid
URL values. An example binding is {{cell(step_1.selection, 0, \"url\").asString()}}, where url
is a valid URL.
1505
Analyze Your Data Build CRM Analytics Dashboards
c. If the link is for a mass action, see Configure Mass Quick Actions on Multiple Salesforce Records from CRM Analytics Dashboards
for configuration steps.
SEE ALSO:
Widget Properties for Analytics Dashboard
General
Analytics groups widget properties into sections. After the first section (“General”), the remaining sections are listed in alphabetical order.
Property Description
Chart Type Select the type of chart to visualize the data.
Show as pivot table Indicates whether the table is pivoted. A pivot table requires the underlying query to have at least
one grouping. Analytics pivots the table on the last defined grouping. Disabled, by default.
Show widget actions Hide a widget’s action menu, which includes options to download, share, and explore the widget’s
results. Hide the menu to hide these options or when the action dropdown arrow is too distracting
in smaller widgets.
1506
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Show explore action Allow dashboard viewers to click a link in the widget to open the underlying query in a lens. This
option appears when you select Show widget actions.
Note: This option only applies to widgets based on queries in compact form. You can’t explore
widgets that are built on SAQL form queries or multiple datasets.
Subtitle Subtitle of the chart. Appears below the title in a smaller font.
Title Separator Color Color of the line that separates the widget title from the global filters.
Filters Per Row Number of global filters to show per row in the global filter panel.
Update instantly Instantly update the dashboard results based on a filter selection. Otherwise, you have to click Update
to apply the filter.
Measure Field The measure to show in the widget. You can use this field to specify the measure to show when
multiple measures are defined in the underlying query. You can also use this option to not show the
measure in the widget.
Shorten number Display shortened numbers, rounded to the nearest tenths place. For example, when shortened,
1,111,556 appears as 1.1 M, 999.95 appears as 1.0 K, and 111,045 appears as 111.0 K.
Link To Link to a dashboard, lens, query, page, or URL. If the dashboard contains no pages, the option to link
to a page doesn’t appear.
Page Specify the page that you want the link widget to link to.
Destination The URL of the page that the link widget links to.
Link Tooltip Enter a tooltip that appears when the user hovers over the link. For example, if the link is to a website,
enter the URL as the tooltip so the user knows where the link takes them.
Customize display and format Customize the display values for a list or toggle widget. The widget can display values from multiple
fields. For example, a list widget can show sales rep and region, with values like SalesRepA-West,
SalesRepB-West, and SalesRepC-North—allowing you to filter on both fields. You can also display
measures as part of the value, and format the display. Click Add field... dropdown, select a grouping
or measure defined in the query. You can insert more characters directly into the editor box to format
the display. For instance, you can add parentheses to enclose the measure value as shown here.
1507
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Apply Selections and Filters CRM Analytics passes selections in chart, list, toggle, range, and date widgets as selections in the
linked asset if they apply. For example, you select North America in a list widget based on the Region
dataset field. CRM Analytics applies that same selection to faceted queries in the linked dashboard
that have a grouping based on the Region field in the same dataset.
CRM Analytics passes global filters as filters to a linked asset as long as the filters apply. CRM Analytics
ignores a global filter if the linked asset doesn’t use the dataset that the global filter is defined on. If
the global filter is locked and the incoming filter is defined on the same field, CRM Analytics ignores
the incoming filter. If it’s unlocked, the incoming filter overrides the global filter defined in the
dashboard.
Image The file name of the image. The image must be available in the gallery of the CRM Analytics app that
contains the dashboard. This property applies to image widgets created during or after Spring ’17.
Image ID 15-character ID of the image. The image must be uploaded to the Documents tab of Salesforce and
the Externally Available Image option must be enabled. This property applies to image widgets
created before Spring ’17.
Show custom action Show the widget properties that you set to show custom bulk actions on a table widget’s action
menu.
Custom Action Label Display label for the button in the table widget’s action menu. The dashboard viewer clicks the button
to execute the action.
Visualforce Page Name Name of the Visualforce page that defines the bulk action.
Visualforce Namespace Prefix Optional. Namespace prefix of the Visualforce page that defines the bulk action.
Background Image
Property Description
Image The file name of the image. The image must be available in the gallery of the CRM Analytics app that
contains the dashboard. This property applies to container widgets created during or after Spring
’17.
1508
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Image ID 15-character ID of the image. The image must be uploaded to the Documents tab of Salesforce with
the Externally Available Image option enabled. This property applies to container widgets created
before Spring ’17.
Band Colors
Property Description
Low Band The color range for the low band.
BreakPoints
Property Description
Min Minimum value of the low color band.
Property Description
Start axis at zero Start the axis at 0.
Title Enter title of the axis. The default title is the name of the dimension for x-axis or names of the measures
for y-axis. Multiple measures appear as a comma-separated list.
Reference Line Show a reference line, which you can use to show a threshold, boundary, or reference point in the
chart. For x-axis, it’s a vertical line. For y-axis, it’s a horizontal line.
Chart Details
Property Description
Compute total Computes the total based on all segments of the waterfall or stacked waterfall chart.
1509
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Show values in chart bars Show the measure value of each bar in the chart if there is enough space to do so. Available space
will is determined by fit mode of axis, axis type (such as date-time), available space for the widget,
and other factors.
Auto fit Fit entire chart inside the widget. Else, if needed, scroll to see the remainder of the chart.
You can select one of the following values:
None
No scaling is applied. Scroll bars appear for charts larger than the widget.
Fit
Scale the chart to exactly fit the widget.
Preserve labels
Scale the chart to fit the widget while preventing labels from overlapping. Scroll bars appear for
charts larger than the widget.
Handling Missing Values Specify whether to connect data points regardless of missing data.
You can select one of the following values:
connect
Show a continuous graph, ignoring missing values.
disconnect
Show gaps in the graph where values are missing.
# of stem segments The number of values that appear in the funnel’s stem.
1510
Analyze Your Data Build CRM Analytics Dashboards
Property Description
None
Do not show values.
Number
Show as numbers.
Compact Number
Show compact form of numbers, summarized using letter suffixes.
Percentage
Show as percentages of the total.
Show max value Show the maximum measure value in each rating.
Show values on left Show the measure value on the left of each rating. Default is on the right.
Show measure title Show the title of the measure in the chart.
Show measure axes Show the axes for measures in the chart.
Show total in center Show the total of the measure in the center of the donut chart.
Center Size The percentage of the donut chart or polar gauge used to create the center circle.
Colors Depending on the chart type, specifies the colors of the low and high values, or colors for the start,
total, positive, and negative values.
Date
Property Description
Default Date Mode Specify whether the date widget displays absolute or relative dates, by default.
Allow date mode switching Indicates whether the dashboard viewer can switch between absolute and relative dates in the date
widget.
Default Calendar Type Specifies whether the date widget displays dates using the calendar or fiscal year, by default.
Allow calendar type switching Indicates whether the dashboard viewer can switch between the fiscal and calendar year in the date
widget.
Filter Style
Property Description
Field Color Color of the field name.
1511
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Border Color Color of the filter border.
Legend
Property Description
Show legend Show the chart legend.
Show legend inside chart area Show legend inside the chart area to reduce space required for the legend. The legend might overlap
with the chart.
Onboarding
Property Description
Resource Title Specify a title for the frame that presents your resource.
Resource URL Specify the URL for your video or webpage on a site that doesn’t prevent embedding. For best results
with a YouTube video, specify the Embed URL. To get the Embed URL in YouTube, click Share and
then Embed. The URL must have this format:
https://www.youtube.com/embed/xxxxxxxxxx
Note: The Onboarding property loads content from any URL into a Analytics inline frame. If
the URL allows execution within an inline frame, then all content at the URL becomes accessible
to dashboard viewers. Salesforce is not responsible for third-party URLs.
Table Options
Property Description
Column Size You can set the table column size to:
Fit to Data
Dynamically set the column widths based on the length of the data currently visible in the table.
You can also set a minimum and maximum width to ensure that the column isn't too wide or
narrow.
Fixed Width
Set each column to the same width.
Fit to Widget
Fit the columns to the size of the widget. Use this setting to ensure that no empty space appears
at the right side of the table, as shown here.
1512
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Column Width The width of each column in the table. Configure the widths to minimize whitespace and ensure
widget alignment in a dashboard. If you selected Fit to Data in Column Size, specify the minimum
and maximum column widths to ensure that the columns aren’t too wide or narrow.
Show Totals Shows the totals for all measures across the top of a compare or values table.
Note: The Show Totals option appears in the widget properties only if the Show Totals option
is set in the query.
Pagination Limits the amount of data loaded for a values table. As a user pages through the results, more data
loads as needed. Table pagination is on by default. Disable pagination by deselecting Disable
paginated loading,
If you use a query in more than one widget, the dashboard fully loads and ignores the pagination
setting.
Text Style
Property Description
Text Color | Color Color of the text.
Trellis
Property Description
Show as trellis Create separate graphs based on groupings.
Type Select the type of trellis, which affects how the graphs appear.
1513
Analyze Your Data Build CRM Analytics Dashboards
Property Description
You can select one of the following values:
Horizontal
Separate horizontally, with a graph for each value in the first grouping.
Vertical
Separate vertically, with a graph for each value in the first grouping.
Matrix
Display graphs in a table, with the first grouping in columns and the second grouping in rows.
Wrap
Display graphs line-by-line for each value in the first grouping, wrapping at the value set in the
per-line setting.
Number of charts per line Number of charts per line when the trellis wraps to multiple lines.
Widget Style
Property Description
Use defaults Use the default widget properties defined in the dashboard properties.
1514
Analyze Your Data Build CRM Analytics Dashboards
selections in a toggle widget. When you paste the text widget with the binding into another dashboard, the dynamic text becomes
static. The static text shows the first row and column of data, such as “$25 K Sales in North America region”. To keep binding interactions
in pasted widgets, use the advanced editor to recreate bindings with JSON.
• Query and widget IDs can change in pasted widgets.
• You can’t paste a reusable dashboard component multiple times in a dashboard.
• You can create dashboard components by copying and pasting widgets into a component in the Component Designer. However,
you can’t copy a component widget into the Component Designer.
• Start value settings in pasted widgets are present when queries in the target dashboard don’t have start values defined. If the target
dashboard uses initial values for the same queries as the pasted widget, start values aren’t available in the pasted widget.
1515
Analyze Your Data Build CRM Analytics Dashboards
3. To make a widget work independently from other instances, select the widget, and then click Unlink in the banner.
4. To delete a widget from the page, select the widget, and then press the Delete key.
If you delete a widget from a page:
• and the widget is used in other pages, CRM Analytics removes the widget only from the current page.
• and the widget isn’t used in other pages but is used in other layouts, CRM Analytics removes it from the page and current layout.
• and the widget isn’t used in other pages or layouts, CRM Analytics deletes it from the dashboard.
1516
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Make the Dashboard Widgets Interactive
1517
Analyze Your Data Build CRM Analytics Dashboards
To create customized SAQL or SOQL queries, use the Query mode of the lens. For example, in Query mode, you can create a query
based on multiple datasets. The following chart widget shows the results from the SAQL query. For more information about SAQL
queries, see the CRM Analytics SAQL Developer Guide.
1518
Analyze Your Data Build CRM Analytics Dashboards
CRM Analytics creates different query types based on the widget type. Some query types have a limit on the number of results that
they can return. For more information about all query types, including those not available in the lens, see the CRM Analytics Dashboard
JSON Reference.
Custom Query
A custom query is more rare. It doesn’t run calculations on your data. Instead, the query provides a static list of user-defined values.
For example, a toggle widget can show static values "$," "#" and "AVG." To make the toggle widget interact with other widgets in
the dashboard, use data source linking to connect the custom query with other faceted queries. Or bind the static values to the
queries of other widgets in your dashboard. For instance, you can bind "$" and "#" to show different measures: "$" to show the value
of opportunities, and "#" to show the number of opportunities. In this example, "$" is selected in the toggle widget, and the dashboard
shows the value of opportunities.
For more information, see Create a Custom Query with User-Defined Values.
SEE ALSO:
Manage Queries for Widgets
Create a Query with a Lens
Create a Query with the Query Editor
Create a Custom Query with User-Defined Values
1519
Analyze Your Data Build CRM Analytics Dashboards
2. If the queries panel has existing queries organized in sections, click next to the a section to create a query of that type.
For example, click next to the Static section to create a custom query. This feature is available for all section types, except Apex,
Soql, and multiple-dataset queries.
1520
Analyze Your Data Build CRM Analytics Dashboards
4. Click Dataset for a CRM Analytics dataset or Salesforce Direct for a Salesforce object.
5. Select the dataset or Salesforce object that contains the data that you want to include in the query. Enter the name in the search
box if your data source isn’t easy to find.
The lens appears showing the default measure, Count of Rows.
6. In the lens, click Untitled Query and enter the query label.
CRM Analytics creates the query ID from the label. After you create the query, you can’t change the query ID. CRM Analytics refers
to queries by their ID so dashboards don’t break if you change the labels.
7. To add a measure, click + under the Bar Length field.
The Count of Rows measure shows, by default. To change a measure, click the measure and then choose a new one.
You can add as many measures as needed.
1521
Analyze Your Data Build CRM Analytics Dashboards
8. To group the measures by a date or dimension, click + under Bars, and then select the field.
You can add multiple groupings. To change a grouping, click the grouping and select a new field. To reorder or delete a grouping,
click the down arrow to the right of the grouping and then select the option.
9. To add a filter, select Filters, click + under Filters, and then select the field to filter by.
You can add multiple filters.
10. To change the chart or table type for the query, click or , respectively.
11. To set the widget properties at the query-level, click .
Tip: If you drag the query to the dashboard designer canvas, CRM Analytics displays the query results as the chart specified
while creating the query. To display the widget differently in the dashboard than what was specified at the query level, select
the widget in the dashboard and then set the widget properties. The widget properties override the query settings.
SEE ALSO:
Query Properties for Analytics Dashboard
1522
Analyze Your Data Build CRM Analytics Dashboards
Important: Direct Data widgets aren’t automatically refreshed but are updated when the dashboard is refreshed.
1523
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Get Started with Data Integration
Note: If you modify a query using the query editor, you can no longer add dimensions, measures, and filters if you switch back
to the table or chart view. However, you can still change the visualization parameters.
1. To open the queries panel, click an empty space in the dashboard canvas in the dashboard designer.
1524
Analyze Your Data Build CRM Analytics Dashboards
3. Click Dataset for a CRM Analytics dataset or Salesforce Direct for a Salesforce object.
4. Select the dataset or Salesforce object that contains the data that you want to include in the query. Enter the name in the search
box if your data source isn’t easy to find.
The lens appears showing the default measure, Count of Rows.
5. In the lens, click Untitled Query and enter the query label.
CRM Analytics creates the query ID from the label. After you create the query, you can’t change the query ID. CRM Analytics refers
to queries by their ID so dashboards don’t break if you change the labels.
6. To write a custom SAQL or SOQL query, click .
The query editor appears, showing the code for the current query.
1525
Analyze Your Data Build CRM Analytics Dashboards
9. Click Done.
CRM Analytics adds the query to the query panel, making it available for use by other widgets in the dashboard.
10. Save the dashboard.
SEE ALSO:
Query Properties for Analytics Dashboard
1526
Analyze Your Data Build CRM Analytics Dashboards
Sorting works differently in stacked bar and stacked column charts depending on whether the underlying query is created in the lens
or query editor. To see the difference, let’s start by creating a stacked bar chart in the lens. The chart shows the number of cases, grouped
by industry and account type. The chart is sorted in descending order. Notice how the total bar size shortens. (For advanced users who
modify the dashboard JSON, charts created in the lens have query type aggregateflex.)
If you customize the query in the query editor, the results sort differently—even if you don’t change the sort order. The same bars appear,
but in a different order. (For advanced users, the query type changes from aggregateflex to saql in the dashboard JSON when
you edit the query in the query editor.)
Although it looks like the results aren’t sorted, they are. The results are sorted in descending order based on the first account-type
segment for each industry. Notice how the blue segments get shorter as you scan down the chart.
If you’re wondering how to sort the results based on total bar size, like we saw when we first created the chart in the lens, perform these
tasks.
1. In the lens, create the chart by adding the measure and groupings (one for Bars and another for Bar Segments).
1527
Analyze Your Data Build CRM Analytics Dashboards
2.
Click and select to switch to a compare table.
3. Add another Count of Rows measure by clicking + under Measures, and then clicking Count > Rows. You’re going to total the
values for all account types for each industry, and then sort based on that total using the windowing function.
4. For the second Count of Rows measure, click the down arrow and select Edit this Column.
1528
Analyze Your Data Build CRM Analytics Dashboards
5. Select Sliding Window under Calculation, select Sum as the function, remove the start and end values for the window, select the
Account.Industry as the reset group, and then click Apply. This calculation combines the counts for both account types for each
industry.
6. To sort the results based on this new total, select the dropdown arrow for this measure and select Sort Descending.
1529
Analyze Your Data Build CRM Analytics Dashboards
7. To view the results as a stacked bar or column chart, select and select the chart.
When you view the query for the chart in the query editor, you see the following SAQL query.
q = load "case95";
result = group q by ('Account.Industry', 'Account.Type');
result = foreach result generate q.'Account.Industry' as 'Account.Industry',
q.'Account.Type' as 'Account.Type', count(q) as 'A';
result = group result by ('Account.Industry', 'Account.Type');
result = foreach result generate 'Account.Industry', 'Account.Type', sum(A) as 'A',
sum(sum(A)) over ([..] partition by 'Account.Industry' ) as 'B';
result = order result by ('B' desc);
result = limit result 2000;
8. To hide the second measure that we created for sorting purposes, click the dropdown arrow for that measure, and then select Hide.
1530
Analyze Your Data Build CRM Analytics Dashboards
The hidden measure appears under Unused Fields in the left pane.
1. To open the queries panel, click an empty space in the dashboard canvas in the dashboard designer.
1531
Analyze Your Data Build CRM Analytics Dashboards
1532
Analyze Your Data Build CRM Analytics Dashboards
4.
Click to change the query label.
CRM Analytics creates the query ID from the label. After you create the query, you can’t change the query ID. CRM Analytics refers
to queries by their ID so dashboards don’t break if you change the labels.
5. Click +Add Column to add a dimension, measure, text, or number as a column to your custom query.
a. For a dimension or measure, choose a dataset.
1533
Analyze Your Data Build CRM Analytics Dashboards
Note: Each measure column in a custom query creates two values in the JSON. One value for the function (sum, average,
etc.) and one for the selected measure field. Use both values when creating a compact-form binding on a measure.
Note: To create SAQL bindings, your custom query requires two additional text columns. One column determines the value
of the field and the other column is for the field label.
CRM Analytics adds the query to the query panel, making it available for use by other widgets in the dashboard.
8.
To make changes, find the query in the query panel, click , then Edit.
You can change the query name, add and remove columns, add row and column values, reorder columns, and pick values from a
dataset.
Note: To use a custom query for linking, make the column the first column in the dialog.
1534
Analyze Your Data Build CRM Analytics Dashboards
If you applied the custom query to a list or toggle widget, you can see the widget in the dashboard. To specify how a selection in this
query affects other widgets, bind the values of the custom query to other widgets. For example, create a binding that filters the other
widgets based on a value in the list or toggle widget. For more information about binding queries, see the CRM Analytics Interactions
Developer Guide .
SEE ALSO:
Query Properties for Analytics Dashboard
Widget Properties for Analytics Dashboard
Query Properties for Analytics Dashboard
Find a Query
You can find all queries defined in the dashboard in the query panel. The panel organizes queries into categories and provides a search
bar to help you locate your queries faster.
The queries panel categorizes queries by dataset name and query type. It also contains a special category for erroneous queries. Categories
and queries are listed in alphabetical order. You can collapse each category.
Hover over the query and click the down arrow to view actions that you can perform on the query. For instance, in the Queries with
Errors section, click View Error to understand what’s wrong with the query.
1535
Analyze Your Data Build CRM Analytics Dashboards
Edit a Query
When you edit a query, you can change the details, like the query label. These changes affect all widgets that use the query. You can
also change the visualization properties, like chart type. Depending on the method that you use to edit the query, CRM Analytics handles
visualization changes differently.
You can use the following methods to change a query.
Double-click the widget CRM Analytics saves the visualization changes in the query and
applies them to the widget. CRM Analytics doesn’t apply them to
other widgets that use the query.
Note: CRM Analytics automatically loads queries on the opened page. Click other pages to load more queries, or click Start to
load a specific query.
1536
Analyze Your Data Build CRM Analytics Dashboards
1537
Analyze Your Data Build CRM Analytics Dashboards
You can also select the widget and click in the widget actions menu.
4. Click Update.
5. To save your changes, save the dashboard.
1538
Analyze Your Data Build CRM Analytics Dashboards
• CRM Analytics doesn’t apply initial selections for a saql query type if the selected value isn’t returned in the first batch of query
results. For example, you set an initial selection on the Account Name field. When you open the dashboard, assume the corresponding
widget shows only 2,000 of 100,000 accounts. If the initial selection isn’t one of the 2,000 returned accounts, CRM Analytics doesn’t
apply the initial selection to the dashboard.
For more information about how to use the limit JSON parameter to configure the maximum number of results that each query type
can return, see steps JSON.
Clone a Query
Clone a query to quickly create a query based on an existing one. Cloning is useful when you can reuse an existing query with just a few
tweaks.
Note: You can’t clone a SAQL query for a single compare table column or a custom query with user-defined values.
1. To open the queries panel, click an empty space in the dashboard canvas in the dashboard designer.
1539
Analyze Your Data Build CRM Analytics Dashboards
Note: You can’t apply grayed-out queries to widgets. But you can clone them and view their properties.
4. Select Clone.
The query opens in the lens, where you can easily modify it. If the query was created using SAQL, the clone opens in the SAQL editor
instead.
5. Edit the query label.
The default label has “Clone of “ prepended to the original query label
1540
Analyze Your Data Build CRM Analytics Dashboards
CRM Analytics adds the query to the query panel, making it available for use by other widgets in the dashboard.
8. Save the dashboard.
Note: When you clone a query and edit its SAQL, the resulting JSON doesn’t always reflect the functions applied to measures.
After you run and save the SAQL, the function is changed to count. For example, if the original query contained this measures
array:
"query": {
"measures": [
["max","DailyActiveUsers"]
]
}
and the SAQL was edited, run, and saved, the updated JSON contains this measures array instead:
"query": {
"measures": [
["count","*","max_DailyActiveUsers"]
]
}
Tip: Because names aren’t always unique, consider using IDs when specifying a user token.
This saql-type query adds the user.Id token as a query filter so that opportunity owners viewing the dashboard see only their
opportunities.
"My_Opportunities_1": {
"type": "saql",
"label": "My Opportunities",
"query": "q = load \"opportunity\";\nq = filter q by 'OwnerId' == \"!{user.Id}\";\nq
= group q by 'Account.Type';\nq = foreach q generate 'Account.Type' as 'Account.Type',
count() as 'count';\nq = order q by 'count' desc;\nq = limit q 1000;",
"datasets": [
{
"id": "0FbB000000017QxKAI",
"name": "opportunity",
"label": "Opportunities",
"url": "/services/data/v41.0/wave/datasets/0FbB000000017QxKAI"
}
],
"useGlobal": true,
"isGlobal": false,
1541
Analyze Your Data Build CRM Analytics Dashboards
"broadcastFacet": true,
"receiveFacet": true,
"selectMode": "single",
"numbers": [],
"groups": [],
"strings": [],
"visualizationParameters": {
....
},
},
SEE ALSO:
Set Initial Selections in the Dashboard
Optimize a Query
Queries can slow down your dashboard. Run a performance check on the queries to ensure that they’re running optimally. CRM Analytics
identifies query bottlenecks and provides recommendations to improve query performance.
1. Open the dashboard in view mode.
Because CRM Analytics analyzes query performance for the current layout only, ensure that you’re viewing the dashboard in the
right layout. Performance can differ from one layout to another because layouts can have different widgets and interactions. If the
dashboard contains multiple pages, CRM Analytics provides performance analysis for the current page.
2. Click the drop-down arrow for the widget that uses the query that you want to analyze.
Tip: To see the Show Details option for a list widget, enable the “Show explore action” widget property. The Show Details
option doesn’t show for link, image, container, global filter panel, and text widget types because they don’t have queries.
The query details summarize different parts of the query, like measures, filters, groupings, and the dataset on which its built.
1542
Analyze Your Data Build CRM Analytics Dashboards
The Last Run Metrics section identifies other factors that contribute to the total time required to populate the results of a query.
Query Number of milliseconds to run the query. Note that a run might execute the query or use cached
results.
If CRM Analytics identifies a performance issue with the query, it shows a warning icon ( ) next to the View Performance Details
button ( ), as the previous screenshot shows.
4. To view the performance issues and suggestions for resolving them, click .
The Performance Factors section shows all factors by which the query is evaluated. Ignore the factors with a green checkmark ( )
because these issues don’t apply to the query.
1543
Analyze Your Data Build CRM Analytics Dashboards
5. Expand each factor with a warning icon to learn how to improve the query’s performance.
SEE ALSO:
Facet Queries with Multiple Datasets
1544
Analyze Your Data Build CRM Analytics Dashboards
Tip: To see the Show Details option for a list widget, enable the “Show explore action” widget property. The Show Details
option doesn’t show for link, image, container, global filter panel, and text widget types because they don’t have queries.
4.
To compare the original query against the final one, click .
CRM Analytics modifies queries based on interactions with other widgets. It adds filters based on faceting and global filters, and can
modify the query based on bindings. The final query in the following example has three filters added to the original query.
1545
Analyze Your Data Build CRM Analytics Dashboards
5. If the query has a binding, review the bindings trace to understand how CRM Analytics resolves the binding.
The easiest way to understand the bindings trace is to start from the bottom. In this example, you can see the results of both cell
binding functions. You can also see that the coalesce function uses the results from the second cell function. The final
result of the entire binding, which appears at the top, shows 5.
Property Description
Display Label Query label. Use to provide a descriptive label for the query.
Broadcast selections as facets Controls whether the query’s selections are broadcasted as facets.
For more information about faceting, see Filter Dashboard Results
with Faceting.
Apply filters from faceting Controls whether the query listens for broadcasted facets and
applies them as filters.
1546
Analyze Your Data Build CRM Analytics Dashboards
Property Description
Apply global filters Apply the global filters to this query. This option is only available
for queries on datasets.
Selection Type Indicate whether dashboard viewers can make one or multiple
selections in the associated widget. You can also specify whether
selections are required. If a selection is required, set an initial
selection in the Initial Selections query property. If a selection is
required but not set, Analytics selects the first value in the list.
Initial Selections Show the initial selections that are applied when the dashboard
opens. For information about setting initial selections, see Set Initial
Selections in the Dashboard .
SEE ALSO:
Manage Queries for Widgets
1547
Analyze Your Data Build CRM Analytics Dashboards
By default, queries from the same dataset are faceted. To facet queries between different data sources such as different datasets or
custom queries, first connect them. Queries with a mix of datasets facet widgets based on the first dataset specified in the datasets
field in the dashboard JSON only.
1. To edit the dashboard, click .
2. Select the widget that uses the query.
The panel shows the widget properties.
3. Click Query.
1548
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Add Selection-Based Filter Widgets to Enable Users to Filter the Results
Control How Filtering Works in Embedded Dashboards
Note: You can’t connect custom queries that specify date or measure ranges.
1549
Analyze Your Data Build CRM Analytics Dashboards
9. Click Save.
SEE ALSO:
Manage Datasets in Dashboard Components
Considerations for Connected Data Sources
1550
Analyze Your Data Build CRM Analytics Dashboards
3. In Data Source Connections, on the Related Salesforce Objects tab (3), select Configure Connections Based on Existing
Relationships (4). If you’d like to exclude faceting for a Salesforce object, uncheck the box next to it.
1551
Analyze Your Data Build CRM Analytics Dashboards
Example:
"dataSourceLinks": [
{
"name": "Link_544",
"label": "Close Date Connection",
"fields": [
{
"fieldName": "Close_Date_Year~~~Close_Date_Quarter",
"dataSourceName": "DTC_Opportunity",
"dataSourceType": "dataset"
1552
Analyze Your Data Build CRM Analytics Dashboards
},
{
"fieldName": "Close_Date_Year~~~Close_Date_Quarter",
"dataSourceName": "ACME_Opportunities",
"dataSourceType": "dataset"
}
]
}
],
SEE ALSO:
Configure Cross-Dataset Faceting with Connected Data Sources
A widget that uses this query receives filters for the following selections: A widget that uses this query broadcasts selections for Quota.Name
and Quota.Quota.
• Opportunities.Name
• Opportunities.Amount
• Opportunities.Region
• Quota.Name
• Quota.Quota
SEE ALSO:
Considerations for Queries with Multiple Datasets
Note: Dashboard builders must place each interaction (binding) in the right place in the JSON or SAQL for an individual widget
or query. To learn more, see the Analytics Bindings Developer Guide.
1553
Analyze Your Data Build CRM Analytics Dashboards
1.
Click Advanced Editor in the widget properties panel or to launch the Advanced Interaction Editor.
2. Click Select a query… and choose from any query in the dashboard.
Queries are searchable by name.
1554
Analyze Your Data Build CRM Analytics Dashboards
c.
Click .
1555
Analyze Your Data Build CRM Analytics Dashboards
5. Click More Options to set a default value or change the data serialization function.
To learn more, see Data Serialization Functions.
6.
To edit the interaction manually, click . This step is optional.
Note: Once you click the button, you can’t return to the original editor without resetting the entire Advanced Interaction
Builder. Any interaction you’ve already created is removed once you reset.
a. Add functions to your interaction and specify the source.
Dynamically Modify the Query, Initial Selection, and Widgets with Bindings
Compared to facets, bindings are more programmatic, and provide more ways to specify interactions. Bindings can dynamically
modify a query, set an initial filter selection, or change a widget’s appearance. For example, you can change the measure in a query
based on a selection in a custom query. You can initially filter a region-based dashboard based on the country of the logged-in user.
Or, you can change the color of the metric in a number widget based on whether its value is high, medium, or low. Each binding is
unidirectional, meaning it affects other queries, but other queries don’t affect it.
Dynamically Modify the Query, Initial Selection, and Widgets with Bindings
Compared to facets, bindings are more programmatic, and provide more ways to specify interactions. Bindings can dynamically modify
a query, set an initial filter selection, or change a widget’s appearance. For example, you can change the measure in a query based on
a selection in a custom query. You can initially filter a region-based dashboard based on the country of the logged-in user. Or, you can
change the color of the metric in a number widget based on whether its value is high, medium, or low. Each binding is unidirectional,
meaning it affects other queries, but other queries don’t affect it.
For more information about bindings, see Analytics Interactions Developer Guide
1556
Analyze Your Data Build CRM Analytics Dashboards
When you click a selection in an overview chart (1), it opens the details page with your selection applied (2).
Or your selection (1) opens a lens with filters applied for immediate navigation (2).
1557
Analyze Your Data Build CRM Analytics Dashboards
a. For Link To, select the destination to link to, such as a dashboard, lens, or page.
A layout page is available only if the dashboard has more than one page. To navigate between dashboard pages, add a Back
button on the destination page so that you can return to the overview page.
c. Select the destination. The options are based on your Link To selection.
8. From the Action dropdown, select Return to Initial View, and then select Return to initial view for Reset.
1558
Analyze Your Data Build CRM Analytics Dashboards
1559
Analyze Your Data Build CRM Analytics Dashboards
Click Add Action, and create an interaction that navigates from the map to the Details page in the layout. To let users go back to the
default map setting when they deselect a component, select Go back on deselect.
To try out the interaction, click Apply and then click Preview. On the map of the world that appears, select the United States.
1560
Analyze Your Data Build CRM Analytics Dashboards
This select interaction navigates the user to the Details page. On the Details page, the user sees filtered value charts, segment and account
owner data, and a product dashboard.
1561
Analyze Your Data Build CRM Analytics Dashboards
To provide easy navigation of granular data, you can add interactions to some of the widgets.
1562
Analyze Your Data Build CRM Analytics Dashboards
To view this interaction, click Preview, navigate to the Details page, and click Fleet (1). This select interaction changes to the Product
Details dashboard page (2). The dashboard now shows a list of car types and the revenue for each.
1563
Analyze Your Data Build CRM Analytics Dashboards
1564
Analyze Your Data Build CRM Analytics Dashboards
Now, when your user wants to clear the account owner selection and pick another one, they can click Clear Leaderboard Selection
and make another selection.
Note: This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service
is subject to the applicable Beta Services Terms provided at Agreements and Terms.
1. To edit the dashboard, click Edit.
2. Select a text widget, and in the right panel, click Interaction.
3. Click Create Interaction, and select the interaction.
4. For Event, select Click, and then click Add Action.
5. For Action, select Start a Flow.
1565
Analyze Your Data Build CRM Analytics Dashboards
7. If the selected flow requires inputs to run, they’re listed with Add Mapping actions. For each flow input, click Add Mapping.
a. Select the value type.
Type Description
Static Enter the input value.
Dynamic Field • For Data Source, click Choose Query and select a query
from a dataset.
• For New Value, click Select field and select a query field
for the input.
• Select the interaction type.
b. Click Update.
8. Click Apply.
9. To test the interaction, preview the dashboard, and then save.
1566
Analyze Your Data Build CRM Analytics Dashboards
While editing the dashboard, click and then select Pick Initial Selections.
CRM Analytics previews the dashboard.
2. Make selections in chart, date, list, range, or toggle widgets.
You can also select a row in a compare table.
3. Click Done.
CRM Analytics saves the selections as start values for the widget queries. You can view the initial selections in the query properties.
1567
Analyze Your Data Build CRM Analytics Dashboards
SEE ALSO:
Add Selection-Based Filter Widgets to Enable Users to Filter the Results
Modify the Query Results Based on the Dashboard Viewer
Tip: To set the initial selection based on other user attributes of the logged-in user, like their country, use a binding based on a
user token. For more information, see the CRM Analytics Bindings Developer Guide.
Example: When the dashboard opens, you want it to dynamically filter charts based on the name of the currently logged in user.
1568
Analyze Your Data Build CRM Analytics Dashboards
To add the filter, create a list widget and then, in the dashboard JSON, add an initial filter selection based on the user.name
token in the widget’s query (Owner_Name_1). This selection filters the following charts:
• Donut chart because its query (Owner_Name_3) is faceted with query Owner_Name_1.
• Bar chart because its query (Owner_Username_3) contains a binding based on query Owner_Name_1.
See the bold text in the following dashboard JSON to see how to set the initial filter, as well as facet and bind the queries.
{
"label": "My Sales",
"state": {
"gridLayouts": [
…
],
"layouts": [],
"steps": {
"Owner_Name_1": {
"datasets": [
{
"id": "0FbB00000000pNNKAY",
"label": "Opportunities",
"name": "opportunity",
"url": "/services/data/v38.0/wave/datasets/0FbB00000000pNNKAY"
}
],
"isFacet": true,
1569
Analyze Your Data Build CRM Analytics Dashboards
"isGlobal": false,
"query": {
"measures": [
[
"count",
"*"
]
],
"groups": [
"Owner.Name"
]
},
"selectMode": "multi",
"start": [
"!{User.Name}"
],
"type": "aggregateflex",
"useGlobal": false,
"visualizationParameters": {
"options": {}
}
},
"Owner_Name_3": {
"datasets": [
{
"id": "0FbB00000000pNNKAY",
"label": "Opportunities",
"name": "opportunity",
"url": "/services/data/v38.0/wave/datasets/0FbB00000000pNNKAY"
}
],
"isFacet": true,
"isGlobal": false,
"query": {
"measures": [
[
"count",
"*"
]
],
"groups": [
"Owner.Name"
],
"order": [
[
-1,
{
"ascending": false
}
]
]
},
"selectMode": "single",
1570
Analyze Your Data Build CRM Analytics Dashboards
"type": "aggregateflex",
"useGlobal": true,
"visualizationParameters": {
"visualizationType": "hbar",
"options": {}
}
},
"Owner_Username_3": {
"datasets": [
{
"id": "0FbB00000000pNNKAY",
"label": "Opportunities",
"name": "opportunity",
"url": "/services/data/v38.0/wave/datasets/0FbB00000000pNNKAY"
}
],
"isFacet": false,
"isGlobal": false,
"query": {
"measures": [
[
"sum",
"Amount"
]
],
"groups": [
"Owner.Name"
],
"filters": [
[
"Owner.Name",
"{{column(Owner_Name_1.selection,
[\"Owner.Name\"]).asObject()}}",
"in"
]
],
"order": [
[
-1,
{
"ascending": false
}
]
]
},
"selectMode": "multi",
"type": "aggregateflex",
"useGlobal": true,
"visualizationParameters": {
"visualizationType": "hbar",
"options": {}
}
}
1571
Analyze Your Data Build CRM Analytics Dashboards
},
"widgetStyle": {
"backgroundColor": "#FFFFFF",
"borderColor": "#E6ECF2",
"borderEdges": [],
"borderRadius": 0,
"borderWidth": 1
},
"widgets": {
"listselector_2": {
"parameters": {
"compact": false,
"expanded": true,
"exploreLink": false,
"instant": true,
"measureField": "count",
"step": "Owner_Name_1",
"title": "Owner.Name"
},
"type": "listselector"
},
"chart_2": {
"parameters": {
"autoFitMode": "fit",
"showValues": true,
"legend": {
"showHeader": true,
"show": true,
"position": "right-top",
"inside": false
},
"axisMode": "sync",
"visualizationType": "hbar",
"exploreLink": true,
"title": {
"label": "Bound Chart",
"align": "left",
"subtitleLabel": ""
},
"trellis": {
"enable": false,
"type": "x",
"chartsPerLine": 4
},
"measureAxis2": {
"showTitle": true,
"showAxis": true,
"title": ""
},
"measureAxis1": {
"showTitle": true,
"showAxis": true,
"title": ""
},
1572
Analyze Your Data Build CRM Analytics Dashboards
"theme": "wave",
"step": "Owner_Username_3",
"dimensionAxis": {
"showTitle": true,
"showAxis": true,
"title": ""
}
},
"type": "chart"
},
"chart_4": {
"parameters": {
"visualizationType": "pie",
"exploreLink": true,
"title": {
"label": "Faceted Chart",
"align": "left",
"subtitleLabel": ""
},
"step": "Owner_Name_3",
"theme": "wave",
"legend": {
"show": true,
"showHeader": true,
"inside": false,
"position": "right-top"
},
"trellis": {
"enable": false,
"type": "x",
"chartsPerLine": 4
},
"showMeasureTitle": true,
"showTotal": true,
"inner": 70
},
"type": "chart"
},
"container_1": {
"type": "container",
"parameters": {
"documentId": "",
"fit": "original",
"alignmentX": "left",
"alignmentY": "top"
}
}
}
},
"datasets": [
{
"id": "0FbB00000000pNNKAY",
"label": "Opportunities",
"name": "opportunity",
1573
Analyze Your Data Build CRM Analytics Dashboards
"url": "/services/data/v38.0/wave/datasets/0FbB00000000pNNKAY"
}
]
}
For information about editing the dashboard JSON, see the CRM Analytics Dashboard JSON Developer Guide .
2. Choose the initial filter value for each global filter, then click Apply.
3. Click Done, and save the dashboard.
SEE ALSO:
Add a Global Filter Panel Widget to Filter Data from the Dashboard
Control How Filtering Works in Embedded Dashboards
1574
Analyze Your Data Build CRM Analytics Dashboards
1. Open a dashboard.
2. To create a layout, click Add Layout (1). To open an existing layout, select it from the list (2).
3. Add and rearrange widgets, and choose other layout properties. The designer updates the preview in real time so that you can see
how your changes affect the display.
General
Set the layout name, grid settings, and background color. The designer previews the dashboard and layout based on the layout
property settings.
Device
Specify information about the devices that can use this layout. For more information about how CRM Analytics uses these
properties to choose the right layout, see Rules for Choosing a Layout for a Device.
Background Image
To apply a background image to the entire dashboard when this layout is used, enter the details about the background image.
You don’t have to include a background image.
Unused Widgets
To add an unused widget to the layout, drag the widget from the Unused Widgets section to the canvas.
Note: CRM Analytics also adds the widget to other layouts if layout synchronization is on and the layouts were created
with Copy Content enabled.
Theme
Themes enable you to create and apply aesthetic properties for dashboard widgets all at once. For more information, see Manage
Widget Properties with Themes.
1575
Analyze Your Data Build CRM Analytics Dashboards
General Properties
These general properties apply to the specified layout.
Property Description
Name Name of the layout.
Row Height Height of the rows in the dashboard designer grid. Values are
Normal and Fine. When using the Fine option, the vertical spacing
is set to 0 and can’t be changed. Analytics determines the default
sizes of widgets based on number of columns and the row height
to ensure that the widgets are readable and retain their relative
sizes.
Cell Spacing Horizontal and vertical spacing (in pixels) between cells in the
dashboard designer grid.
Maximum Dashboard Width Maximum width (in pixels) that the dashboard can use. If needed,
Analytics rearranges the existing dashboard widgets based on this
setting in the layout.
Background Color You can set the background color of the following areas.
Grid
Color of the dashboard designer grid.
Gutter
Color of the gutter that appears when the device’s screen is
wider than the dashboard’s maximum width.
1576
Analyze Your Data Build CRM Analytics Dashboards
Device Properties
Analytics uses these values to choose the optimal layout for the device accessing the dashboard.
Property Description
Screen Width Width of the devices supported by this layout. Specify the minimum
and maximum width (in pixels).
Platform Platform of the devices supported by this layout. Select one of the
following values:
iOS
For iOS-specific mobile devices that access Analytics apps from
the CRM Analytics mobile app.
Android
For Android-specific mobile devices that access Analytics apps
from the CRM Analytics mobile app.
All
For all other devices, including mobile devices that access
Analytics apps from a web browser or the Salesforce mobile
app. Basically, if you access a CRM Analytics app using any
method other than the Analytics mobile app, you must set this
option to All.
Property Description
Image The file name of the image. The image must be available in the
gallery of the CRM Analytics app that contains the dashboard. This
property applies to background images created during or after
Spring ’17.
1577
Analyze Your Data Build CRM Analytics Dashboards
• If more than one layout is eligible, the one with the most device properties set is used. If there’s a tie, the most recently defined
layout is used.
• If no layouts are eligible with the device, the first defined layout is used.
Select previously used and custom colors from the My Colors tab.
1578
Analyze Your Data Build CRM Analytics Dashboards
Note: When a widget must have a style that’s apart from a theme, uncheck Use defaults in the widget’s property. When
you want a widget to inherit a theme, use Apply to all widgets on the Theme tab.
2.
To open the dashboard inspector, click and then Dashboard Inspector. The dashboard inspector immediately collects
performance metrics.
3. The Performance tab shows all factors by which the dashboard is evaluated.
1579
Analyze Your Data Build CRM Analytics Dashboards
Note: If your dashboard contains multiple pages, the dashboard inspector shows results for the current page being viewed.
4. If a warning icon ( ) appears next to a factor, expand the factor to learn how to fix the issue to improve the dashboard’s
performance.
Ignore the factors with a green checkmark ( ) because these issues don’t apply to the dashboard.
5. To analyze the performance of all queries in the dashboard, go to the Query table in the tab.
The table lists all queries that ran when the dashboard loaded. If the dashboard contains multiple pages, the table lists the queries
that ran for the current page. Each time you switch pages, newly run queries are added to the table, and previously run queries,
which are no longer used, are listed as unused.
1580
Analyze Your Data Build CRM Analytics Dashboards
Metric Description
Max Time (SEC) Maximum execution time for each query on the current
dashboard page.
6. Select a query in the table to view additional details about the query and the last run.
1581
Analyze Your Data Build CRM Analytics Dashboards
Note: When a query has errors and fails to execute, open the Dashboard Inspector and select the query with errors. Use the
View More Details button for more information about bindings syntax errors, query level errors, and the query that was run.
S Save
Cmd+E (macOS)
Arrow keys Move the selected widget when editing the dashboard.
Cmd+Click (macOS)
Ctrl+A (Windows) Select all widgets in the canvas while editing the dashboard.
Cmd+A (macOS)
1582
Analyze Your Data Build CRM Analytics Dashboards
Cmd+C (macOS)
Cmd+V (macOS)
Cmd+E (macOS)
Cmd+3 (macOS)
Cmd+D (macOS)
Cmd+Option+Down (macOS)
Cmd+Option+Up (macOS)
Option+Down (macOS)
Option+Up (macOS)
Ctrl+K (macOS)
Cmd+Delete (macOS)
1583
Analyze Your Data Build CRM Analytics Dashboards
Shift+Left (macOS)
Shift+Right (macOS)
Option+Shift+Left (macOS)
Option+Shift+Right (macOS)
Shift+Cmd+Left (macOS)
Shift+Cmd+Right (macOS)
Shift+Up (macOS)
Shift+Down (macOS)
Cmd+Shift+Up (macOS)
Cmd+Shift+Down (macOS)
Cmd+Shift+D (macOS)
1584
Analyze Your Data Build CRM Analytics Dashboards
Option+Left (macOS)
Option+Right (macOS)
Up (Windows) Go line up
Up (macOS)
Cmd+Up (macOS)
Cmd+Down (macOS)
Cmd+L (macOS)
Cmd+F (macOS)
1585
Analyze Your Data Build CRM Analytics Dashboards
Cmd+Option+F (macOS)
Cmd+G (macOS)
Cmd+Shift+G (macOS)
Cmd+D (macOS)
Cmd+Option+Down (macOS)
Cmd+Option+Up (macOS)
Option+Down (macOS)
Option+Up (macOS)
Ctrl+K (macOS)
Cmd+Delete (macOS)
Option+Delete (macOS)
Cmd+A (macOS)
1586
Analyze Your Data Build CRM Analytics Dashboards
Shift+Left (macOS)
Shift+Right (macOS)
Option+Shift+Left (macOS)
Option+Shift+Right (macOS)
Shift+Up (macOS)
Shift+Down (macOS)
Cmd+Shift+Up (macOS)
Cmd+Shift+Down (macOS)
Cmd+Shift+D (macOS)
1587
Analyze Your Data Build CRM Analytics Dashboards
Option+Left (macOS)
Option+Right (macOS)
Up (Windows) Go line up
Cmd+Right(macOS)
Ctrl+V (macOS)
Cmd+Up (macOS)
Cmd+Down (macOS)
Cmd+L (macOS)
Cmd+F (macOS)
1588
Analyze Your Data Build CRM Analytics Dashboards
Cmd+Option+F (macOS)
Cmd+G (macOS)
Cmd+Shift+G (macOS)
2. Select the Version tab to see a list of previous versions of the dashboard.
3. Click the links (Change 1, Change 2, and so on) to view previous versions. The text under the links provides a brief description of
the version if one was added to the Version History field the last time someone saved the dashboard.
4. When you see the one you want to restore, click the disk icon and then click Save. It’s a good idea to enter a brief description of
what’s unique about this version in the Version History field for future reference.
Warning: When you restore a previous version, the dashboard doesn’t run as expected if it depends on a dashboard, dataset, or
lens that’s been deleted. If you get an error when you load a restored version of a dashboard, try restoring older versions until you
get one that works. You can use that one as a starting point to rebuild the dashboard with errors.
1589
Analyze Your Data Build CRM Analytics Dashboards
For details, see Backup and Restore Previous Versions of Analytics Assets with History API.
1590
Analyze Your Data Embed and Customize CRM Analytics
4. The version you edited and saved now appears at the top of the list as a new version. It’s marked Draft, which means that only other
publishers can view it. Other users in the org continue to view the version marked Live. Anytime you edit and save the dashboard,
that version appears at the top of the list and is marked Draft.
5. Other publishers can open the dashboard, click Version History, and view the version of the dashboard marked Draft.
6. When you decide the draft version is ready for other users, click the triangle to the right of the version link and select Make Live to
publish it. The published version becomes the live version that other CRM Analytics users view.
1591
Analyze Your Data Embed and Customize CRM Analytics
Filters aren’t applied to embedded dashboards when faceting in underlying queries is set to Include, Exclude, or None.
SEE ALSO:
Filter Dashboard Results with Faceting
Lightning Experience Home, record, or app Aura component in the Lightning App Builder CRM Analytics Dashboard
home page (wave:waveDashboard)
Salesforce App Lightning app page Aura component in the Lightning App Builder CRM Analytics Dashboard
(wave:waveDashboard)
1592
Analyze Your Data Embed and Customize CRM Analytics
Experience Cloud Visualforce page Aura component in Salesforce Tabs + Aura Component
Visualforce template (wave:waveDashboard)
Depending on the device and the embedding option, you can perform these actions from an embedded CRM Analytics dashboard.
• Save and manage dashboard views
• Post to Chatter
• Download images
• Set notifications
• Subscribe to widgets
• Access global filters
• Link to other CRM Analytics dashboards
• Take action in Salesforce through record actions menus
• Collaborate on dashboards with annotations (available for Experience Cloud site users only)
•
Link to the CRM Analytics Studio app , whether it’s on desktop or on mobile (available for CRM Analytics users but not Experience
Cloud site users)
Embedded CRM Analytics dashboards have these limitations.
• Dashboards can’t be created, updated, or deleted.
• The app navigation menu isn’t available.
• Full-screen presentation mode isn’t available.
• Sharing options don’t include Give Access, Get URL, printing, or posting the link to a dashboard.
• Annotations and conversational exploration aren’t available.
• The charts don’t include hover-over information (tooltips).
• Some filters, such as date selectors, are difficult to set.
An embedded dashboard uses the Lightning Web Component (LWC) framework in Lightning Experience. Use the native CRM Analytics
Dashboard (LWC) component for seamless integration into your Lightning Experience or Experience Cloud pages. The Aura CRM Analytics
Dashboard component is still supported.
For reference documentation, see the Analytics Dashboard Component Developer Guide.
Note: For limitations of embedded dashboards viewed in the Salesforce mobile app, see Considerations When Viewing Dashboards
in a Mobile Web Browser .
1593
Analyze Your Data Embed and Customize CRM Analytics
Show Share Icon Add the Share icon on the dashboard. When
this option is selected, users can click the icon
to open the Share dialog, where they can post
to Chatter and download images and data. To
1594
Analyze Your Data Embed and Customize CRM Analytics
Attribute Description
show the Share icon, the minimum dashboard height is 612
pixels. The default is false.
Show Title Control the visibility of the dashboard title. When this option is
selected, the dashboard’s title appears above the dashboard.
The default is true.
Show Header Control the visibility of the dashboard header. When this option
is selected, the dashboard is displayed with a header bar that
includes the Open in Analytics icon, the date and time that the
dashboard’s data was updated, and the dashboard views menu.
The header bar also appears if either Show Sharing Icon or Show
Title is selected.
Open Dashboard Specify where the dashboard opens when users click the open
icon. The default behavior is to open the dashboard in the CRM
Analytics Studio. Other options include opening the dashboard
in the Salesforce Lightning Analytics tab or disabling the open
icon.
Open Links in New Windows (Aura Component only) Specify where links from the dashboard
to other assets are opened. When this option is selected, links
open in new windows. When this option isn’t selected, links open
in the same window. The default is true.
Hide On Error (Aura Component only) Use Set Component Visibility instead.
Enable Notifications Allow users with permission to set conditions and get notified
about updates to dashboard widgets. And when Show Header
is true, this option also surfaces the notifications icon in the
dashboard header, which opens the notifications management
panel for editing and deleting notifications. If you enable Show
Header, it’s recommended that the dashboard is at least 400
pixels in width to accommodate the management panel.
Enable Subscriptions Allow users with permission to subscribe for periodic email
updates on dashboard widgets. And when Show Header is true,
this option also surfaces the subscriptions icon in the dashboard
header, which opens the subscriptions management panel for
editing and deleting subscriptions. If you enable Show Header,
it’s recommended that the dashboard is at least 400 pixels in
width to accommodate the management panel.
Set Component Visibility Dynamically controls whether users see a dashboard. To set the
visibility for the dashboard component, add filters. For example,
add a filter of Permissions > Standard
Permissions > Use CRM Analytics Equal
true to show the dashboard component to users with CRM
Analytics permissions only. For more information on component
visibility, see Dynamic Lightning Pages.
1595
Analyze Your Data Embed and Customize CRM Analytics
Attribute Description
Filter (LWC Component only) Add selections or filters to the embedded
dashboard at runtime. You can filter dataset fields by variables
or specified values. Specify filters by entering JSON strings in the
Filter text box. For examples, see Filter and Selection Syntax for
Embedded Dashboards. If a filter or selection can’t be applied,
the attribute is ignored and the dashboard appears with all its
data and no selection.
Dashboard Filters (Aura Component only) Add selections or filters to the embedded
dashboard at runtime. You can filter dataset fields by variables
or specified values. Specify filters either by using the
point-and-click Filter Builder (record pages only) or by entering
JSON strings in the Filter String box. For examples, see Filter and
Selection Syntax for Embedded Dashboards.
Use the Filter Builder to set up a dashboard to show the
contextual data for each record page in which it appears. Click
Filter Builder and + Add Dashboard Filter. Select a dataset,
dataset field, and operator. Then click Select to specify a field in
an sObject or custom object.
1596
Analyze Your Data Embed and Customize CRM Analytics
Attribute Description
1597
Analyze Your Data Embed and Customize CRM Analytics
Note: For the Filter Builder, the dataset fields must be dimensions (not dates or measures), and the object field values must
be tokenizable (not static values). If a filter is created or edited in the Filter String text box, it can't be viewed or edited in the
Filter Builder. If a filter or selection can’t be applied, the attribute is ignored and the dashboard appears with all its data and
no selection.
Note: When setting up locked or hidden filters for embedded dashboards, keep in mind the following considerations.
• Locked and hidden filters are applied on the dashboard. If a filter makes a field visible, users see the field even when you’ve
restricted access to filters with one of these options.
• Locked and Hidden options aren’t automatically applied in linked dashboards or lens explorations. The options are applied
only on the dashboard where specified.
• Locked and Hidden options are applied to a dashboard when embedded or when opened in CRM Analytics Studio or in
the Analytics tab.
• When locked or hidden filters are applied to the dashboard, the My Views menu isn’t visible to users.
1598
Analyze Your Data Embed and Customize CRM Analytics
1599
Analyze Your Data Embed and Customize CRM Analytics
* Requires user permission. ** Requires setting enabled in Setup. ***Requires CRM Analytics for Communities permission set license
with View CRM Analytics on Experience Cloud pages permission.
Here are the high-level steps for setting up CRM Analytics for Experience Cloud sites.
1. Enable Share Analytics with Communities and set up site members. See Enable CRM Analytics for Experience Cloud
Sites.
2. Create CRM Analytics dashboards and save them in a CRM Analytics app that you can share with your site.
Important: All datasets and other assets referenced by the dashboards must also be in the same app that you share with
your site.
3. From the CRM Analytics app containing your dashboards, select Share.
4. In the Share dialog, select Enable sharing with Communities.
When an app is enabled for sharing with external users, a message appears to let you know at a glance. You can easily check and
change the sharing status of apps.
5. Share the app with site partners and customers by entering their names and clicking Add. Site members in the sharing list are
highlighted in orange to distinguish them as external users, and Viewer is the only access available for them.
6. Embed your CRM Analytics dashboards using either Experience Builder or Visualforce.
Considerations
Important: If your Site uses color customizations, the customizations also appear in your embedded dashboards. To prevent the
Site customizations from impacting your embedded dashboards, you can enable the legacy iframe behavior. From Setup, in the
1600
Analyze Your Data Embed and Customize CRM Analytics
Quick Find box, enter Analytics, and select Settings. Select Use legacy iframe instead of LWC for embedded
dashboards and click Save
Note: Embedded dashboards in Experience Cloud Sites don't support sharing inheritance. Leverage security predicates to
control security.
Access to the CRM Analytics REST API is limited to the GET method with these endpoints:
• /wave/folders/<folder ID> — Access to folders shared with the site.
• /wave/dashboards/<dashboard ID or API Name> — Access to dashboards belonging to a folder shared with the
site.
• /wave/lenses/<lens ID or API Name> — Access to lenses belonging to a folder shared with the site.
• /wave/datasets/<dataset ID> — Access to datasets belonging to a folder shared with the site.
Use Experience Builder to Embed CRM Analytics Dashboards in Experience Cloud Sites
Add analytics via the CRM Analytics Dashboard component available in Experience Builder–based templates.
Use Visualforce to Embed CRM Analytics Dashboards in Experience Cloud Sites
Share analytics with external users via CRM Analytics dashboards embedded in their site.
Collaborate on CRM Analytics Dashboards in Experience Cloud Sites with Annotations
Foster an environment of open communication sparked by CRM Analytics dashboards embedded in Experience Cloud sites. With
annotations, partners and customers can converse in Chatter feeds on individual dashboard widgets. Annotations are available
whether dashboards are embedded via Visualforce or the Experience Builder.
Take Action in Salesforce from Experience Cloud Sites
From CRM Analytics in Experience Cloud sites, you can open Salesforce records and perform record-level actions and bulk actions.
You set up an action menu on a dataset or a bulk action on a table widget. Then your site users can open records and take action
in Salesforce directly from the CRM Analytics dashboard, without leaving your site.
Best Practices for CRM Analytics for Experience Cloud
Before setting up an Experience Cloud site with CRM Analytics, keep these best practices in mind for optimal performance and data
security.
SEE ALSO:
CRM Analytics Encryption
1601
Analyze Your Data Embed and Customize CRM Analytics
Use Experience Builder to Embed CRM Analytics Dashboards in Experience Cloud Sites
Add analytics via the CRM Analytics Dashboard component available in Experience Builder–based
EDITIONS
templates.
To add CRM Analytics to your Experience Cloud site, follow the high-level steps in Share CRM Available in: Salesforce
Analytics in Experience Cloud Sites. When you’re ready to embed a dashboard, use the following Classic and Lightning
procedure. Experience.
1. Select the (Beta) LWC CRM Analytics Dashboard component in Experience Builder. Available for an extra cost
in: Enterprise, Performance,
Note: You can still use the Aura CRM Analytics Dashboard component, but starting in and Unlimited Editions. Also
Summer `24, we recommend using the LWC component for seamless Lightning available in: Developer
integration. Edition.
2. From the Dashboard dropdown list, select the dashboard to display. Dashboards appear in the
list, and are visible in sites, when Enable sharing with Communities is selected in an app’s USER PERMISSIONS
Share dialog.
To create, customize, or
Note: (For Developers) In the code, the dashboard name is represented with the activate a site:
dashboard ID. The dashboardId is the 18-character code beginning with 0FK that is found • Create and Set Up
in the URL when viewing a dashboard. Experiences
AND is a member of the
3. Configure the attributes of the embedded CRM Analytics dashboard. site they’re trying to
update
Attribute Description
To modify CRM Analytics
Height Specify the height of the dashboard in pixels. settings:
The default is 300. • Analytics Growth
permission set license
Filter Add selections or filters to apply to the with Manage Analytics
dashboard when it appears on the page at permission
runtime. You can filter dataset fields by
To view, explore, and share
variables or specified values. Specify filters by embedded CRM Analytics
entering JSON strings in the Filter box. For dashboards for users with
example JSON strings, see Filter and Selection an Experience Cloud license:
Syntax for Embedded Dashboards. • Analytics for
Communities permission
Show Share Icon Add the Share icon on the dashboard. When set license with View
this option is selected, users can click the icon Analytics on
to open the Share dialog, where they can post Communities pages
to Chatter and download images and data. To permission
show the Share icon, the minimum dashboard
height is 612 pixels. The default is false.
1602
Analyze Your Data Embed and Customize CRM Analytics
Attribute Description
updated, and the dashboard views menu. The header bar also
appears if either Show Share Icon or Show Title is selected.
Open Links in New Windows (Aura Component only) Specify where links from the dashboard
to other assets are opened. When this option is selected, links
open in new windows. When this option isn’t selected, links open
in the same window. The default is true.
Hide On Error (Aura Component only) Control whether users see a dashboard
that has an error. When this option is selected, if the dashboard
has an error, it doesn’t appear on the page. When this option
isn’t selected, the dashboard appears but doesn’t show any data.
An error can occur when a user doesn't have access to the
dashboard or it has been deleted. The default is false.
For information about working with Experience Builder, start with Customize Sites with Experience Builder.
1603
Analyze Your Data Embed and Customize CRM Analytics
USER PERMISSIONS
To create, customize, or
activate a site:
• Create and Set Up
Experiences
AND is a member of the
site they’re trying to
update
1604
Analyze Your Data Embed and Customize CRM Analytics
To create annotations, click to open your embedded dashboard in CRM Analytics. Then USER PERMISSIONS
select Annotate from the dropdown menu on a widget.
To create, customize, or
activate a site:
• Create and Set Up
Experiences
AND is a member of the
community they’re trying
to update
1605
Analyze Your Data Embed and Customize CRM Analytics
In the annotations panel, you can type messages and @mention people in your org who have access to the dashboard. You can also
share screenshots of the current state of the dashboard. CRM Analytics dashboard annotations are natively integrated with Chatter, and
comments on dashboards also appear as Chatter posts. If users click the Follow button, they see all comments on the dashboard. From
Chatter, they can click the dashboard image to navigate directly to the annotation on the dashboard in CRM Analytics, where they can
add to the conversation. For more information, see Collaborate with Dashboard Annotations.
The visibility of posts depends on the type of user that makes the original post. For security, external site users can’t see annotations
originated by your org’s internal users (unless the external user is @mentioned). But if an internal user replies on an annotation started
by an external user, then all users can see all posts. For more information, see the visibility property in the Connect REST API
Developer Guide.
1606
Analyze Your Data Embed and Customize CRM Analytics
1607
Analyze Your Data Embed and Customize CRM Analytics
1608
Analyze Your Data Embed and Customize CRM Analytics
USER PERMISSIONS
<wave:dashboard dashboardId="0FKB000000006Y7OAI"
showTitle="true"
height="800px"
openLinksInNewWindow="true"
filter="{'datasets' : {'opportunity': [ {'fields':['Id'], 'selection':
['{!Opportunity.Id}']}]}}"/>
</apex:page>
<apex:page standardController="case">
<wave:dashboard dashboardId="0FKxx000000000uGAA"
height="1000px"
showTitle="false"
showSharing="true"
openLocation="HIDE"
openLinksInNewWindow="false"
hideOnError="true"
filter="{'datasets' : {'ServiceCase4': [ {'fields':['Id'], 'selection':
['{!case.Id}']}, {'fields':['OwnerId'], 'filter': { 'operator':'in', 'values':
1609
Analyze Your Data Embed and Customize CRM Analytics
['{!case.OwnerId}', '{!case.Product__c}']}}]}}"/>
</apex:page>
• The showTitle attribute gives you control over the visibility of the dashboard title. If set to true, the dashboard’s title is included
above the dashboard. If set to false, the dashboard appears without a title. The default is true.
• The showSharing attribute lets you include the Share icon on the dashboard. If the icon is present, users can click to open the
Share dialog, where they can post to Chatter and download images and data. If set to true, and the dashboard is sharable, then the
dashboard shows the Share icon. If set to false, the dashboard doesn't show the Share icon. The default is false. To show the Share
icon, the minimum dashboard height is 612 pixels.
• The showHeader attribute lets you control the visibility of the dashboard header. If set to true, the dashboard is displayed with
a header bar. The header bar includes the open dashboard icon, the date and time that the dashboard’s data was updated, and the
dashboard views menu. If set to false, the dashboard appears without a header bar. The default is true. The header bar automatically
appears when either showSharing or showTitle is true.
• The openLocation attribute lets you control where the open icon on the dashboard header opens the dashboard. The default
value is OPEN_IN_STUDIO, which opens the dashboard in the Analytics Studio. The other options are OPEN_IN_TAB, which
opens the dashboard in the Salesforce Lightning Analytics tab and HIDE, which disables the open icon.
• With the openLinksInNewWindow attribute, you can specify where links from the dashboard to other assets are opened. If
set to true, links open in new windows. If set to false, links to other assets open in the same window. The default is true.
• The hideOnError attribute gives you control over whether a Analytics asset appears if there is an error (such as the user doesn't
have access to the dashboard or it has been deleted). When set to true, if the dashboard has an error, it won’t appear on the page.
When set to false, the dashboard appears but doesn’t show any data. The default is false.
• The enableNotifications attribute lets users with permission to set conditions and get notified about updates to dashboard
widgets. When showHeader is true, this option also surfaces the notifications icon in the dashboard header which opens the
notifications management panel for editing and deleting notifications. If you enable Show Header, it’s recommended that the
dashboard is at least 400 pixels in width to accommodate the management panel. The default is false.
• The enableSubscriptions attribute lets users with permission to subscribe for periodic email updates on dashboard widgets.
When Show Header is true, this option also surfaces the subscriptions icon in the dashboard header which opens the subscriptions
management panel for editing and deleting subscriptions. If you enable Show Header, it’s recommended that the dashboard is at
least 400 pixels in width to accommodate the management panel. The default is false.
• The pageId attribute lets you specify which page of the dashboard to load on render. If not specified, the default page of the
dashboard loads on render.
• The width attribute specifies the width of the dashboard, in pixels or percent. Pixel values are simply the number of pixels, for
example, 500. Percentage values specify the width of the containing HTML element and must include the percent sign, for example,
20%. If the specified width is too large for the device, the maximum device width is used.
• With the filter attribute, you can either select or filter on dataset fields at run time. For example, this attribute can be used to
set up the embedded dashboard to show only the data that’s relevant for the record being viewed by linking data fields in the
dashboard to an object’s fields. Filters are configured with JSON strings.
Use this syntax for filtering on dimensions.
filter="{'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['!value1',
'!value2']}, {'fields': ['field2'], 'filter': { 'operator': 'operator1', 'values':
['!value3', '!value4']}}]}}"
1610
Analyze Your Data Embed and Customize CRM Analytics
For example:
filter="{'datasets' : {'Sales': [ {'fields':['Region', 'Stage'], 'selection': [ ['West',
'Prospecting'], ['North', 'Qualification'] ]}]}}"
Refer to the table to understand the notation for the filter attribute.
Tip: This is a new syntax as of Spring ‘17. The previous syntax, noted here, is still supported.
fields Dimension or Measure in the Where to find it: Click the Explore icon to open the widget. Then
CRM Analytics dataset select Show SAQL from the Options menu. For dimension names,
look for “group by” statements. For measure names, look for
statements with functions such as “sum” or “stddev.”
values Field in the Salesforce object, or Where to find it: In Setup, find the object you want, and select Fields.
a specific value Use the Field Name (also known as the API Name). For custom
fields, use the name with “__c” at the end.
selection With the selection option, the The selection option can be used alone or with the filter option.
dashboard is shown with all its Selection takes dimension values only. To use this option, the
data, and the specified dimension dashboard must include a list, date, or toggle widget that groups
values are highlighted by the specified dimension. If a selection specifies a value that doesn't
exist, or the dashboard doesn’t include a list, date, or toggle widget
that groups by the specified dimension, then the selection input is
ignored and the dashboard appears with all its data and no selection.
filter With the filter option, the The filter option can be used alone or with the selection option.
dashboard is shown with only Filter takes dimension or measure values.
filtered data
operator Use with the filter option Supported operators for dimensions: in, not in, matches
Supported operators for measures: ==; !=; >= ; > ; <= ; <
Note: To filter on a field that contains special characters, use Visualforce's JSENCODE function in the filter to replace special
characters with encoded values.
1611
Analyze Your Data Embed and Customize CRM Analytics
For example, this syntax applies the name of the account in the Visualforce page as a selection on the dashboard:
filter="{'datasets': {'Account':[{'fields':['Name'], 'selection':['{!Account.Name}']}]}}"
This example syntax applies the name of the account in the Visualforce page as a filter so that the dashboard shows only the filtered
data:
filter="{'datasets': {'Account': [{'fields':['Name'], 'filter':{'operator': 'matches',
'values':['{!Account.Name}']}}]}}"
Note: The preceding syntax is new in Spring ‘17. The previous syntax continues to be supported, and it works the same as the
new selection option. For reference, here’s the previous syntax:
filter="{ 'datasetSystemName1': {'field1': ['!value1']}, 'datasetSystemName2': {'field1':
['!value1', '!value2'],'field2': ['!value3']} }"
For example:
filter="{'opportunity': {'Id': ['{!Opportunity.Id}']}}"
and
filter="{'ServiceCase4': {'Id': ['{!case.Id}'], 'OwnerId' : ['{!case.OwnerId}'],
'Product__c' : ['{!case.Product__c}'], 'Reason' : ['{!case.Reason}']}}"
For more information about embedding Analytics, see the Visualforce Developer Guide Standard Component Reference.
Second, set up an allowlist using the Content Security Policy (CSP). See Set Up an Allowlist of Trusted Sites for Embedded CRM Analytics
Dashboards .
The allowlist for embedded analytics includes the following by default:
• *.salesforce.com:*
• *.salesforce-sites.com:*
• *.site.com:*
• Your org’s company-specific My Domain or custom domain.
Note: You can use a token to pass a value from the parent page. If the token resolves to multiple values, the resolved values are
properly reflected in the resulting filter string.
1612
Analyze Your Data Embed and Customize CRM Analytics
Filter Syntax
Use this syntax for filtering on dimensions. Example values syntax for measures and dates for both filters and selections follow further
down.
{"datasets" : {
"dataset1": [
{
"fields": ["field1"],
"filter": {
"operator": "in",
"values": ["$value1", "$value2"]
}
}
]
}
}
In this example, the dashboard filters the account name on the record page and shows only data related to that account name.
{"datasets": {
"account":[
{
"fields":["Name"],
"filter": {
"operator": "matches",
"values":["$Name"]
}
}
]
}
}
Selection Syntax
With the selection option, the dashboard shows with all its data, and the specified dimension values are highlighted. The selection option
can be used alone or with the filter option. Selection takes dimension values only. To use this option, the dashboard must include a
query (step) of the specified id that groups by the specified group name. If a selection specifies a value that doesn't exist or if the query
itself is unused (for instance, not attached to any widget), then the selection input is ignored and the dashboard appears with no selection
applied.
This example applies the account name as a selection. With the selection option, the dashboard displays all of its data, and the specified
values appear highlighted or selected within the dashboard.
{"steps" : {
"Account_Step":
{
"metadata": {"groups": ["Name"]},
"values": ["$Name"]
}
}
}
1613
Analyze Your Data Embed and Customize CRM Analytics
Use this syntax for filtering or selecting with relative date range values.
{
...
"values": [["year", 0], ["year", 2]]
...
}
Use this syntax for filtering or selecting with open-ended relative date range values.
{
...
"values": [null, ["year", 2]]
...
}
Use this syntax for filtering or selecting with absolute date range. Use epoch times for this range.
{
...
"values": [[1581033600000, 1585353600000]]
...
}
steps The step names to reference for the selection. Steps Where to find it: In Analytics Studio, select Edit on
have metadata and values, described in the the dashboard. Select the widget to apply the
Steps Notation table. selection on. The step name is ID value on the Query
tab.
1614
Analyze Your Data Embed and Customize CRM Analytics
filter The filter to apply to the dashboard data. Filters have The filter takes dimension or measure values,
operators and values, described in the Filter described in the next table.
Notation table.
values The values to use for the filter. These values can be Where to find it: In Setup, find the object you want,
statically specified or inserted dynamically from the and select Fields. Use the Field Name, also known
page context using the $ prefix like as the API Name. For custom fields, use the name
$<FieldName>. with “__c” at the end.
values The list of step values to use for the selection. These Where to find it: In Setup, find the object you want,
step values can be statically specified or inserted and select Fields. Use the Field Name, also known
dynamically from the page context using the $ prefix as the API Name. For custom fields, use the name
like $<FieldName>. with “__c” at the end.
Note: The preceding syntax became available in Spring ‘17. The previous syntax remains supported, and it works the same as
the new selection option. The new syntax is recommended for use, as it has better performance. For reference, here’s the previous
syntax:
{ "datasetSystemName1": {"field1": ["$value1"]}, "datasetSystemName2": {"field1":
["$value1", "$value2"],"field2": ["$value3"]} }
For example:
{"opportunity": {"AccountId': ["$Id"]}}
1615
Analyze Your Data Embed and Customize CRM Analytics
Prevent users from exposing more data by locking or hiding filters. With the Locked option, the Filters menu appears in the embedded
dashboard header, but users can’t modify or delete the filters. With the Hidden option, the Filters menu doesn’t appear in the embedded
dashboard header.
Locked and hidden options can only be used for filters and not for selections. Add the options in the filter’s JSON with a boolean value.
For example, “locked”:false,”hidden”:true
When setting up locked or hidden filters for embedded dashboards, keep in mind these considerations.
• Locked and hidden filters are applied on the dashboard. If a filter makes a field visible, users see the field even when you’ve restricted
access to filters with one of these options.
• Locked and Hidden options aren’t automatically applied in linked dashboards or lens explorations. The options are applied only on
the dashboard where specified.
• Locked and Hidden options are applied to a dashboard when embedded or when opened in CRM Analytics Studio or Analytics tab.
• When locked or hidden filters are applied to the dashboard, the My Views menu isn’t visible to users.
Note: Selecting a Salesforce record action in a CRM Analytics dashboard opens the record in a new Lightning Experience tab. To
open in a new browser tab, select the Open Salesforce records in new browser tabs setting in Setup.
1616
Analyze Your Data Embed and Customize CRM Analytics
CRM Analytics supports the following object and global actions defined in Salesforce:
• Create, update, and change owner actions for object records. Global quick actions aren’t supported.
• Log a Call actions.
• Custom actions to invoke flows, Lightning components, and Visualforce Pages. Canvas apps aren’t supported. Lightning components
that use Lightning events, like force:createRecord or lightning:navigate, are supported in embedded dashboards,
but not in Analytics Studio.
• Standard Chatter actions except for File.
Actions assigned to a page layout for the User object aren’t supported. Actions are only available for the local org, and aren’t supported
for multi-org records. Actions are configured from a dataset or from the table chart view in a lens.
Important: Some actions result in a dashboard refresh. For dashboards with multiple pages, the refresh can result returning to
the home page.
• Configure actions from a dataset
– Edit the dataset.
1617
Analyze Your Data Embed and Customize CRM Analytics
–
Click the Configure Actions button ( ).
– In the left pane, select the dataset field where you want the action menu to appear.
1618
Analyze Your Data Embed and Customize CRM Analytics
From the table view in a lens, from the dimension column’s action menu, select Configure Actions.
• In the Record ID Field, select the dataset field that contains the record ID of the object that you want to perform the action on.
For instance, if the dataset has Opportunity ID and Account ID fields, select Account ID to perform actions on the account records.
CRM Analytics uses the ID to identify the Salesforce object and record to perform the action on.
Note: In values tables, CRM Analytics uses the ID from the table row to perform the action on if the record ID field used in
the Configure Actions setup is included in the query.
• In Display Fields, choose which dataset fields to show users. An action can apply to multiple Salesforce records. Specifying the dataset
fields narrows the choices and helps users pick the correct record to perform the action on.
For example, if you enable actions on opportunity records, you can show the opportunity name, account name, and opportunity
owner name to help users pick the right opportunity.
• To let users open a Salesforce record or URL, select Open Salesforce record, choose the action in the Open field, and then enter a
tooltip. Users see the tooltip when they hover over the action in a CRM Analytics lens or dashboard.
1619
Analyze Your Data Embed and Customize CRM Analytics
Action Description
Salesforce Record Opens the Salesforce record. CRM Analytics searches for the
record in the same org where it’s running.
Salesforce Record (Multiple Orgs) Opens the Salesforce record from another org. If the dataset
contains records from multiple orgs, select this option. In the
Org ID Field, select the dataset field that contains the org ID. To
enable CRM Analytics to connect to each org, select Manage
Orgs and specify the URL for each org.
For example,
http://www.google.com?q={{row.AccountName}}
If you don’t specify the URL, CRM Analytics uses the org’s URL.
For example, you can specify the following parameter to open
the Account record in Salesforce:
/{{row.AccountId}}
• To enable users to perform actions on a Salesforce record, select Perform Salesforce actions and then choose the actions. The list
of actions varies based on the object identified by the Record ID Field.
1620
Analyze Your Data Embed and Customize CRM Analytics
Option Description
All actions Adds all actions defined in the page layout for this object,
including new ones created later.
Note: The list contains a superset of all actions defined in all page layouts for the Salesforce object. Actions are only available
for the local org, and aren’t supported for multi-org records.
Note: A CRM Analytics user sees only the actions that you select and that are assigned to their page layout. If the predefined
actions are overridden for the Salesforce mobile app and Lightning Experience in a page layout, CRM Analytics displays only
the actions that are added to both the Quick Actions in the Salesforce Classic Publisher and the Salesforce Mobile and Lightning
Experience Actions sections of the layout.
1621
Analyze Your Data Embed and Customize CRM Analytics
• Click Save.
1622
Analyze Your Data Embed and Customize CRM Analytics
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
To create actions:
• Customize Application
1623
Analyze Your Data Embed and Customize CRM Analytics
5. Click Save.
The next page shows the default fields that you can update. For the example, add the Probability (%) and Type fields.
6. Drag Probability (%) and Type below the Stage field in the workspace. To select multiple fields, hold down Ctrl (for Windows) or
Cmd (for macOS).
1624
Analyze Your Data Embed and Customize CRM Analytics
7. Click Save.
You added the Update Opportunity action to the Opportunities object. Next, you add it to a page layout to determine which users
can see the action.
USER PERMISSIONS
To view visualizations:
• Use CRM Analytics
To create actions:
• Customize Application
3. Edit the page layout assigned to the profile for the users for whom you want to access the action.
For this example, edit the Opportunity Layout, which is assigned to the Standard User profile. Users who are assigned the other
opportunity page layouts can’t see this custom action, unless you apply the action to those page layouts.
4. To open the layout, click the Opportunity Layout link next to a profile. It doesn’t matter which profile.
5. In the palette, click Quick Actions to select the actions to add to the layout.
The available actions appear to the right.
6. Drag the Update Opportunity custom action to the existing actions in the Quick Actions in the Salesforce Classic Publisher section.
1625
Analyze Your Data Embed and Customize CRM Analytics
7. If the predefined actions are overridden in the Salesforce app and Lightning Experience Actions section, you must also drag the
action to that section.
If the predefined actions are overridden, Analytics shows only the actions that appear in both the Quick Actions in the Salesforce
Classic Publisher and Mobile & Lightning Actions sections.
8. Click Save.
This action is now available on the Opportunity details page for all users assigned the Opportunity Layout.
1626
Analyze Your Data Embed and Customize CRM Analytics
Note: If a page layout is based on a record type that certain users can’t access, actions for that type aren’t available to them.
1627
Analyze Your Data Embed and Customize CRM Analytics
2.
Click the Configure Actions button ( .
3. In the left pane, select the dataset field where you want the action menu to appear.
1628
Analyze Your Data Embed and Customize CRM Analytics
4. In the Record ID Field, select Opportunity Id, which is the dataset field that contains the record ID of the Opportunity object.
5. In Display Fields, select the dataset fields to show if multiple records match the action. Users can review this information to determine
which Salesforce record to perform the action on. To help users identify the correct opportunity record, show Opportunity ID,
Opportunity Name, Opportunity Owner, and Account Name.
6. To enable users to perform actions on a Salesforce record, select Perform Salesforce actions and then select Choose actions.
7. Select Update Opportunity.
8. Click Save.
Note: The SAQL query that CRM Analytics passes usually contains a limit. To return more results, modify the limit statement
in the SAQL query.
2. You write custom Visualforce and, if needed, Apex code to extract the SAQL query.
Tip: When issuing a CRM Analytics API request for the SAQL query, if most of your logic is in Javascript on the client side, then
you should use AJAX from Javascript. If most of your logic is in Apex, then use HTTP from your Apex class.
3. Your code executes the SAQL query against the CRM Analytics Query API.
4. The CRM Analytics API returns the results of the query—dataset rows—to the Visualforce page.
1629
Analyze Your Data Embed and Customize CRM Analytics
5. You write more custom code that performs actions on the returned dataset rows. For example, you can perform a bulk edit, bulk
create, or integrate with third party.
Note: Bulk actions only work on steps that query datasets. If the table widget is built on a step with type static or soql, the
action doesn’t work.
Note: This widget-level action menu is different from the record-level action menu that you can access from a record.
To keep the user informed of what is happening, the action must also display a Visualforce page that shows the progress of the following
tasks.
1. The Visualforce page retrieves a list of accounts from the SAQL query used to populate the table widget. If the table widget’s results
were previously filtered because of selections in other dashboard widgets, only the filtered records are returned.
1630
Analyze Your Data Embed and Customize CRM Analytics
3. The Visualforce page shows the opportunity created for each account.
1631
Analyze Your Data Embed and Customize CRM Analytics
/* To determine the records to perform the bulk action on, extract the SAQL query */
public PageReference init() {
query = ApexPages.currentPage().getParameters().get('query');
return null;
}
/* Takes the account records from the SAQL query, creates an opportunity for each account,
and then returns a map between account ID and new opportunity name. Note: Account.Name
and AccountId referenced below refer to the dataset field names. Update them to match
your dataset fields. */
@RemoteAction
public static Map<String, String> create(List <Map<String, String>> accountRecords)
{
Map<String, String> result = new Map<String, String>();
1632
Analyze Your Data Embed and Customize CRM Analytics
like Amount. */
Name = name,
Type ='New Customer',
AccountId = Id.valueOf(accountId),
CloseDate=Date.valueOf('2016-12-31'),
StageName='Prospecting');
opps.add(opp);
}
insert opps;
return result;
}
}
5. Click Save.
1633
Analyze Your Data Embed and Customize CRM Analytics
}
h4 {
font-size: 24px;
}
table {
font-size: 20px;
width: 100%;
}
</style>
<div class="container-fluid">
/* Add HTML table to the Visualforce page that shows the accounts, the opportunity
creation status, and then finally the new opportunity name */
<h4 id="message">Querying Accounts...</h4>
<table name="results" id="results" data-role="table" class="table-bordered
table-striped table-responsive">
<thead><tr><th>Account</th><th>Opportunity</th></tr></thead>
<tbody></tbody>
</table>
</div>
<script>
$(function() {
$.ajaxSetup({
headers: {"Authorization": 'Bearer {!$Api.Session_ID}'}
});
setTimeout(executeQuery, 1000);
});
/* Executes the SAQL query and displays the resulting accounts. Note: Account.Name and
AccountId referenced below refer to the dataset field names. Update them to match your
dataset fields. */
function executeQuery() {
var query = {};
query.statements = "{!JSENCODE(query)}";
var queryObj = {query: query.statements};
$.ajax({
type: 'POST',
url: '/services/data/v39.0/wave/query',
data: JSON.stringify(queryObj),
contentType: 'application/json',
success: function(data) {
$('#message').html('Creating Opportunities...');
var record = null;
var row = null;
$('#results tbody').empty();
1634
Analyze Your Data Embed and Customize CRM Analytics
$('#results tbody').append(row);
}
setTimeout(function() {createOpportunities(data.results.records);},
1000);
},
});
}
/* Calls the Apex controller method that creates opportunities for each account and
returns the opportunity name for each account to the HTML table. */
function createOpportunities(accountRecords) {
CreateOpportunitiesController.create(accountRecords, function(result, event)
{
console.log(result);
if (event.status) {
for (var i = 0; i < accountRecords.length; i++) {
$('td.' +
accountRecords[i].AccountId).html(result[accountRecords[i].AccountId]);
}
$('#message').html(accountRecords.length + ' Opportunities Created');
}
else {
$('#message').html('Error: ' + event.message);
}
});
}
</script>
</apex:page>
6. Click Save.
Property Description
Custom Action Label Label for the action in the action menu.
Visualforce Namespace Prefix Optional. Namespace prefix specified for the Visualforce page.
1635
Analyze Your Data Embed and Customize CRM Analytics
Configure Mass Quick Actions on Multiple Salesforce Records from CRM Analytics Dashboards
Sometimes users want to perform the same quick action on a list of records. With CRM Analytics mass actions, users can save time by
performing a quick action on up to 100 records at once from a step in CRM Analytics.
To use mass quick actions in CRM Analytics, configure mass actions for your selected Salesforce object. See Set Up a Mass Quick Action
for configuration details.
After you configure mass quick actions in your org, you can add a mass action link widget for your dashboard users.
Your dashboard must contain a step for the configured object, with a query that returns the record ID.
Note: Any step works with the mass quick action link, but the table chart provides the best visibility to the list of objects to perform
a quick action on. It’s also best practice to include filtering that reduces the list of actionable records to 100 records or less. If more
than 100 records are returned in the table query, the mass quick action is performed only on the first 100 actions.
In the CRM Analytics Studio, clicking a mass action link widget in a dashboard opens the action window for a user to perform quick
actions on a list of records. The list of records is returned by step query from a table or chart and can be filtered using global filters or
selection facets from other charts.
1. Drag the link widget to the dashboard canvas.
2. To change the widget properties, select the widget.
1636
Analyze Your Data Embed and Customize CRM Analytics
3. In the Text field, enter the label that appears on the link widget.
Note: It’s best practice to make the label match the selected action so the user understands what action the link performs.
4. In the Link To field, select Mass Action and then the step to perform the mass action on.
5. In the Action Column field, select the record ID. If the selected step query doesn’t return the record ID, the action column appears
empty. Select the record ID for the mass quick action to function correctly.
6. In the Salesforce Actions field, select the mass quick action to perform when your link is clicked. The action menu is only populated
when mass quick actions are configured for the List View layout of the object.
7. To customize the appearance of the widget, set the widget properties.
8.
To preview your changes to the dashboard, click .
9. Save the dashboard.
1637
Analyze Your Data Embed and Customize CRM Analytics
In existing orgs, set up the CRM Analytics tab as you would any new tab.
1638
Analyze Your Data Embed and Customize CRM Analytics
1639
Analyze Your Data Embed and Customize CRM Analytics
Format Measures and Display Elements with CRM Analytics Extended Metadata (XMD)
Set up your data and customize dashboard elements with CRM Analytics Extended Metadata.
Extended metadata (XMD) enables you to customize the formatting of dataset fields and their values in CRM Analytics dashboards and
lenses. If you modify the XMD for a dataset, every UI visualization that uses the dataset shows the modified format.
1640
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Create and Share CRM Analytics Apps to Give Business Users a Big Data
Picture
CRM Analytics apps are purpose-built sets of analyses and answers that tell a story about a specific area of your business.
With CRM Analytics apps, you can provide curated paths through your data, plus powerful tools for spontaneous, deep explorations.
After creating dashboards, lenses, and datasets, you can organize them in apps to present dashboards in relevant order, and then share
apps with appropriate groups.
Build your own CRM Analytics apps that contain datasets, dataflows, recipes, lenses, dashboards—the assets you create in CRM Analytics
Studio. Apps can also include Einstein Discover stories. Or, select a prebuilt app from Salesforce, such as Sales Analytics or Service Analytics,
as a starting point for your CRM Analytics solutions. Either way, CRM Analytics apps let you bundle Analytics assets and share them with
other people in your organization.
App-Level Sharing
CRM Analytics apps are like folders, allowing users to organize their own data projects—both private and shared—and control
sharing of dataset, lenses, and dashboard.
Create an App
Create an app to organize and contain any combination of lenses, dashboards, and datasets.
Set Up Navigation Through Your App
Customize app navigation so that users can easily find the dashboards and lenses that are targeted for them.
Share an App
To enable others to see a lens, dashboard, or dataset, one way to share is by sharing the app it’s in.
Control Who Sees What in an App with Asset Visibility
App Managers and Editors can use the Asset Visibility feature to control the visibility of select assets. Asset visibility is limited for users
that are assigned ‘Viewer’ sharing access. Assets remain visible to app Managers and Editors regardless of the asset’s status.
Delete an App
If you have Manager access to an app, you can delete it. Deleting an app permanently removes all of its lenses, dashboards, and
datasets from CRM Analytics.
Create and Manage CRM Analytics Templates in Analytics Studio
CRM Analytics gives you a great way to leverage your CRM Analytics app development efforts because it allows you to create a
template of your app. Instead of recreating your work, other organizations can use your template to create their own version of your
app, built on their own data and org customizations.
1641
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
App-Level Sharing
CRM Analytics apps are like folders, allowing users to organize their own data projects—both private and shared—and control sharing
of dataset, lenses, and dashboard.
All CRM Analytics users start off with Viewer access to the default Shared App that’s available out of the box; administrators can change
this default setting to restrict or extend access. Each user also has access to a default app out of the box, called My Private App, intended
for personal projects in progress. The contents of each user’s My Private App aren’t visible to administrators, but dashboards and lenses
in My Private App can be shared.
All other apps created by individual users are private, by default; the app owner and administrators have Manager access and can extend
access to other users, groups, or roles.
Here’s a summary of what users can do with Viewer, Editor, and Manager access.
Explore datasets that the user has Viewer access to and save lenses to an X X X
app that the user has Editor or Manager access to
Save contents of the app to another app that the user has Editor or Manager X X X
access to
Save changes to existing dashboard, lenses, and dataset in the app (saving X X
dashboard requires the appropriate permission set license and permission)
Important: When users are deactivated, they lose share and delete access to all apps they manage. To avoid "stranding" an app,
be sure that manager access is assigned to at least one active user BEFORE deactivating the user who's the manager of the app.
1642
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Create an App
Create an app to organize and contain any combination of lenses, dashboards, and datasets.
EDITIONS
1. On the home page, click Create.
Available in Salesforce
2. Select App.
Classic and Lightning
3. Click Create Blank App, and then click Continue. Experience.
To start from a template, see Create Apps from CRM Analytics Templates on page 1658.
Available with CRM
4. Enter the name of your app, and click Create. Analytics, which is available
Your app is created and displayed in a new tab. You can now save lenses, dashboards, and for an extra cost in
datasets in the app. Enterprise, Performance,
and Unlimited Editions. Also
Note: App names have a 40 character limit.
available in Developer
Edition.
5. Click the Details sub-tab.
6. Add a description of the app’s purpose and contents so that your colleagues understand how
to use the data. USER PERMISSIONS
a. Click the pencil icon in the description field. To create an app:
b. Type a description. • Create CRM Analytics
The description is automatically saved. Apps
7. Change the app’s default icon to make it easier to distinguish from other apps.
a. Click the default icon.
b. Select an icon from the gallery.
The new icon is automatically saved.
Important: When users are deactivated, they lose share and delete access to all apps they manage. To avoid "stranding" an app,
be sure that manager access is assigned to at least one active user BEFORE deactivating the user who's the manager of the app.
1643
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
USER PERMISSIONS
4. Change the presentation order by sliding the Selected Assets up or down. To add an available dashboard or lens to the navigation
list, select it and click the right arrow. To hide an asset from the navigation list, select it and click the left arrow.
5. To retain the navigation for your app, click Save.
Share the app with colleagues or customers. When they run the app, it starts with the first asset in your navigation list.
1644
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Share an App
To enable others to see a lens, dashboard, or dataset, one way to share is by sharing the app it’s in.
EDITIONS
1. On the app page, click the Share button.
Available in Salesforce
2. On the Give Access tab:
Classic and Lightning
a. Choose whether you’re sharing the app with a user, group, or role. Experience.
b. Start typing the name and select from the suggested matches. Available with CRM
c. Choose the level of sharing access: Viewer, Editor, or Manager. Analytics, which is available
for an extra cost in
d. Click Add.
Enterprise, Performance,
e. Click Save, then click Done. and Unlimited Editions. Also
available in Developer
Important: When users are deactivated, they lose share and delete access to all apps they Edition.
manage. To avoid "stranding" an app, be sure that manager access is assigned to at least one
active user BEFORE deactivating the user who's the manager of the app.
USER PERMISSIONS
Control Who Sees What in an App with Asset Visibility To share an app:
• Use CRM Analytics and
App Managers and Editors can use the Asset Visibility feature to control the visibility of select assets.
Manager access to the
Asset visibility is limited for users that are assigned ‘Viewer’ sharing access. Assets remain visible to app
app Managers and Editors regardless of the asset’s status.
1. Hide an asset in an app.
a. Open the app and locate the asset to update.
b. Click the row level action dropdown menu.
c. Change the asset’s visibility by clicking Hide.
Hidden assets display a transparent state giving app managers an at-a-glance view of an asset’s status. Asset status is also available
in the asset tooltip.
1645
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
As an app manager, the asset visibility settings go beyond the shared app and impact other areas of CRM Analytics for app members
with Viewer status. Consider the following before updating asset status.
Analytics Studio
• Hidden assets aren’t available in CRM Analytics Home, which includes Recent Dashboards, Favorites, Created by Me, Shared with
Me
• Hidden assets can’t be browsed, seen in All Items, or any other list
• Hidden assets don’t appear in search results, including pop-over and the full search results page
• Users can access hidden dashboards that are embedded (included in a Salesforce page or report)
• If the dashboard is embedded users can add items from a hidden dashboard to a watchlist
• Users receive a “Resource not found” error while navigating to a hidden source dashboard from watchlist or notification
• Users can define notifications and subscriptions using items from a hidden dashboard that’s embedded
Analytics Tab
• Hidden assets aren’t available in Recents
• Hidden assets don’t appear in a search’s most recently used (MRU) pop-over
• Access is blocked to hidden assets in Salesforce global search results, including pop-over and the full search results page
Salesforce Mobile
• Users can access hidden dashboards that are embedded in a Salesforce page
Asset Types
• Asset visibility can be managed for datasets, lenses, and dashboards
1646
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Delete an App
If you have Manager access to an app, you can delete it. Deleting an app permanently removes all
EDITIONS
of its lenses, dashboards, and datasets from CRM Analytics.
1. Open the app, and then click Delete. Available in Salesforce
Classic and Lightning
Warning: You can’t recover a deleted app. Experience.
If applicable, CRM Analytics lists the lenses and dashboards outside of your app that will be Available with CRM
affected. When the datasets belonging to your app are deleted, any lens or dashboard that Analytics, which is available
references those datasets becomes unusable. for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
To delete an app:
• Use CRM Analytics and
Manager access to the
app
Important: Only lenses and dashboards to which you have access appear in the list. If
you don’t have access to them, lenses and dashboards aren’t listed even though they
have references to datasets in your app.
Note: Template creation is also supported with the CRM Analytics REST API and the SFDX Analytics CLI plugin. For more information,
see CRM Analytics Development Tools.
Important: If you want to edit the template files to include features that let others customize the version of the app that they
create from your template, you must use development tools. These tools include Visual Studio Code and the Analytics CLI plugin.
For more information, see the CRM Analytics Templates Developer Guide.
Create a Template
Create a template to package your app for customization and distribution to other organizations. The app you choose to create a
template for is called the source app.
Managing Your Templates
Existing templates that you or other CRM Analytics admins created are manageable from CRM Analytics Studio. You can update,
decouple from source apps, and delete templates. Before they can be deleted, templates must be decoupled from their source app.
1647
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Create a Template
Create a template to package your app for customization and distribution to other organizations.
EDITIONS
The app you choose to create a template for is called the source app.
Important: Before following these steps, read the considerations for creating a template. Available in Salesforce
Not all apps are appropriate for templatization, and customizing a template requires the use Classic and Lightning
Experience.
and knowledge of developer tools
1. Navigate to Analytics Studio. Available with CRM
Analytics, which is available
2. Open your app, click Create, then Template. If a template exists for your app or the app was for an extra cost in
created from an existing template, the Template selection doesn’t appear in the create menu. Enterprise, Performance,
3. Review the next screen. It asks if you’re sure that you want to create the template. If you’re sure, and Unlimited Editions. Also
click Create. If not, click Close or the X in the upper right corner available in Developer
After clicking Create, the screen displays a Creating Template progress indicator. If there are Edition.
any errors in creation, you’re notified and the template creation fails. When template creation
completes successfully, the screen closes with a notification that the template is complete.
USER PERMISSIONS
4. Find your template on the Analytics Studio home page by clicking All Items and then selecting
the Templates tab. To create and manage
templates:
• CRM Analytics Growth
permission set license
with Manage CRM
Analytics Templated
Apps user permission
1648
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Template Considerations
• Template development is an iterative process, with creation as the first step. Modifications aren’t always necessary, but to take
advantage of template customization features, you must understand CRM Analytics Templates and how to design them. For more
information, see Why Analytics Templates
• To edit template files for customization, you need familiarity with JSON and Salesforce developer tools. For more information, see
CRM Analytics Development Tools.
• As with any development process, starting early is a good idea. Don’t wait until your source app is perfect before creating a template
from it. Add some data and a dashboard, then create the initial template. Update that template periodically after adding features to
the source app.
• If you’re not planning on making one template dependent on another, make sure that all the app’s assets reside in the source app.
Assets include datasets that are used in dashboards, datasets that are referenced in dataflows, links from one dashboard to another,
and images that are used in multiple places. Don’t reference any assets from the Shared App or your Private App. For more information
on template dependencies, see Share CRM Analytics Assets Between Apps.
• If you’re planning to take advantage of the template dependency framework, make sure that any apps that your source app depends
on have also been made into templates. And make sure that your installation documentation includes a prerequisite to install those
supporting apps.
1649
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
• If you have a dataflow that references data from a connected dataset, make sure that you understand how to use that connector in
a template and how to install that connector in a subscriber org. For more information, see Add a Remote Connector to a CRM
Analytics Template.
• Any CSV files that the template needs must be recently uploaded by the same user who is creating the template.
• Make sure that the source app only uses features that are supported by CRM Analytics templates. Features that aren’t currently
supported include:
– Custom Maps and Charts
– Using recipes in templates is available, but recipes are complex and some use cases are problematic when templatized. We
recommend you use dataflows for all Digest nodes and design recipes to run using the datasets output from the dataflows as
their inputs.
– Einstein Discovery Stories (Stories are supported in templates, but they aren’t added to the template on creation. They must be
added manually during template customization. For more information, see Add an Einstein Discovery Story to a CRM Analytics
Template.)
1650
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
1651
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
SEE ALSO:
Salesforce DX Developer Guide: Second-Generation Managed Packages
Tip: Remember, this topic describes how to migrate CRM Analytics assets—such as lenses, customized dashboards, dataset
containers, and so on. It does not discuss migrating Salesforce or CRM Analytics data from org to org. Where this topic refers to a
CRM Analytics dataset, what actually gets migrated is the container; the dataset metadata.
To migrate CRM Analytics assets:
1. Create and test your CRM Analytics assets in your source org, such as Sandbox. Note that assets in the Private App aren’t available
for change sets.
2. From Setup in your source org, select Outbound Change Sets and create a new one.
3. Click Add in the Change Set Components section, then use the Component Type drop-down list to select and add your CRM
Analytics assets to the change set. Each asset type is prefixed with “Analytics.” Note that you must add dependent dataflows manually.
That is, if you add a dataset to a change set, the associated dataflows are not automatically picked up.
1652
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
Important: Analytics components include Analytics applications, dashboards, dataflows, datasets, lenses, recipes, and user
XMD. As you package Analytics components, keep these tips and best practices in mind.
• Analytics unmanaged packages, as opposed to managed packages, are considered a developer-only feature and aren’t
supported for general-purpose distribution. While Analytics unmanaged packages work as expected within the constraints
of Salesforce unmanaged packages, they aren’t subject to as much testing as managed packages. Unmanaged packages
come without many of the safeguards of managed packages, and are intended for developers familiar with their limitations.
Also refer to the relevant topic in the First-Generation Managed Packaging Developer Guide.
• Before a recipe is available for packaging, you must create a dataset with the recipe. The related dataflow must be added
to the package along with the recipe for deployment to succeed.
• Analytics Admin permissions are required to create a package but not for deployment, which requires only Salesforce
admin permissions.
• There’s no spidering between datasets and dataflows, meaning there’s no dependency following. When packaging both,
they must be added manually. If they aren’t, an error appears during deployment. The same is true for change sets—when
packaging both datasets and dataflows, add them manually.
• When you package a data flow, source and security predicates aren’t included in the package.
• Because views are user-specific, they aren’t included when you package the dashboard.
• If you migrate dashboards manually using JSON copy-and-paste, any conditional formatting, widget-specific number
formats, and measure labels on blended queries are lost. To retain these formats and labels in the migrated dashboard,
include the Analytics Dataset Metadata component type when packaging your change set.
• All custom fields used in a deployed dataflow must exist on the target org. The Analytics Cloud Integration User user must
have access to the custom fields.
1653
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
• Unlike Apex or other code, the underlying JSON definition of Analytics assets are visible in a managed package.
• The Winter ’18 release contains a beta version of Apex steps, which lets developers include custom Apex functionality in
a dashboard to access Salesforce platform features that aren’t inherently supported in Analytics. If you include dashboards
in a package, Apex steps aren’t included—migrate Apex classes separately.
• Before the Spring ’17 release, images didn’t render when deploying a dashboard that used an image widget that referenced
image files not available on the target org. There were two workarounds: Manually upload the images, or add a folder
containing the images to the package. As of the Spring ’17 release, images are packaged with the dashboard, and references
between dashboards are maintained. You can’t delete a dashboard that is referenced in a link. Either re-create the image,
or link the widgets in the dashboard in the source org. Then repackage or fix the link issues in the target org.
• Take care when packaging dataflows. Invalid schema overrides and unsupported or illegal parameters are removed. For
example, Type = dim is no longer supported. Use Type = text instead. Comments in JSON are removed. Nodes
can appear in a different order.
4. Click View/Add Dependencies to ensure all dependent assets and appropriate permission sets and profile settings are added.
5. Click Upload and select your target org, such as Production. Make sure that the target org allows inbound connections. The inbound
and outbound orgs must have a deployment connection.
6. From Setup in your target org, select Inbound Change Sets and find the one you uploaded from your source org.
7. Validate and deploy the change set, making sure to assign the right users to any permission sets and profiles you included. Your
CRM Analytics assets will be available in the target org.
For details on using change sets to migrate configuration changes between orgs, view the Release Management: Deploying Changes
Using Change Sets (Salesforce Classic) video.
SEE ALSO:
Change Sets
Change Sets Best Practices
Deploy Outbound Change Sets
Deploy Inbound Change Sets
1654
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
</types>
<version>43.0</version>
</Package>
For the asset XMD <types> node, <members> specifies the dashboard dev name and <name> specifies the metadata type for
an asset XMD.
If you don’t add the asset XMD to package.xml, the dashboard migrates without conditional formatting. If needed, you can reapply the
conditional formatting to the dashboard in the target org.
Important: Analytics components include Analytics applications, dashboards, dataflows, datasets, lenses, recipes, and user
XMD.
Note: All custom fields used in a deployed dataflow must exist on the target org. The Analytics Cloud Integration User user
must have access to the custom fields.
3. To ensure all dependent assets and appropriate permission sets and profile settings are added, click View Dependencies.
4. After your apps are packaged, prepare them for distribution.
SEE ALSO:
Salesforce DX Developer Guide: Managing Licenses for Managed Packages
1655
Analyze Your Data Create and Share CRM Analytics Apps to Give Business Users
a Big Data Picture
2. When your package is ready, click Upload, then fill in the required information.
3. Add version specifics, including the name (usually a description and date) and the version number.
4. Choose the release type—Managed - Beta or Managed - Released—and an appropriate version number.
The Managed - Beta type is for testing, usually with a subset of customers, and allows changes that the Managed - Released type
does not.
Use the AppExchange and the License Management Application (LMA) to manage user-based licenses. You can request the application
through your partner community site.
SEE ALSO:
Salesforce DX Developer Guide: Second-Generation Managed Packages
Security Review Overview
Salesforce DX Developer Guide: Managing Licenses for Managed Packages
Use the Metadata API for CRM Analytics Assets and User XMD
CRM Analytics provides full support for the Metadata API, which can be used to retrieve, deploy, create, update, or delete customizations
for your organization.
Every time your Salesforce organization is customized, its metadata is modified. Editing page layouts, creating a custom field, or adding
a CRM Analytics dataflow are all metadata updates. Metadata is the information that describes the configuration of your organization
and of your CRM Analytics assets. It’s data about your data. For example, the metadata type WaveLens includes properties that describe
the lens—what dataset it uses, the label of the dashboard, what visualization widget type it uses (pivottable, stackvbar, heatmap, and
so on).
You can create your own custom metadata types, which enable you to create your own setup objects whose records are metadata
rather than data. Rather than building apps from data records in custom objects or custom settings, you can create custom metadata
types and add metadata records, with all the manageability that comes with metadata: package, deploy, and upgrade.
You can create dashboards with reusable components. These components are a type of dashboard widget that contain other widgets,
pages, and Lightning Web Components. The metadata type WaveComponent allows you to create and distribute dashboard
components via packages and change sets.
While the Metadata API is the foundation on which change sets and packaging is built, developers can use the Metadata API to manipulate
their CRM Analytics assets. For example, your application could retrieve metadata about your dashboards and back it up to (and restore
from) some repository, effectively providing version control.
You can package and deploy user XMD too. User XMD is a JSON document that allows an application to override certain metadata for
a dataset. You can govern settings to control how the data is presented—for example, colors, formats, and labels. To deploy the overridden
dataset metadata, you must package the user XMD attributes. Metadata API support allows migration tools to migrate datasets with
user XMD between orgs—for example, you can migrate user XMD overrides from sandbox to production. Partners can deploy their
application-specific user XMD with their AppExchange package. They retain control of the user XMD and can update it with future
package versions. Refer to the WaveXmd metadata type in the Metadata API Developer Guide.
The following CRM Analytics metadata types are supported in the Metadata API:
1656
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• WaveApplication
• WaveComponent
• WaveDashboard
• WaveDataflow
• WaveDataset
• WaveLens
• WaveRecipe
• WaveXmd
• WaveTemplateBundle
SEE ALSO:
Understanding Metadata API
1657
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1658
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
SEE ALSO:
Set Up the CRM Analytics Platform
4. Name your app and click Create. You can optionally select a logging level to generate more detailed creation logs. The default level
is Warning.
The creation process takes a few minutes. You can view the status on the next page. After it’s complete, refresh the page to see your
app. To see the generated app log that describes which assets were created and any failure notifications, click the Details tab.
To troubleshoot any app creation issues, use the App Install History Page in Setup. This page details the app creation process, the assets
built, and the app state during creation. For more information, see Monitor and Troubleshoot Templated App Installations.
Note: If you see an error saying that the Analytics Integration User doesn’t have access to selected fields, edit field level security
so that the Integration User has the required access and create the app again.
1659
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Now that you’ve created the app, share it with users in your organization. You can only share it with users assigned the CRM Analytics
Plus User permission set.
1. Open your app if it’s not already open. If you’ve navigated away from CRM Analytics Studio, go back to it, select All Items, find your
app, and click it.
2.
Click the Share icon at upper right.
3. In the next screen, use the search field under Invite others: to find other users in your org.
4. Select whether you want to make the selected user a Viewer, Editor, or Manager of the app.
Important: Users with the Use Analytics Templated Apps permission and Editor or Manager access to the app can create,
edit, and delete assets in the app.
Important: Fields that aren’t available to the Analytics Integration User aren’t visible in the wizard. See Schedule Data Refresh for
a CRM Analytics Template to give the Integration User access to all the fields you want your app to use.
1660
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. Click the dropdown arrow to the far right of the app. From the menu that appears, select
Schedule.
4. Pick the days you want and set a time for refreshing the app data. It’s best to select a time outside normal working hours so the data
1661
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: If you delete your app, CRM Analytics doesn’t retain the answers you selected when you created that version of the
app, and you have to start the creation process all over again. If you wish to reuse settings from the app, keep it until you’ve
completed recreating the app and then delete it.
1662
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
5. If you click Create new app, you’re taken to the configuration wizard. You don’t see a warning, since you’re not overwriting your
current app, which is preserved with any customizations you’ve made to it.
6. The configuration wizard is preloaded with the settings you chose last time you used the wizard. You can either keep those settings
or change them. Go through each page of the wizard.
7. Once you complete the wizard, CRM Analytics shows a screen that indicates which assets are impacted by the upgrade. Review the
screen to see how many datasets, dashboards, and lenses will be changed, deleted, or added by the upgrade. It also shows how
changed assets will be modified—whether the change is to data or appearance. On the same screen, you have the option to
download a file with code for changes made to the app. If you’ve customized the app, download and save the file so you can copy
and paste customization code into the upgraded version.
8. Upgrade option only: If you’re upgrading your app, click Upgrade current app. Remember, this overwrites any customizations you’ve
made. You can also click Back to go back into the configuration wizard and change your selections or click the X in the upper-right
corner to cancel.
9. Create option only: If you’re creating a new app, name your app something different from the current version and click Create new
app. This option saves your current app and all its customizations. You can also click Back to go back into the configuration wizard
and change your selections or click the X in the upper-right corner to cancel.
If the link below the app name says “Reset app,” you’re using the latest version and don’t need to upgrade.
The home page shows usage statistics for all auto-installed apps and a list of each app with basic details. To view app details and manage
individual auto-installed apps, click the Apps tab. To view and manage auto-install requests, click the Requests tab. Clicking Usage
hides and reveals the usage charts.
If there are no installed apps or auto-install requests in your org, the page shows that no apps, statistics, or requests are available.
1663
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Use the Get More Apps button to open App Exchange and find other CRM Analytics apps that are available for installation.
1. Auto-Install Usage
Track the average API calls per hour and the number of dataset rows used per day for all auto-installed apps and for each individual
app.
2. Auto-Installed Apps
Monitor and interact with installed apps on the Apps tab.
3. Auto-Install Requests
Monitor and interact with auto-install requests on the Requests tab.
Auto-Install Usage
Track the average API calls per hour and the number of dataset rows used per day for all auto-installed apps and for each individual app.
The Usage section on the main page has two charts. The first chart shows you the hourly average of API calls made by auto-installed
apps each day. The second chart shows you how many dataset rows the auto-installed apps use per day. Both charts show usage numbers
up to the past 7 days.
Note: The API statistics are updated hourly, while the dataset row statistics are updated at midnight UTC.
1664
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
On the Apps tab, in the tile view, each auto-installed app tile shows the usage numbers for that specific app. These numbers include
the number of API requests made per hour averaged over 7 days and the number of dataset rows used per day.
To see the individual app usage numbers in charts, click the app name, and then select the Usage tab. These charts show you the usage
statistics specific to this auto-installed app.
Auto-Installed Apps
Monitor and interact with installed apps on the Apps tab.
Apps
The default view of your installed apps is the tile view. You can also view the installed apps in a list view.
Each installed app includes this information:
1665
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Status The status of the most recent auto-install request for the installed app. The values include:
Success, Failed, In Progress, Not Started, and Canceled
Reason The failed reason of the installed app. For successful requests, the value is N/A. For failed
requests, the failure reason is displayed.
Created On The date and time the installed app was created.
Last Modified The date and time the installed app was last modified.
Requests/Hour The 7-day average of API requests made for the installed app per hour.
Rows Used The number of dataset rows used by the installed app.
Open App
This link is only visible to users with access to CRM Analytics Studio and only in the apps tile view. To open the installed app in CRM
Analytics Studio, click the Open App link on the app tile.
App Actions
Each app has an action menu accessible from the dropdown list icon . The app actions include:
• Open— Opens the installed app details. These details include all auto-install requests for the installed app, the most recent app
logs, and the request details as described here.
• Delete App — Deletes the installed app.
• View Log— Displays the auto-install request log.
• Try Again— Runs the last auto-install request for this installed app again.
• Cancel— Appears only when the auto-install request status is In Progress. Use this action to cancel long-running requests
or when you don’t want app creation or upgrade to complete.
Search Apps
Use the search bar to search installed apps by app name.
Refresh Page
To update the statuses of the installed apps, click the Refresh icon .
App Details
To see the details for an individual app, on the home page, click the app name. On the details page, you can view the app information,
see the app requests, the app usage data, the log results, app settings, and open and update the app.
1666
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The app has an action menu accessible from the dropdown list icon . The app actions include:
• Update App— Updates the app using the current version of the template.
• Open App— This action is only visible to users with access to CRM Analytics Studio. Opens the app in CRM Analytics Studio.
• Install History— Opens the App Install History install details for the app.
To view and manage settings for an installed app, click App Settings.
Some installed apps have auto-upgrade enabled, which upgrades the app automatically when the template is updated. Auto-upgrade
keeps installed apps up to date with current features. It’s a best practice to allow installed apps to auto-upgrade unless you’re customizing
these apps.
Auto-Install Requests
Monitor and interact with auto-install requests on the Requests tab.
Type The type of auto-install request. The values are: App Create, App Update, App
Delete, and Start Dataflow.
Status The status of the auto-install request. The values include: Success, Failed, In
Progress, Not Started, and Canceled
1667
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Created On The date and time the auto-install request was created.
Request Actions
Each auto-install request has an action menu accessible from the dropdown list icon . The request actions include:
• Open—Opens the associated installed app details. These details include all auto-install requests for the installed app, the most
recent app logs for the installed app, and the details of the auto-install request described here.
• Delete App—Deletes the installed app. associated with the auto-install request.
• View Log—Displays the auto-install request log.
• Try Again—Runs the auto-install request for this installed app again.
• Cancel—Appears only when the auto-install request status is In Progress. Use this action to cancel long-running requests
or when you don’t want app creation or upgrade to complete.
Search Requests
Use the search bar to search auto-install requests by app name.
Filter Requests
Use the filter dropdown list to filter the auto-install request list by request status.
Refresh Page
To update the statuses of the auto-install requests, click the Refresh icon .
1668
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
This view includes the auto-install request name, the request creation date and user, the user and date of the last modification, and the
request status.
The auto-install request details describe the configuration settings and the variable values used for app creation and the request log.
These details provide information necessary for troubleshooting requests and installed apps.
To see the requests for an individual app, on the home page, click the app name, and then select the Requests tab.
Only Templated apps shared with manage access are visible to the user.
The home page shows the installed CRM Analytics templated apps that are shared with manage access to your user. Embedded apps
that are auto-installed and templated apps installed from Analytics Studio are listed here. The summary information includes the app
name, the install overview for each app, the last modified date, the log size, the install duration time, and the next app refresh.
App Refresh
When an app is installed, the data assets used by the app must be refreshed to provide to most up-to-date insights for you and your
users. To refresh all of the data assets for an installed app, in the correct order, you can refresh the app on-demand or create a schedule.
1669
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
To run a data refresh for your app immediately, from the app’s actions, select Refresh Now. To schedule regular data refreshes, select
Schedule.
You can schedule daily or weekly refreshes. The refresh runs according to the time zone of the user who set the schedule.
1670
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Each templated app install history record has an action menu accessible from the dropdown list icon .
Use the actions to cancel an app installation that is in progress, delete app install history records, or display the top-level installation
logs.
3. To view the details of an individual install history, click an install action record on the app history page.
The install detail shows overview information for the installation and a list of individual install tasks. Use the dropdown list for
an install record to display the logs or the state for a task detail. A default of 10 tasks is displayed. To change the number of rows
shown or to load more rows, use the pagination controls in the upper right of the task list.
4. To view logs, click View Log on an install history record or an install task.
1671
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The log entries provide granular detail for each installation and each task. The logs are helpful for troubleshooting why an installation
or task wasn’t successful or when an installation was canceled.
Important: Logs availability is dependent on the log level selected at app creation. If there are logged events that are equal
to or more severe than the selected log level, logs are available for viewing.
The state for each install task detail record contains context information about the user, org, app, app, variables, and constants,
represented as a tree. For each item, click to expand the elements of the tree.
For more information on how to use this page for troubleshooting, see the Use the App Install History Page in the Analytics Templates
Developer Guide.
1672
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: To see the status of your auto-installed app, go to Setup > Feature Settings > Analytics > Analytics > Auto-Installed
Apps. This app will auto-upgrade when the template is updated. To learn about auto-upgrade, see Auto-Installed Apps on page
1666.
The Analytics Design Toolkit configuration wizard requires that you select a color for your app. Click the disclosure triangle next to the
color square on the left of the wizard page and select a color. You can also manually enter values for Hex, R, G, and B. Then click Done.
Tip: Select a color that matches your color scheme you use for your company or your brand ID.
1673
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Design Style Guide includes two datasets based on CSV files to populate the examples in the app. Add your own data to the app, then
reuse the examples to build your own app. See Build CRM Analytics Dashboards on page 1405.
1674
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1675
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: Event Monitoring Analytics App license data storage limits are contractual, not technical. Licensee agrees to strictly
monitor the total number of data rows used by the CRM Analytics app to ensure successful dataflow updates. If your org has only
one CRM Analytics app, and you have more than the licensed number of rows across all datasets, dataflows will fail. If you have
multiple CRM Analytics apps (such as Event Monitoring Analytics and Service Analytics), data storage limits are pooled across the
CRM Analytics apps and any app can consume storage without error.
The sample data for a particular event remains in the app until it’s overwritten with the data from an actual event. Event log file data is
available for the past 30 days. If you have a Developer Edition org, it’s available for the last 24 hours.
Your org can use the Event Monitoring Analytics App with or without the CRM Analytics platform. The Event Monitoring Analytics app
is available for free to any org with the paid Event Monitoring license. The Event Monitoring Analytics Apps license enables the following
permissions.
Access Event Monitoring Analytics Templates and Apps Gives admins the ability to create Event Monitoring Analytics apps.
1676
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Permission Function
Manage CRM Analytics Templated Apps Gives admins the ability to create templated CRM Analytics apps
for users in their orgs.
Edit CRM Analytics Dataflows Enables admins to upload and download JSON for existing data
flows.
1. Event Monitoring Analytics App Permission Set License and User Permissions
The Event Monitoring Analytics Apps permission set license enables the user permissions required to explore data with and manage
the Event Monitoring Analytics app.
2. Identify Event Monitoring Analytics App User Types
Identify Event Monitoring Analytics app user types and the tasks they perform to ensure that the setup process meets your team’s
event monitoring analytics needs.
3. Enable CRM Analytics and Event Monitoring Integration with CRM Analytics
After Salesforce provisions you with the Event Monitoring Analytics Apps license, enable CRM Analytics and Event Monitoring.
4. Select User Permissions and Assign Users to Event Monitoring Analytics App Permission Sets
Give your users access to Event Monitoring Analytics features by assigning one or more permission sets based on the capabilities
they need.
Event Monitoring Analytics App Permission Set License and User Permissions
The Event Monitoring Analytics Apps permission set license enables the user permissions required to explore data with and manage
the Event Monitoring Analytics app.
Each Event Monitoring app user needs an Event Monitoring Analytics Apps permission set license. The Event Monitoring Analytics Apps
permission set license enables the following permissions.
Access Event Monitoring Analytics Templates and Apps The ability to create Event Monitoring Analytics apps.
Manage CRM Analytics Templated Apps The ability to create templated CRM Analytics apps for users in
their orgs.
Edit CRM Analytics Dataflows Edit, delete, and use remote connections; add and remove
connected objects; run and schedule data sync; create, edit, delete,
run, schedule, and monitor dataflows and recipes. Use discretion
when assigning this user permission because it enables access to
all Salesforce object data to which the Integration User has access.
See Salesforce Data Access in CRM Analytics .
1677
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Enable CRM Analytics and Event Monitoring Integration with CRM Analytics
After Salesforce provisions you with the Event Monitoring Analytics Apps license, enable CRM Analytics and Event Monitoring.
Enable the CRM Analytics Platform
1. In the Salesforce Setup menu, under Administer, select Analytics Cloud | Getting Started.
2. Click Enable Analytics.
Enable Event Monitoring
1. In Setup, enter Event in the Quick Find box, then select Event Monitoring Settings.
2. Select View Event Log Data in CRM Analytics Apps.
Select User Permissions and Assign Users to Event Monitoring Analytics App Permission Sets
Give your users access to Event Monitoring Analytics features by assigning one or more permission
USER PERMISSIONS
sets based on the capabilities they need.
After enabling CRM Analytics and Event Monitoring Integration with CRM Analytics, identify users To create permission sets:
who will access the Event Monitoring Analytics app and assign them to a permission set. You can • Manage Profiles and
Permission Sets
create any permission set you must meet the needs of your users. For convenience, two standard
permission sets are provided.
Event Monitoring Analytics Apps User Users who view Event Monitoring Analytics apps
Let’s begin selecting the user permissions in the Event Monitoring Analytics Apps Admin standard permission set.
1678
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1. From Setup, enter Permission Sets in the Quick Find box, then select Permission Sets.
2. Select the Event Monitoring Analytics Apps Admin permission set.
3. Select the feature permissions to enable for your permission set. Use Find Settings to search for them quickly. Select Use
CRM Analytics Templated Apps, Access Event Monitoring Analytics Templates and Apps, Manage CRM Analytics Templated
Apps, and Edit CRM Analytics Dataflows. Make sure to select all four permissions.
4. Click Save. You can now assign the permission set to users. See Manage Permission Set Assignments.
5. Repeat the steps for the Event Monitoring Analytics Apps User standard permission set. However, for this permission set, select only
the Use CRM Analytics Templated Apps user permission, because your end users need only view access. If they need more access,
you can create your own permission set by cloning and customizing the standard permission set.
Warning: Assign the Event Monitoring Analytics Apps Admin permission set carefully, because it lets users create, edit, and delete
the app. Assign it only to users who administer or manage the app.
SEE ALSO:
Manage Permission Set Assignments
Create Permission Sets
SEE ALSO:
Tableau CRM External Data API Developer Guide: External Data API Limits
1679
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
To minimize your chances of hitting your 24 hourly rolling upload limit, apply this configuration to Available in: Enterprise,
all of your Event Monitoring Analytics apps. Performance, and
Unlimited Edition
1. Log in to Salesforce.
Requires Salesforce Shield
2. Select CRM Analytics from the App Picker.
or Salesforce Event
3. Click App, select Event Monitoring Analytics App, and then click Continue. Monitoring add-on
4. Click Continue until the Event Monitoring Analytics App - Personalize wizard appears. subscriptions.
5. Continue through the wizard, and accept the default settings or select new values.
6. Enable the Add only new event log file data to existing datasets? setting. USER PERMISSIONS
7. Name your app. To use Event Monitoring
8. Click Create. The app creation process can take a while. To check the progress, select Data Analytics apps:
Manager from the gear menu at the top of the page. If any part of your app creation fails, you • Use CRM Analytics
Templated Apps
must recreate the app.
To create and manage Event
9. After your app is ready to go, you can share it with other users in your org. Remember that only
Monitoring Analytics apps:
users with the Manage CRM Analytics Templated Apps and Access Event Monitoring Analytics • Access Event Monitoring
Templates and Apps permissions can see the app. To share your app, hover your mouse over Analytics Templates and
the app tile on the CRM Analytics home screen and click Share. You can also share from the Apps
app.
• Manage CRM Analytics
Because event log files have a 24-hour generation period, you don’t see your data in the app for Templated Apps
the first day after you create it. Incrementally refreshing data means that your apps accrue data
• Edit CRM Analytics
daily over the 30-day retention period starting the first day they’re created. Dataflows
Event log file data is available for the past 30 days. If you have a Developer Edition org, it’s available
for the last 24 hours.
We recommend that you schedule your dataflows to run daily.
1680
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1681
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. See descriptions of what the buttons do by hovering over them. If you click Upgrade current
app, you overwrite your current app and all its assets, replacing it with an app based on the
new version. Upgrading also deletes any customizations, including new fields or objects that you added to the dataflow or changes
1682
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
that you made to security settings and dashboard labels and colors. If you click Create new app, you create a second copy of your
current app based on the new version. Decide which option suits your circumstances
4. Warning: If you customized your app, click Create new app to make an app copy based on the new version. Creating an
app preserves the current version and any customizations, which you can then manually copy into the new version of the app.
If you click Upgrade current app, you see a screen warning you that the upgrade option overwrites the current app and gets rid
of any customizations you made. If you’re OK with overwriting customizations, check the box and click Continue. If you’re not, click
Back to return to the previous screen. Clicking Continue takes you to the configuration wizard. Skip ahead to step 6.
5. If you click Create new app, you’re taken to the configuration wizard. You don’t see a warning because you’re not overwriting your
current app, which is preserved with any customizations you made to it.
6. The configuration wizard is preloaded with the settings you chose last time you used the wizard. You can either keep those settings
or change them. Go through each page of the wizard.
7. After you complete the wizard, CRM Analytics shows a screen that indicates which assets the upgrade impacted. To see how many
datasets, dashboards, and lenses get changed, deleted, or added by the upgrade, review the screen. It also shows how changed
assets get modified—whether the change is to data or appearance. On the same screen, you have the option to download a file
with code for changes made to the app. If you customized the app, download and save the file so that you can copy and paste the
customization code into the upgraded version.
8. Upgrade option only: If you’re upgrading your app, click Upgrade current app. Remember, this setting overwrites any customizations
you’ve made. You can also click Back to go back into the configuration wizard and change your selections or click the X in the
upper-right corner to cancel.
9. (Create option only) If you’re creating an app, name your app something different from the current version, and click Create new
app. This option saves your current app and all its customizations. You can also click Back to go back into the configuration wizard
and change your selections or click the X in the upper-right corner to cancel.
If the link below the app name says Reset app, you’re using the latest version and an upgrade is unnecessary.
1683
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Salesforce uploads event log files after they’re generated. Most dataset uploads finish at about the Available in: Enterprise,
same time each day. Exact finish times vary depending on dataset size and content. Performance, and
Unlimited Edition
To get the most out of your scheduled data refresh, follow these best practices.
Requires Salesforce Shield
• To ensure that the app has the latest data, schedule the app refresh to run a few hours after
or Salesforce Event
event log files are generated. Large datasets take longer to upload, so schedule more time for
Monitoring add-on
them.
subscriptions.
• To prevent the app from overwriting full datasets every day, add the new Add only new event
log file data to existing datasets? app configuration. The app looks for the new event log
file data, adds it, and deletes all data that’s outside of the date retention period. Appending USER PERMISSIONS
only new data reduces network loads. And you’re less likely to reach row count limits and the
50-GB data upload limit. To create and manage Event
Monitoring Analytics Apps:
Note: The append dataflow deletes all data in the dataset that supplies your app with • Access Event Monitoring
new data, regardless of the specified retention period. For example, if the Login dataset Analytics Templates and
is the source dataset, running the append dataflow populates the LoginWithUsers dataset Apps
and resets the row count of the Login dataset to zero. The retention period doesn’t apply • Manage CRM Analytics
to the source dataset data. Templated Apps
To add the Add only new event log file data to existing datasets? setting to your app, see • Edit CRM Analytics
Create an Event Monitoring Analytics App That Incrementally Refreshes Data. Dataflows
Multiple background Salesforce processes trigger event log file uploads. For example, if a log is
generated later than expected, its corresponding event log file is regenerated and then added to a dataset. Customers then can see
multiple uploads within a single day, or they can get uploads outside of the scheduled window.
To schedule your app, see Schedule Data Refresh for a CRM Analytics App on page 1660. Select a time outside normal work hours so the
data refresh doesn’t interrupt business activities.
Note: Each dashboard listed has a corresponding dataset. The Event Monitoring Analytics App also supports the following datasets
that don’t have dashboards: Bulk API, Apex Callout, Concurrent Long-Running Apex Limit, Apex REST API, Apex SOAP, Apex Trigger,
Apex Unexpected Exception, Console, and Knowledge Article View.
Analytics Adoption
Corresponds to the Wave Change, Wave Interaction, and Wave Performance event types. This dashboard shows CRM Analytics usage
and performance information.
1684
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Apex Executions
Corresponds to the Apex Execution event type. This dashboard lets you track trends in Apex code executions and performance.
API
Corresponds to the API Event event type. This dashboard gives you information about both your users’ API usage and API performance
in your org. You can see how often each object is being used, how fast each object is being processed, and what methods are being
invoked on that object.
Dashboards
Corresponds to the Dashboard event type. This dashboard helps you track dashboard adoption and performance.
Files
Corresponds to the Content Transfer event type. When users in your org perform content transfers (downloads, uploads, or previews),
they show up on this dashboard. You can also track file adoption.
Lightning Adoption
Corresponds to the Lightning Interaction and Lightning Page View event types. Use this dashboard to see how users interact with
Lightning Experience on the desktop and mobile devices.
Lightning Performance
Corresponds to the Lightning Error, Lightning Interaction, Lightning Page View, and Lightning Performance event types. Use this
dashboard to optimize performance and user interactions with Lightning Experience and the Salesforce mobile app.
Login-As
Corresponds to the Login As event type. This dashboard lets you see which admins are using the login-as feature and on which user
accounts.
My Trust
The My Trust dashboard gives you an overall idea of what kinds of events are taking place in your org over time. It also shows the average
speed of these transactions. The dashboard corresponds to the following event types: Apex Execution, API, Content Transfer, Dashboard,
Lightning Page View, Login As, Login, Report, Report Export, REST API, and Visualforce, all correlated by User IDs. For the My Trust
dashboard to work, add all datasets to your app in the Configuration Wizard. It can impact your row utilization, depending on the number
of events in your org.
Report Downloads
Corresponds to the Report Export event type. This dashboard lets you see which users are downloading your reports and where they’re
downloading them from.
1685
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Reports
Corresponds to the Report event type. This dashboard shows you trends in reporting as well as which users are running specific reports.
You can also find out which reports are having performance issues.
RestAPI
Corresponds to REST API event type. This dashboard shows you trends in REST API usage and which endpoints are seeing the most
traffic. You can also view information about the IP ranges issuing the requests and which methods are being called.
User Logins
Corresponds to the Login event type. This dashboard shows login trends by user and information about where and how users are
accessing your org.
Visualforce Requests
Corresponds to the Visualforce Request event type. Here you can see trends in Visualforce adoption and page performance.
Term Description
APT Average page time. An aggregate metric across multiple
transactions.
Tip: Follow the steps in the order shown to get started with Field Service Analytics. If you haven’t used CRM Analytics before,
learn more about it from the Analytics Documentation.
1686
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
USER PERMISSIONS
1687
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Salesforce created the Field Service Analytics app to help service managers analyze customer service data their teams generate when
they use Field Service. The app is bundled with the Service Analytics.
Important: Your org must be enabled to use Field Service. CRM Analytics datasets are based on Field Service’s new object model.
We’ve designed Field Service Analytics to give you just-in-time analytics to optimize the outcome of your field service business. Service
managers get a new level of insight into their field service data that they can use to maximize the efficiency of their technical service
agents.
Using the app, service managers can access insights to improve every on-site service visit. You gain visibility into mobile workforce
utilization, first-time-fix rate, and travel time. Problem detection lets you optimize field technician agent productivity. Performance
analysis visualizations help your team prioritize and resolve work orders faster to improve customer satisfaction. Armed with actionable
analytics, your agents can deliver personalized, effective customer service.
CRM Analytics automatically creates the app for you based on your Field Service data. Select the Field Service Analytics template, click
Create, and CRM Analytics does the rest. You get actionable insights fast from your field service data using the intuitive CRM Analytics
interface. And you can drill deeper into key aspects of service engagements and technician performance by customizing Field Service
Analytics around your business needs.
Note: Your organization can use Field Service Analytics with or without the CRM Analytics platform by purchasing a Service
Analytics license. Each Salesforce Analytics license includes a Service Analytics license.
1688
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The prebuilt dashboards in the Field Service Analytics app contain key performance indicators that help you get value from your Salesforce
field service data—fast. The dashboards help you understand key elements of customer service work order status and field team
performance. You can prioritize customer service engagements, make technician utilization decisions, and quickly drill down to isolate
problems and take action. Quickly review first-time fix rates, utilization, SLA compliance, and travel-time analysis. Start from a territory
overview of all accounts, products, and teams and zoom into the technician and work order level.
The following table guides you through Field Service Analytics dashboards. You can also explore further on your own at any point. To
learn more about exploring data in CRM Analytics, see Explore and Visualize Your Data.
1689
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Service Resource Shows time spent by an individual Service manager and technician
technician on each type of job so managers
can assess technicians’ efficiency. Also
shows average number of jobs completed
by the technician for a specific date range,
the worker’s first-time fix rate, and actual
versus estimated travel times to job sites.
Embeddable in technicians’ pages so they
can monitor their own efficiency KPIs.
Service Territory Service managers can see the types of jobs Service manager
completed in their territories—for example,
HVAC, electrical, or plumbing—to ensure
that their team members have the skills they
need. They can also see the daily average
number of jobs completed, technician
utilization rate, and actual versus estimated
technician travel times.
Important: Important: Your org must be enabled to use Field Service and its new standard
object model to use Field Service Analytics.
1. Go to Salesforce Setup.
1690
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
2. Enter Field Service in the Quick Find/Search box. If Field Service Settings appears in Setup, click it.
3. In the center window, under Field Service Settings, check to see if the box for Enable Field Service is checked.
If you’re unsure that your org is set up to use Field Service, contact your Salesforce representative.
Assign Field Level Security
Before you create Field Service Analytics, set Salesforce field-level security to enable the CRM Analytics Integration User to see all fields
you want your app to include. Integration users run the dataflow, and if they don’t have proper field-level security permissions, the
dataflow can fail. For instructions, see Create and Share the Service Analytics App, Step 2.
Create Field Service Analytics
When you’ve completed the previous setup processes, create Field Service Analytics.
1. Go to CRM Analytics.
2. Click Create in the upper right corner.
3. Select the Field Service Analytics template.
4. Name your app and click Create.
CRM Analytics creates your app, which can take a few minutes while CRM Analytics runs a new dataflow and creates the app’s dashboards.
Refresh your browser, and click the app you just created to see the dashboards.
Important: When users are deactivated, they lose share and delete access to all apps they manage. To avoid "stranding" an app,
be sure that manager access is assigned to at least one active user BEFORE deactivating the user who's the manager of the app.
Share Field Service Analytics
Now that you’ve created the app, share it with users in your organization. You can only share it with users who have the “Use CRM
Analytics Templated Apps” and “Access Service Cloud Analytics Templates and Apps” permissions enabled.
1. Open your app if it’s not already open. If you’ve navigated away from CRM Analytics Studio, go back to it, select All Items, find your
app, and click it.
2.
Click the Share icon at upper right.
3. In the next screen, use the search field under Invite others: to find other users in your org.
1691
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
4. Select whether you want to make the selected user a Viewer, Editor, or Manager of the app.
Important: Users with the “Use Analytics Templated Apps” permission and Editor or Manager access to the app can create,
edit, and delete assets in the app.
1692
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1693
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1694
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
1695
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: For general app creation procedures for all CRM Analytics templated apps, see Available in: Developer
Create Apps from CRM Analytics Templates: Start Here. edition and for an extra cost
in Enterprise, Performance,
Note these requirements to create an app from CRM Analytics for Communications-Business app and Unlimited editions.
template:
• Make sure that you and all app users have the CRM for Comms App license and the CRM Analytics
Plus license.
• Your org must have at least one record in each of the following objects: count, Opportunity, OpportunityLineItem, Order, Product2,
Quote, and User.
• Set Salesforce field-level security to enable the User to see all fields used in the app. See Set Field Level Security to Enable Creation
of an CRM Analytics Template.
Important: Currently, the Analytics for Communications-Business app is only supported in orgs with Data Sync on.
1696
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The Account Insights dashboard requires filters to be added when embedding it. Use the following
syntax:
{"datasets":{"Quote":[{"fields":["AccountId"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}],"Order":[{"fields":["AccountId"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}],"Opportunity":[{"fields":["AccountId"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}]}}
The Quote Insights embedded dashboard requires filters to be added when embedding the dashboard. Use the following syntax:
{"datasets":{"Quote":[{"fields":["Id"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}],"OrderItem":[{"fields":["Id"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}],"QuoteMember":[{"fields":["Id"],"filter":{"operator":"in","values":["$Id"]},"locked":true,"hidden":true}]}}
For general instructions on embedding dashboards, see Embed Dashboards Everywhere in Salesforce Help.
For instructions on filtering embedded dashboards, see Filter and Selection Syntax for Embedded Dashboards in Salesforce Help.
1697
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• To assign the user necessary admin permission, select both the CRM Analytics Plus Admin and CRM for Comms Admin permission
sets.
• To assign the user necessary user permissions, select both the CRM Analytics Plus User and CRM for Comms User permission
sets.
• Add the permission sets, and then save your changes.
Note: The plain_quota dataset is optional and must be imported from a CSV source.
Upload Dataset
Upload the plain_quota Dataset to view relevant metrics in the Home dashboard.
Upload Dataset
Upload the plain_quota Dataset to view relevant metrics in the Home dashboard.
EDITIONS
Optionally, you can upload quota data by overriding the plain_quota dataset in your app by following
these instructions. The plain_quota dataset is used to provide you with quota attainment metrics Available in: Developer
in the Opportunities section of the Home dashboard. If you don’t want to see this metric, you can edition and for an extra cost
skip this section. in Enterprise, Performance,
and Unlimited editions.
Note: When you work with .CSV files you want to import to CRM Analytics Comms-Business,
create and open them using only a UTF-8-compliant text editor. Opening them in Microsoft
Excel or other spreadsheet software reformats .CSV files and makes them unusable in CRM
Analytics Comms-Business.
Important: When you create the .CSV file, be sure it contains the following fields, in this order, with exactly these names. Field
names are case-sensitive:
• StartDate (in yyyy-mm-dd format)
• QuotaAmount
• OwnerName
1698
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Username
1. Create a .CSV file to include the fields described, that is StartDate (in yyyy-mm-dd format), QuotaAmount, OwnerName, Username.
For an example, see Sales Analytics Example .CSV File.
2. Save the file to a location that you can easily remember.
3. In Salesforce, go to the CRM Analytics home page and find the plain_quota dataset.
4. Click the arrow at the upper right corner of the dataset panel and select Edit.
5. Salesforce displays the dataset editing screen for the plain_quota dataset. Look for Replace Data in the upper right corner and click
it.
6. In the dialog box that opens, navigate to the .CSV file you created in Step 1, and double-click it.
7. To open the Replace Dataset Data page, click Next.
8. If your fiscal period is different than calendar period, that is if it starts on a date other than January 1, update the plain_quota Metadata
file. If your fiscal period starts on January 1, skip to the next step.
a. Copy the JSON from Sales Analytics Quota Dataset JSON File and paste it into a text editor of your choice.
b. Change the value of "fiscalMonthOffset" from 4 to a number that represents the month your fiscal period starts. In
metadata, the numeral “0” stands for January, “1” stands for February, and so on, up to “11,” which stands for December. Save
the file to your desktop.
c. In CRM Analytics Studio, go to the Replace Dataset Data page and locate the Data Schema File area of the page. Click the arrow
next to Quota .JSON file, select Replace File, find the file you saved and upload it to CRM Analytics.
1699
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
9. On the Replace Dataset Data page, click Next to open the Edit Field Attributes page. The first column —QuotaAmount— is selected.
If not, select it. In the Field Attributes panel on the right, make sure Field Type is set to Measure.
10. After uploading your quota data, rerun the recipe to update the dashboards.
a. Click the Gear menu at the upper right of the CRM Analytics Comms for Business screen and select Data Manager.
b. Select the Dataflow & Recipes view from the menu at the top left of the Data Manager screen and click the Recipes tab in the
main pane.
a. Find your app’s recipe. Open the menu on the far right of the screen next to the app icon and name, and click Run now.
1700
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1701
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) Opportunities, Quotes, and Orders The top pane gives high-level information about three primary aspects of your
Communications sales processes: opportunities, quotes, and orders. At a glance, you can
see the closed-won amount, the number of quotes presented for approval, and the
number of orders fulfilled. Hovering over the bar gives you even more details.
( 2.) Opportunities detailed view The bottom pane shows a detailed view of your opportunities. If this pane isn’t open,
click View Details.
( 3.) Quotes detailed view To view information about your quotes, click View Details. The bottom pane populates
with details about your quotes.
( 4.) Orders detailed view To view information about your orders, click View Details. The bottom pane populates
with details about your orders.
1702
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) Opportunities Displays the closed won amount. You can also see the percentage of your quota
attainment if you uploaded quota data. To understand your opportunities, click the View
Details button.
( 2.) Top Products Displays the products you selected when creating the opportunity sorted by dollar amount.
This metric can help you understand which products to focus on.
( 3.) Top Accounts Displays the accounts with the most opportunities stacked by dollar amount. This metric
can help you determine which accounts to focus on.
( 4.) Top Open Opportunities Displays your current opportunities stacked by dollar amount. This metric helps surface
the opportunities to help meet your quota.
KPI Calculations
• % Quota attainment: Sum of Quota Amount / Amount as %.
• Opportunities Closed Won: Sum of amount.
• Top Products chart: Sum of amount by Product Name.
• Top Accounts chart: Sum of amount by Account Name.
• Top Open Opportunities chart: Sum of amount by Opportunity Name.
• Top Open Opportunities: Sum of Amount.
Section Description
( 1.) Quotes Details about your quotes with emphasis on the most important milestones or status.
To understand your quotes, click the View Details button.
( 2.) Top Accounts with Pending Quotes The top accounts with quotes not yet been presented to the customer.
1703
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 3.) # quotes presented The number of quotes presented to the customer. To see a detailed chart of the
presented quotes, including the margin and the number of days since presented to
the customer, hover over the number.
( 4.) Quote Amount The pending quotes presented but not yet accepted or denied by the customer. This
metric helps you to see where you must follow up on a presented quote.
( 5.) Top draft quotes The quotes in draft that haven’t yet been presented to customers, stacked by dollar
amount. A proposal hasn’t been generated or sent to a supervisor for approval.
( 6.) Days to Quote The time it took to configure your quotes compared to the average time it’s taken
you in the past. The quotes that have the longest days to quote are the ones that
need your attention.
KPI Calculations
• %Quotes Accepted: Sum of Accepted Quotes / Total Quotes as %.
• Top Account with Pending Quotes Chart: Sum of vlocity_cmt__EffectiveQuoteTotal__c by Account Name.
• #Quotes Presented: Count of Rows.
• Tooltip Days presented: Now() - LastModifiedDate.
• Top draft quotes: Count of Rows.
• # Days to Quote Chart: Now() - CreatedDate.
Section Description
( 1.) Orders Details about your ordering process. To understand your orders, click the View
Details button.
( 2.) Total # Orders Orders and their fulfillment status. Use this metric to understand the status of all of
your orders and how many orders need attention.
1704
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 3.) Accounts by # failed activations Accounts that had issues with activation, sorted by most to least issues. You can
check this section before presenting orders to customer so that you don’t attempt
to sell to an account that is experiencing issues.
( 4.) Pending orders for submission Orders that haven’t yet been submitted, sorted by the highest to lowest dollar
amount. The sum of the effective total order is the calculated total value of the entire
order.
KPI Calculations
• % Orders Fulfilled / Fulfillment Rate: Sum of Activated Orders / Total Orders as %.
• Orders Fulfilled: Sum of vlocity_cmt__EffectiveOrderTotal__c.
• Total # Orders: Count of Rows.
• Total Orders by status: Count of Rows by vlocity_cmt__OrderStatus__c.
• Accounts by # failed activations chart: Count of Rows by Parent Account Name.
• Pending orders for submission: Count of rows.
• Pending orders for submission chart: Sum of vlocity_cmt__EffectiveOrderTotal__c by Order Number.
1705
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) Avg Margin The average margin for current quotes.
( 2.) vs last week This week’s average margin vs. last week’s average margin. Use this metric to see if your
margins are trending up or down.
( 3.) Quotes over time with the margin for each quote. Hover over points on the graph to see
the details for each quote’s creation date and average quote margin total.
( 4.) See more details about quotes and orders by navigating left or right.
( 5.) Opportunities (Price Quote Stage) The total opportunity. To see what percentage of the total opportunity has quotes, hover
over the bar graph.
( 6.) # w/o quotes created The number of opportunities without quotes created. To see a detailed chart that includes
the name of the opportunity and the amount (in dollars), hover over the number.
( 7.) # of Quotes Denied The number of quotes denied. To see the percent of quotes denied, hover over the bar
graph. To see a detailed list of the denied quotes, hover over the number.
( 8.) # presented for acceptance The number of quotes presented for acceptance. To see a detailed table of quotes
presented for acceptance, including the quote margin total and the effective quote total,
hover over the number.
KPI Calculations
• Average Margin %: Avg of vlocity_cmt__QuoteMarginTotal__c.
• Margin trending Chart: Avg of vlocity_cmt__QuoteMarginTotal__c by CreatedDate.
1706
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) To see more details about the account opportunities and orders, navigate left or right.
( 2.) To see the percent of quotes in draft, hover over the bar graph.
( 3.) #Draft Quotes Quotes that have been accepted and are ready to submit. To see the list of quotes,
including the days to quote and effective quote total, hover over the number.
( 4.) The chart shows the number of quotes in the following states:
• Approved. The quote was approved and is ready to present to the customer.
• Accepted: The customer accepted the quote.
• Denied: The customer denied the quote.
• Draft: The draft was created.
• In review: The quote was submitted for review, but not yet approved.
• Presented: The quote was presented to the customer, and not yet accepted or denied.
1707
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 5.) To see the percent of orders in draft, hover over the bar graph.
( 6.) # Ready to submit orders To see the order number and amounts, hover over the number.
( 7.) The chart shows the number of orders in the following states:
• Activated
• In progress
• Queued
• Ready to submit
KPI Calculations
• % of quotes in draft: Sum of DraftQuotes / TotalQuotes as %.
• # Draft Quotes: Count of rows.
• Quotes by status chart: Quotes by Status.
• % orders in draft: Sum of DraftOrders / TotalOrders as %.
• # Ready to Submit Orders: Count of rows.
• Orders by status chart: Count of Orders by vlocity_cmt__OrderStatus__c.
Section Description
( 1.) To see more details about the account opportunities and quotes, navigate left or right.
1708
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 2.) # Orders Submitted To see the percentage of orders submitted, hover over the bar graph. Use this metric to
determine which orders to follow up on.
( 3.) To see a table of the submitted orders, hover over the number.
( 4.) View the states of your orders using this bar graph. You can see the number of orders in
different states.
( 5.) To see the percent of orders pending fulfillment, hover over the bar graph. You can view
the average in minutes or hours.
( 6.) # orders pending fulfillment The number of orders pending fulfillment. You can see the orders that need follow-up
to determine why they aren’t yet fulfilled. To display the list of orders pending fulfillment,
hover over the number.
KPI Calculations
• % orders submitted: Sum of OrderSubmitted / TotalOrders as %.
• # orders submitted: Count of rows.
• orders by order status chart: Count of Orders by vlocity_cmt__OrderStatus__c.
• % orders pending fulfillment: Sum of OrdersPendingFulfillment / Total Orders as %.
• Avg Hours/Minutes to fulfill order: ActivatedDate - vlocity_cmt__SubmittedToOmDate__c.
• # orders pending fulfillment: Count of rows.
1709
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1710
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) Current Margin The current margin for all your quotes for a given account (including quotes accepted
and quotes presented).
( 2.) vs account avg The current margin for the account vs. the average margin for the account. This metric
helps you to understand if you’re working above or below the margin rates for a given
account.
( 3.) Days Since Quote Presented The number of days since the quote was presented to the customer. You can use this
metric to determine whether you must quickly follow up with a customer.
( 4.) Days Quote in Draft The days that your quote has been in draft. You can present quotes to customers or follow
up on presented quotes if there are a number of quotes in draft.
KPI Calculations
• Current Margin:Sum of vlocity_cmt__QuoteMarginTotal__c.
• % change of Current margin v Account Average: for Account Average Margin: Avg of vlocity_cmt__QuoteMarginTotal__c for %
change: absolute value of (Sum of vlocity_cmt__QuoteMarginTotal__c - Account Average Margin) / Account Average Margin as
%.
• # Days Since Quote Presented:Now() - LastModifiedDate.
• # Days Quote in Draft:Now() - CreatedDate.
1711
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Section Description
( 1.) #Unquoted Members Members of a given account that haven’t accepted a quote. For example, if World
Telecommunications has members in California and Texas, and you have quoted California
members, the Texas members represent the unquoted members. You can see where the
members have denied the quotes. Hover over the unquoted members number to see
the details.
( 2.) Total # Order Items Total Order Items represents the total of order line items. For example, if your customer,
World Telecommunications, has purchased 951 cable boxes, then the total Order Items
is 951. Out of those orders, you can see how many orders are ready to be activated and
how many are already activated.
KPI Calculations
• # Unquoted Members: Unique of Name.
• # Unquoted Members by Status chart:Count of Rows by Quote.Status.
• Total # Order Items:Count of rows.
• # Order Items by Status chart:Count of Order Items by Order.vlocity_cmt__OrderStatus__c.
1712
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Track and analyze your contracts to gain insights into their details, such as the number of months since their initiation and actual
contract terms. Also, identify contracts that require approval and use the data to take actionable steps, such as identifying the
contracts that are up for renewal (1).
• Assess the distribution of cases based on their status and create cases easily (2).
• View the highlighted overdue and upcoming bills, to take prompt action (3).
• View the quotes that are pending approval (4).
• Gain visibility into the distribution of orders based on status (5).
The dashboard also provides users with a comprehensive view of asset allocation and distribution. It offers valuable geographic insights
through a visual representation of the asset distribution by location, accounts, state, and country.
1713
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Click each chart to gain insights into each stage of the Quote to Order process (1) .
• Use the drop-down arrow to access the Report Download dashboard, where you can view and download customer-specific reports
for every stage of the Quote to Order process (2) .
1714
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1715
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: If you see the Launch CRM Analytics button, CRM Analytics is already enabled. You Available in: Developer
can skip to Assign Analytics for Communications - Consumer Administrator Permissions on edition and for an extra cost
in Enterprise, Performance,
page 1716.
and Unlimited editions.
1. From Setup, in the Quick Find box, enter Getting Started, and then select Getting
Started under Analytics.
2. Click Enable CRM Analytics.
Important: Currently, the Analytics for Communications-Consumer app is only supported Available in: Developer
in orgs with Data Sync on. Edition and for an extra cost
in Enterprise, Performance,
Your org must have at least one record in each of these objects. and Unlimited Editions
• Account
• Subscription
1716
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
If your org’s data doesn’t meet the minimum requirements, you see a message describing what to fix. To add the required data and start
the app creation process again, follow the instructions in the error message.
Set Field-Level Security to Enable Creation of the Analytics for Communications - Consumer App
Before you create the Analytics for Communications - Consumer app, make sure that the Analytics
EDITIONS
Cloud Integration User profile has access to all fields in the app.
To successfully run a dataflow, users need field-level security permissions. To set Salesforce field-level Available in: Developer
security to enable your Analytics Integration users to see all fields used in the app, take these steps. edition and for an extra cost
in Enterprise, Performance,
1. In Setup, go to Object Manager.
and Unlimited editions.
2. In the Quick Find box, enter the name of the object whose field-level security you want to edit.
3. Select the object, then select Fields & Relationships.
4. Select the field that you want to edit, then select Set Field-Level Security.
5. For the Analytics Cloud Integration User profile, select Visible, and click Save.
6. Repeat Steps 5 and 6 for the fields that you want to use.
7. Refresh your browser cache.
Import Payment and Usage Data to Analytics for Communications - Consumer App
Add payment and usage data from an external source to the Analytics for Communications -
EDITIONS
Consumer App.
1. Create a CSV file with columns that lists these field names in the exact order shown in this table. Available in: Developer
Column names are case-sensitive. edition and for an extra cost
in Enterprise, Performance,
Name Description
and Unlimited Editions
SubscriptionID The identifier of the subscription.
1717
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Name Description
Note: To make the data available to all the users creating the app, save the dataset to your Shared App.
The next time the recipe for your app runs, CRM Analytics adds payment and usage metrics to relevant dashboards.
Create and Share an App from the Analytics for Communications - Consumer Template
Create an app from the Analytics for Communications - Consumer template, and share it with your
EDITIONS
users.
1. Navigate to CRM Analytics Studio. Available in: Developer
Edition and for an extra cost
2. Click Create, then select App.
in Enterprise, Performance,
3. Select Analytics for Communications - Consumer, then click Continue. and Unlimited Editions
4. Take a quick look at the preview page, then click Continue to open the configuration wizard.
5. To create an app or use settings from an existing app, make a selection, and click Continue. USER PERMISSIONS
6. Analytics performs a compatibility check of your Salesforce org’s data. If it uncovers any issues, To create and manage the
you see error messages with instructions on how to address them. Fix the issues, and try app Analytics for
creation again. If Analytics completes the check successfully, click Looks good, next. Communications -
Consumer app:
7. The next page of the wizard asks you to select the dataset that has the payment and usage
• CRM Analytics Plus
data.
Admin permission set
Note: If you select an incorrect dataset and proceed with the app creation, you don’t To use the Analytics for
see any payment and usage-related metrics in your dashboards. Communications -
Consumer app:
8. Click Looks good, next. • CRM Analytics Plus User
9. Name your app, then click Create. permission set
View the status of the app creation on the next screen. The process takes a minute or two. After it’s
complete, refresh the page to see your app.
Note: If you see an error saying that the Analytics Integration User doesn’t have access to selected fields, edit Salesforce field-level
security.
Share the app with your users. You can share it only with users assigned the admin or user permission sets for Analytics for Communications
- Consumer.
1718
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1. If it’s not open already, open your app. If you navigated away from CRM Analytics Studio, go back to it, select All Items, find your
app, and click it.
2.
Click
3. In the next screen, use the search field under Invite others to find users in your org.
4. To define the selected user’s access, select Viewer, Editor, or Manager.
5. Click Add, then save your changes.
Example: To embed the Subscription Highlights dashboard on a Subscription page, use the following string in the Filter String
box:
{"datasets":{"B2C_Comms_Subscription":[{"fields":["vlocity_cmt__ServiceIdentifier__c"],"filter":{"operator":"in","values":["$vlocity_cmt__ServiceIdentifier__c"]},"locked":null,"hidden":null}]}}
Note: To see metrics related to payment and usage data in your dashboards, your Salesforce
admin must import payment and usage data from an external source on page 1717 to the app.
Account Highlights
The Account Highlights embedded dashboard surfaces key account-level metrics such as customer tenure, customer lifetime value,
total interactions, average handling time, data usage, total spend, and payment frequency. If there’s at least 120 days of historical data,
you see a comparison of the last 30 and 90 days of usage, payment, and payment frequency data.
The dashboard answers these questions.
• How many customer interactions happened in the last 14 days?
• What’s the average handling time?
• What’s the data usage for the last 30 days?
• How much did the customer spend in the last 30 days?
1719
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: When the payment and usage data isn’t available for the account, the dashboard shows first call resolution, activation time,
and orders instead of the payment and usage metrics.
Subscription Highlights
The Subscription Highlights embedded dashboard surfaces key subscription-level metrics such as customer interactions, average handling
time, data usage, total spend, and days since last payment.
The dashboard answers these questions.
• How many customer interactions happened in the last 14 days?
• What’s the average handling time?
• What’s the data usage for the last 30 days?
• How much did the customer spend in the last 30 days?
• When did the customer make their last payment?
Note: When the payment and usage data isn’t available for the subscription, the dashboard shows first call resolution, activation
time, and orders instead of the payment and usage metrics.
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
1720
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
Assign relevant permissions to admin and users to manage the Analytics for Communications - Order Tracking app.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user to whom you want to assign permissions.
3. Click Permission Set Assignments > Edit Assignments
4. To assign the user necessary admin permissions, select both the CRM Analytics Plus Admin and the CRM Analytics for Comms
Admin permission sets.
5. To assign the user necessary user permissions, select both the CRM Analytics Plus User and CRM Analytics for Comms User
permission sets.
6. Add the permission sets, and then save your changes.
Assign a CME package license to the Integration user to provide access to the dashboards and datasets.
1721
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Available in: Developer, Enterprise, Performance, and Unlimited Editions where B2B Communications Cloud is enabled
1. From Setup, in the Quick Find box, enter the name of the object whose field-level security you want to edit.
2. Select the object, and then select Fields & Relationships.
3. Select the field that you want to edit, and then select Set Field-Level Security.
4. For the Analytics Cloud Integration User profile, select Visible, and then save your changes.
5. Repeat these steps for all of the fields on all of the objects that the app uses.
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
The next time the dataflow for your app runs, CRM Analytics adds this data to relevant dashboards.
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
1722
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Example: To embed the Order Overview dashboard, use this string in the Filter String box:
{"datasets":{"VCT_Com_OT_Orders_Orc_Items_PProduct":[{"fields":["Id"],"filter":{"operator":"in","values":["$Id"]},"locked":null,"hidden":null}]}}
Create and Share the Analytics for Communications - Order Tracking App
Create an app from the Analytics for Communications - Order Tracking template and then share the app with your users.
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
8. Perform an action:
a. If the instance's compatibility check fails, perform the instructions in the error message to add the required data, and then create
the app again.
b. If the instance's compatibility check succeeds, click Looks good, next.
9. Select the Service Order Management (SOM) dataset, created using external SOM data.
10. Enter a name for your app, and then click Create.
After the process is completed, to see your app, refresh the page. If you see an error message that the Analytics Integration User
doesn’t have access to selected fields, edit Salesforce field-level security.
11. After the process is completed, to see your app, refresh the page.
12. To share the app with your users, in CRM Analytics Studio, open your app. You can share the app only with users who have the
relevant admin or user permission set.
13. In CRM Analytics Studio, open your app
14. On the Give Access tab of the share window, under Invite others, add the names of users that you want to share the app with.
15. For every user you add, select their level of access: Viewer, Editor, or Manager.
16. Save your changes.
Keep the Data in the Analytics for Communications - Order Tracking App Up-to-Date
Keep the data in your analytics app current by scheduling the app to refresh regularly.
Available in: Developer, Enterprise, Performance, and Unlimited editions where B2B Communications Cloud is enabled
1723
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Creating a schedule for app refresh runs the 4 recipes for this app to run in the correct order. To schedule your app, see Schedule Data
Refresh for a CRM Analytics App on page 1660.
Note: We recommend that you schedule the app refresh every day outside of normal business hours, such as midnight in the
majority of your users' time zone.
Available in: Developer, Enterprise, Performance, and Unlimited Editions where B2B Communications Cloud is enabled
The Analytics for Communications - Order Tracking app includes these dashboards:
• My Orders and Tasks
• Fallout Management
• Order Analysis
• Order Overview (embedded)
1724
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (1) Orders by Time Remaining to Complete Pending Tasks: Shows the elapsed time for each order and gives you a quick insight into
which order to focus on. Click an order row to know more about the order.
Note: The chart shows all the orders that have at least one manual task pending.
• (2) Tasks and Milestones for Order <>: Shows the order, the corresponding tasks, and the milestones. You can also view the status
of each task and the milestones that the order belongs to.
1725
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (1) Milestone Status by Orders: Shows the distribution of orders in each milestone and tracks the overall milestone health for fallout
and jeopardy severity to identify orders at risk of missing their assigned service level agreement (SLA). The color of the bubble
depends on the fallout distribution of orders in a particular milestone:
– Grey: Denotes different stages in the quote creation and pre-orchestration workflow
– Green: Order fulfillment is on track and is expected to be completed on time. No immediate actions are required, and the orders
are being processed in adherence to standard operations flow.
– Yellow: Based on the progress of the orchestration plan completion, a manageable risk exists of a considerable number of orders
missing the due date. But the fallout percentage can still be under the overall SLA.
– Red: The number of orders in fallout exceeds the organizational threshold, and the milestone needs immediate attention from
the fallout manager
Hover over the bubble to view more details.
• (2) Total Count: The size of the bubble depends on the total count of orders in each milestone.
• (3) My Orders: Lists all your orders with details. Select a bubble to filter and view the orders specific to a milestone.
1726
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (1) Total Orders: Shows the total count of in-progress orders. You can view and compare the total order count with the previous
period's data. View the detailed analysis on the right pane, where you can view the orders’ trend over time.
• (2) Delayed Orders: Shows the count of in-progress orders that are past the due date. You can view and compare the count of delayed
orders with the previous period's data. View the detailed analysis on the right pane, where you can view the orders’ trend over time.
• (3) Failed Orders: Shows the count of in-progress orders with at least one task failed. You can view and compare the count of failed
orders with the previous period's data. View the detailed analysis on the right pane, where you can view the orders’ trend over time.
• (4) Orders in Jeopardy: Shows the count of in-progress orders with Jeopardy Status as red. You can view and compare the count of
orders in jeopardy with the previous period's data. View the detailed analysis on the right pane, where you can view the orders’ trend
over time.
• (5) Last 12 M: Shows the trend based on the current order count with the last 12 month’s order data. The last 12 months include the
last 11 months, the current month, and three forecasted months.
• (6) Last 12 W: Compares the current order count with the last 12 week's order data. The last 12 weeks include the last 11 weeks, the
current week, and three forecasted weeks.
1727
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (7) Last 7 D: Compares the current order count with the last seven days’ order data. The last seven days include the last seven days
and the forecasted three days.
• (8) Current: Differentiates the actual data trend (solid line until the current date) and the forecasted data trend (dotted line after the
current date).
• (9) Orders: Shows the distribution of orders based on the selected measure:
– Order Status: Shows the count of orders in each order status.
– Fulfillment Status: Shows the count of orders in each fulfillment status.
– Jeopardy Status: Shows the count of orders in each jeopardy status.
Order Status is the default status.
• (10) Tasks: Shows the distribution of tasks based on the selected measure.
– Task Type: Shows the count of tasks in each task type.
– Task Status: Shows the count of tasks in each task status.
– Jeopardy Status: Shows the count of tasks in each jeopardy status.
Jeopardy Status is the default status.
• (11) Order Distribution: Shows the distribution of orders based on the selected measure:
– Avg Task Completion Time: Shows the completed tasks based on the task type and the average time to complete.
– Avg Milestone Completion Time: Shows the completed orders in each milestone and the average time to complete the milestone.
Avg Milestone Completion is the default measure.
• (12) Order Distribution by Tasks Reached: Shows the distribution of orders based on the last task completed in a specific orchestration
plan. Hover over the individual bars to see the average time taken for each named task.
1728
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (1) Total Tasks: Shows the count of all manual tasks assigned to the team.
• (2) Total Tasks Completed: Shows the count of tasks completed by the team.
• (3) Tasks Completed: Shows the percentage of completion of tasks compared to the total tasks.
• (4) Team Performance: Shows the performance of each team member based on the selected task status. Completed is the default
status, and indicates the percentage of manual tasks completed by each team member.
• (5) Individual Performance: Shows the performance of the selected team member based on the team’s performance. You can assess
performance by comparing the time taken by the team member to complete a task with the average time taken by the team to
complete the same task.
1729
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• (1) Days Since Open: Shows the count of days that the order has been in the Open status.
• (2) Order Due in: Shows the number of days that remain for or have passed the order due date.
• (5) Business Milestone in the Orchestration Plan: Shows the milestones for the specific order and the status.
• (6) Pending Milestones by Expected Completion Time: Shows pending milestones for the specific order and the expected completion
date.
1730
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1731
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The template creates datasets, recipes, and dashboards to help you understand your Energy and Utilities deals.
Important: For general app creation procedures for all templates, see Create Apps from CRM Analytics Templates: Start Here This
link provides specifics about creating and using the app.
Salesforce Org Requirements
Note these requirements to create an app from the template:
• Your org must have at least one of each of these record types: Account, Opportunity, Quote.
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app. See Set Field Level Security
to Enable Creation of an CRM Analytics Template.
• This template uses recipes. Recipes require that your org is set up for data sync. For a better understanding of working with recipes,
see Run a Recipe.
• For security purposes, you likely want to configure compliant data sharing. For details, see Enable Compliant Data Sharing for Objects.
Create the App
1. In CRM Analytics Studio, click Create in the upper right corner
2. To open the template picker, select App, then Create App from Template.
3. Locate the Analytics for Energy and Utilities tile, select it, and click Continue.
4. Review the app preview page, and click Continue to open the configuration wizard.
5. If you’re offered a choice of basing your app on an existing app or creating a one, select Create a brand new app and click Continue.
Analytics for Energy and Utilities runs a compatibility check against your org to ensure it includes the data to successfully create the
app’s datasets, recipes, and dashboards. If it doesn’t, follow the instructions in the error message to add the required data and start
the app creation process again.
6. When the org compatibility check succeeds, click Looks good, next.
7. Name your app, and click Create.
Give CRM Analytics a few minutes to create your app. You can track its progress on the page that appears. When you see the Application
Complete! message, refresh the page. You see your app page with the datasets, recipes, and dashboards showing team performance
and activity intelligence. Click it to have a look.
Schedule the App Refresh
The app creates a recipe. Schedule the app refresh to sync data and to run recipe. To schedule your app, see Schedule Data Refresh for
a CRM Analytics App on page 1660. Select a time outside normal work hours so the data refresh doesn’t interrupt business activities.
Embed Analytics for Energy and Utilities
1732
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The Analytics for Energy and Utilities app includes dashboards that you can embed and access in Lightning Experience pages and
Salesforce Classic experiences.
For general instructions on embedding dashboards, see Embed Dashboards Everywhere in Salesforce Help.
For instructions on filtering embedded dashboards, see Filter and Selection Syntax for Embedded Dashboards in Salesforce Help.
Assign Analytics for Energy and Utilities for Admins
Enable administration of the Analytics for Energy and Utilities app by assigning the relevant permissions.
Available in: Developer, Enterprise, Performance, and Unlimited editions.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user.
3. Click Permission Set Assignments, and then click Edit Assignments.
4. Select both the CRM Analytics Plus Admin permission set.
5. Click Add, then save your changes.
6. Repeat Steps 2–5 for all users who administrate the Analytics for Energy and Utilities app
Assign Analytics for Energy and Utilities for Users
Enable administration of the Analytics for Energy and Utilities app by assigning the relevant permissions.
Available in: Developer, Enterprise, Performance, and Unlimited editions.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user.
3. Click Permission Set Assignments, and then click Edit Assignments.
4. Select the CRM Analytics Plus User permission set.
5. Click Add, then save your changes.
6. Repeat Steps 2–5 for all users who view the Analytics for Energy and Utilities app.
Datasets
1733
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: When you work with .CSV files you want to import to CRM Analytics for Energy and Utilities, create and open them using
only a UTF-8-compliant text editor. Opening them in Microsoft Excel or other spreadsheet software reformats .CSV files and makes
them unusable in Analytics for Energy and Utilities.
Important: When you create the .CSV file, be sure it contains the following fields, in this order, with exactly these names. Field
names are case-sensitive:
1. StartDate (in yyyy-mm-dd format)
2. QuotaAmount
3. OwnerName
4. Username
1. Create a .CSV file to include the fields described, that is StartDate (in yyyy-mm-dd format), QuotaAmount, OwnerName, Username.
For an example, see Sales Analytics Example .CSV File.
2. Save the file to a location that you can easily remember.
3. In Salesforce, go to the CRM Analytics home page and find the plain_quota dataset.
4. Click the arrow at the upper right corner of the dataset panel and select Edit.
5. Salesforce displays the dataset editing screen for the plain_quota dataset. Look for Replace Data in the upper right corner and click
it.
1734
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
6. In the dialog box that opens, navigate to the .CSV file you created in Step 1, and double-click it.
7. To open the Replace Dataset Data page, click Next.
8. If your fiscal period is different than calendar period, that is if it starts on a date other than January 1, update the plain_quota Metadata
file. If your fiscal period starts on January 1, skip to the next step.
a. Copy the JSON from Sales Analytics Quota Dataset JSON File and paste it into a text editor of your choice.
b. Change the value of "fiscalMonthOffset" from 4 to a number that represents the month your fiscal period starts. In
metadata, the numeral “0” stands for January, “1” stands for February, and so on, up to “11,” which stands for December. Save
the file to your desktop.
c. In CRM Analytics Studio, go to the Replace Dataset Data page and locate the Data Schema File area of the page. Click the arrow
next to Quota .JSON file, select Replace File, find the file you saved and upload it to CRM Analytics.
9. On the Replace Dataset Data page, click Next to open the Edit Field Attributes page. The first column —QuotaAmount— is selected.
If not, select it. In the Field Attributes panel on the right, make sure Field Type is set to Measure.
10. After uploading your quota data, rerun the recipe to update the dashboards.
a. Click the Gear menu at the upper right of CRM Analytics Studio and select Data Manager.
b. Select the Dataflow & Recipes view from the menu at the top left of the Data Manager screen and click the Recipes tab in the
main pane.
1735
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
c. Find your app’s recipe. Open the menu on the far right of the screen next to the app icon and name, and click Run now.
Note: Analytics for Financial Services is available at an extra charge for customers with Financial Services Cloud Basic or Standard
licenses and the FSCAnalyticsPlus (Analytics for Financial Services) license. See Deploy CRM Analytics for Financial Services in the
Financial Services Cloud Administrator Guide for complete deployment instructions.
1736
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Analytics for Retail Banking is included with CRM Analytics for Financial Services, which is available at an extra charge for
customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial Services)
license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Note: Consumer Banking Starter Analytics is included with CRM Analytics for Financial Services, which is available at an extra
charge for customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial
Services) license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
1737
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The template creates datasets, recipes, and dashboards to help you understand your Corporate and Investment Banking deals.
Important: For general app creation procedures for all templates. see Create Apps from CRM Analytics Templates: Start Here This
link provides specifics about creating and using the app.
Salesforce Org Requirements
Note these requirements to create an app from the template:
• Make sure that you and all app users have the FSC Apps license.
• Your org must have at least one of each of these record types: FinancialDeal, and Account.
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app. See Set Field Level Security
to Enable Creation of an CRM Analytics Template.
• This template uses recipes. Recipes require that your org is set up for data sync. For a better understanding of working with recipes,
see Run a Recipe.
• For security purposes, you likely want to configure compliant data sharing. For details, see Enable Compliant Data Sharing for Objects.
Create the App
1. In CRM Analytics Studio, click Create in the upper right corner
2. To open the template picker, select App, then Create App from Template.
3. Locate the Analytics for Corporate and Investment Banking tile, select it, and click Continue.
4. Review the app preview page, and click Continue to open the configuration wizard.
1738
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
5. If you’re offered a choice of basing your app on an existing app or creating a one, select Create a brand new app and click Continue.
Analytics for Corporate and Investment Banking runs a compatibility check against your org to ensure it includes the data to successfully
create the app’s datasets, recipes, and dashboards. If it doesn’t, follow the instructions in the error message to add the required data
and start the app creation process again.
6. When the org compatibility check succeeds, click Looks good, next.
7. Name your app, and click Create.
Give CRM Analytics a few minutes to create your app. You can track its progress on the page that appears. When you see the Application
Complete! message, refresh the page. You see your app page with the datasets, recipes, and dashboards showing team performance
and activity intelligence. Click it to have a look.
Schedule the Recipe
The app creates a recipe. Schedule the recipe to sync data and to run.
1. In CRM Analytics Studio, click the wheel icon at upper right and select Data Manager. Or, click the Data Manager link in the
left-hand column.
2. Schedule the sync, and then select the Connect tab on the left.
Note: If you can’t see the Connect tab, you must enable data sync in your org. See Enable Data Sync and Connections.
3. Click the arrow to the far right of SFDC_LOCAL, which is the name of the connection your app uses. From the menu that appears,
select Schedule.
4. Set a time for running the data sync. It’s best to select a time outside normal working hours so the sync and recipe don’t interrupt
business activities. Then save your changes.
5. Next, schedule the recipe. Select the Dataflows & Recipes tab on the left.
6. Schedule the recipe.
a. Look for the recipe that contains the name of your app appended with _CIB_Deal_Management, and click the triangle
to the far right.
b. Select Schedule, then check the box next to Time-based.
c. Select the time to run the recipe. You can schedule the data to run by minute, hour, week, or month. See Schedule a Dataflow
to Run Automatically for more details.
d. Save your changes.
The recipe now syncs and runs every day at the time you set.
Embed Analytics for Corporate and Investment Banking
The Analytics for Corporate and Investment Banking app includes dashboards that you can embed and access in Lightning Experience
pages and Salesforce Classic experiences.
For general instructions on embedding dashboards, see Embed Dashboards Everywhere in Salesforce Help.
1739
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
For instructions on filtering embedded dashboards, see Filter and Selection Syntax for Embedded Dashboards in Salesforce Help.
Assign Analytics for Corporate and Investment Banking for Admins
Enable administration of the Analytics for Corporate and Investment Banking app by assigning the relevant permissions.
Available in: Developer, Enterprise, Performance, and Unlimited editions that have Financial Services Cloud enabled.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user.
3. Click Permission Set Assignments, and then click Edit Assignments.
4. Select both the CRM Analytics Plus Admin and FSC Analytics Admin permission sets.
5. Click Add, then save your changes.
6. Repeat Steps 2–5 for all users who administrate the Analytics for Corporate and Investment Banking app
Assign Analytics for Corporate and Investment Banking for Users
Enable administration of the Analytics for Corporate and Investment Banking app by assigning the relevant permissions.
Available in: Developer, Enterprise, Performance, and Unlimited editions that have Financial Services Cloud enabled.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user.
3. Click Permission Set Assignments, and then click Edit Assignments.
4. Select both the CRM Analytics Plus User and FSC Analytics User permission sets.
5. Click Add, then save your changes.
6. Repeat Steps 2–5 for all users who view the Analytics for Corporate and Investment Banking app.
Datasets
Financial Deal Party Financial Deal Party, Financial Deal, Account, None.
1740
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Click the fields on the left to populate the charts on the right. Click (1) Open Deals to understand your open pipeline. Click (2) Deals in
progress to understand which deals to focus on. Click (3) Call Reports to see overall client engagement and progress. Click (4) Received
Fee to understand expected vs. received fees over time.
1741
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Open Deals by stage: Sum of Transaction Value from Financial Deal object where Deal status is "Open" by Stage.
Account Insights
The Account Insights dashboard answers questions such as how many deals are being managed in a given account space? What are
your customer interactions and profitability? And what meetings are scheduled with deal parties?
Click the fields on the left to populate the charts on the right. Click (1) Total Received Fee to understand what is the overall revenue
generated from this account. Click (2) Total # Interactions to understand overall client engagement. Click (3) Open Deals to see how
is overall client engagement.
1742
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Deal Insights
Deal insights help you answer questions such as how is the deal progressing? What milestones have been met? What interactions are
planned for the future?
1743
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Click the fields on the left to populate the charts on the right. Click (1) Total $ Received Fee to understand what is your deal profitability
status. Click (2) # Call Reports to understand overall client engagement, and what interactions you plan to engage with the customer.
Click (3) Days since Last Interactions to see which deals need your attention.
1744
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Wealth Starter Analytics is included with CRM Analytics for Financial Services, which is available at an extra charge for
customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial Services)
license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Note: Analytics for Wealth Management is included with CRM Analytics for Financial Services, which is available at an extra charge
for customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial
Services) license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Note: Predict Likelihood to Add Assets for Wealth Management Analytics is included with CRM Analytics for Financial Services,
which is available at an extra charge for customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus
(CRM Analytics for Financial Services) license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Note: Predict Client Churn Risk for Wealth Management Analytics is included with CRM Analytics for Financial Services, which is
available at an extra charge for customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM
Analytics for Financial Services) license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Available in: Developer, Edition and for an extra cost in Enterprise, Performance, and Unlimited Editions
1745
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: To create an app from the Revenue Management for Financial Services Cloud template, the FSC-Managed Package must
be installed in your org.
Available in: Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited Editions
Available in: Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited Editions.
1746
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Assign permissions to users to work with the Revenue Management for Financial Services Cloud app.
1. From Setup, in the Quick Find box, enter Users, and then select Users.
2. Click the name of the user to whom you want to assign permissions.
3. Click Permission Set Assignments > Edit Assignments
4. To assign the user necessary admin permissions, select both the CRM Analytics Plus Admin and the RI for Fins Admin permission
sets.
5. To assign the user necessary user permissions, select both the CRM Analytics Plus User and RI for Fins User permission sets.
6. Add the permission sets, and then save your changes.
Available in: Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited Editions
1747
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
10. After the process is complete, refresh the page to see your app.
11. To share the app with your users, open your app in CRM Analytics Studio. You can share the app only with users who have the
appropriate permission set.
12. In CRM Analytics Studio, open your app
13. On the Give Access tab of the share window, under Invite others, add the names of users that you want to share the app with.
14. For every user that you add, select their level of access: Viewer, Editor, or Manager.
15. Save your changes.
Available in: Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited Editions
1748
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Clients by Age Group: See the distribution of your clients’ AUM and financial accounts sorted by AgeBucket. Use this chart to better
understand who your clients are.
• Whitespace Analysis: Use this chart to identify gaps in your business and uncover upsell and cross-sell opportunities within your
product portfolio, sorted by States and Category.
• Whitespace Analysis for Individual Accounts: Use this chart to identify gaps in your business and uncover upsell and cross-sell
opportunities within your product portfolio, sorted by individual person accounts.
Key Performance Indicators in the Summary Metrics
This table shows the key performance indicators in Summary Metrics.
Wallet Share Average of wallet share for accounts Average of the Wallet Share from the
Account object for non-household
account records.
# of Financial Accounts Number of financial accounts Count of rows from the Financial
Account object.
Total FA Balance Summary of the financial account balance. Sum of the balance from the Financial
Account object.
Wallet Share Average of wallet share for accounts Average of the Wallet Share from the
Account object for non-household
account records.
# of Financial Accounts Number of financial accounts Count of rows from the Financial
Account object.
Total FA Balance Summary of the financial account balance. Sum of the balance from the Financial
Account object.
Note: All the charts with these metrics are grouped by Account Name and sorted by selected metric values in descending order.
1749
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
This table shows the key performance indicators in the Advisor Leaderboard chart.
# of Clients Count of accounts for non-household account Count of accounts for non-household
records. account records.
Total FA Balance Summary of the financial account balance. Sum of the balance from the Financial
Account object.
Note: All the charts with these metrics are grouped by Owner Name and User Name from the Account object. The groupings are
sorted by selected metric values in descending order.
Key Performance Indicators in the Clients by Age Group Chart
This table shows the key performance indicators in the Clients by Age Group chart.
# of Clients Count of accounts for non-household account Count of accounts for non-household
records. account records.
Note: AgeBucket is a derived field in the recipe that’s used to group the data for these metrics. Bucketing is based on the values
available in Age fields in the Account object.
Key Performance Indicators in the Whitespace Analysis by States and Category Chart
This table shows the key performance indicators in Whitespace Analysis by States and Category chart.
1750
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Account
• FinancialAccount
Key Performance Indicators in the Whitespace Analysis for Individual Accounts Chart
This table shows the key performance indicators in Whitespace Analysis for Individual Accounts chart.
The Client Whitespace Analysis for Individual Accounts chart uses these Salesforce objects.
• Account
• FinancialAccount
Win Rate Total won opportunity percentage from all Total Number of Closed Won
opportunities closed in the selected date Opportunities / [Total Number of Closed
range. Won + Total Number of Closed Lost]
Opportunities
1751
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
No Activity This metric can be one of two measures. No No Recent Activity: Count of open
recent activity (Open opportunities with no opportunities with no activity in the last
activity in the last fourteen days), or No fourteen days.
upcoming activity (Open opportunities with No Upcoming Activity: Count of open
no activities scheduled in the future from opportunities with no activities
today.) scheduled in the future from today.
No Next Step Open Opportunities where the Next Step field Sum of all Open Opportunities where
is blank. the Next Step field is blank.
Note: No Next Step view is available only for standard opportunity selection.
Conversion Rate The ratio of converted opportunities to the Total Wins / Total Opportunities Closed
total opportunities grouped by product. Use opportunities
in the last 365 days.
Avg Potential Value The average value of opportunity by product. Avg of Opportunity Amount field by
Product
1752
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Closed Won Opportunities Total won opportunities closed in the selected Sum of all Closed Won Opportunities
date range.
Closed Lost Opportunities Total lost opportunities closed in the selected Sum of all Closed Lost Opportunities
date range.
Projected Value Sum of Potential Value of all closed Potential Value of All Closed
opportunities within the selected duration. Opportunities + [(Avg Potential Value
per Day * Number of days remaining)]
New Opportunities All the opportunities created in the selected Sum of all the opportunities created in
duration from the date filter. the selected duration from the date
filter.
Opportunities Carried Over to Next Period Opportunities initially planned to close in this Sum of all opportunities initially
period but moved to the next period. planned to close in this period but
moved to the next period.
Opportunities Not Closed Opportunities that have crossed their closing Opportunities that have crossed their
date but the stage isn’t closed. closing date but the stage isn’t closed.
Key Performance Indicators in the Opportunities by Product and Opportunity Stage Chart
This table shows the key performance indicators in the Opportunities by Product and Opportunity Stage chart:
1753
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Opportunity Stage Indicates the Opportunity status, for example, The potential value and Count of
Closed/Won. Opportunities.
Value Type Indicates how to display the value of the Indicates how to display the value of
opportunity. the opportunity.
Key Performance Indicators in the Percentage of Opportunities by Product and Opportunity Stage Chart
This table shows the key performance indicators in the Percentage of Opportunities by Product and Opportunity Stage chart:
Opportunity Stage Indicates the Opportunity status, for example, The potential value and Count of
Closed/Won. Opportunities in percentage.
Value Type Indicates how to display the value of the Indicates how to display the value of
opportunity. the opportunity.
Total Deposit Indicates the total value of deposits of your Indicates the total value of deposits of
clients. your clients.
No of Financial Accounts Number of financial accounts Count of rows from the Financial
Account object.
Win Rate Indicates the total won opportunities closed Sum of all won opportunities that are
in the selected date range. closed in the selected date range.
1754
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Summary Metrics: Use this chart in places where you want to see a quick summary of your leads.
• Lead Pipeline Chart: Visualize opportunities by pipeline stage in terms of the number of leads or revenue. Use the pipeline chart for
a high-level view of your leads.
• Leads Generated by Time Chart: Use this chart to understand if you’re generating enough leads for your pipeline and whether you’re
gaining leads consistently over time.
• Lead Conversion by Lead Source: Use this chart to identify the most effective lead sources based on the lead conversion rate. You
can focus on lead sources that bring in qualified leads consistently.
• Open Lead Distribution by Lead Source: Quickly view the count of leads that are open for each lead source. Use this chart to identify
the sources of leads that are difficult to convert to customers.
• Lead Projections by Lead Source: Understand the count of open leads from a specific lead source and the projected lead conversion.
Identify high-value open leads that need more focus.
Key Performance Indicators in the Summary Metrics
This table shows the key performance indicators in the Summary Metrics chart.
Total Converted Count of converted leads from the Lead object Count of Leads where IsConverted =
true from the Lead object
Conversion Rate The ratio of converted leads to the total leads. Total Converted / Count of Leads from
the Lead object.
Avg. Time to Convert (days) Average number of days between Created Average number of days between
Date to Converted Date for all the converted Created Date to Converted Date for all
leads from the Lead object. the converted leads from the Lead
object.
Count of leads Total count of leads in the pipeline Count of Leads by different statuses
from the Lead object.
1755
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Conversion Rate The ratio of converted leads to the total leads. Total Converted / Count of Leads from
the Lead object.
The Lead Conversion by Lead Source chart uses this Salesforce object:
• Lead
Key Performance Indicators in the Open Lead Distribution by Lead Source Chart
This table shows the key performance indicators in the Open Lead Distribution by Lead Source chart.
Percentage of Total Leads by Lead Source Indicates the percentage of leads created from Count of leads by their source.
a specific source.
Lead Conversion Rate by Source Indicates the conversion rate of leads Lead conversion rate by lead source
generated from each source
The Open Lead Distribution by Lead Source chart uses this Salesforce object:
• Lead
Key Performance Indicators in the Lead Projections by Lead Source Chart
This table shows the key performance indicators in the Lead Projections by Lead Source chart.
Open Leads by Source Indicates the count of open leads generated Count of open leads by their source.
from each source.
Lead Conversion Rate by Source Indicates the conversion rate of leads Lead conversion rate by lead source
generated from each source
The Lead Projections by Lead Source chart uses this Salesforce object:
1756
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Lead
Key Performance Indicators in the Leads by Contact Timeline Chart
This table shows the key performance indicators in the Leads by Contact Timeline chart.
Days Since Last Contact Indicates the number of days passed since the Count of days passed since the last
last contact with the lead. contact with the lead.
Total Activities Indicates the count of activities (tasks and Count of activities (tasks and activities)
activities) for the lead. for the lead.
Client 360
Use the charts on the Client 360 page to get a comprehensive view of a specific client’s financial portfolio. The analytics provide insights
to the financial managers to understand their clients better based on their current financial situation, to identify risks and opportunities,
and to offer a personalized financial plan to improve their financial position. You can filter the analytics data based on billing country,
billing state/province, status, and marketing segment. The Client 360 page consists of the Overview and Client Holdings tab, Leads and
Opportunities tab, and Service and Engagement tab.
• Overview and Client Holdings:
– Financial Goal: View the client’s progress on various goal types.
– Financial Account: Get a quick summary of client’s financial accounts based on the value and held away assets.
– Financial Holdings: Get insights into the various financial holdings of the client based on price and market value.
– Assets and Liabilities: Get a summary of client’s assets and liabilities by type.
1757
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Leads and Opportunities: Provides insights to identify high scoring leads and keep track of your contact timeline with the leads'
accounts.
• Service and Engagement:
– Engagement Score: Indicates the client’s interaction with the organization or the financial manager.
– Case Details: Get a summary of the cases filed by the client including the total count, count of open cases, count of escalated
cases, and average time taken to resolve the request.
SLA Management
Here are examples of SLA related questions that the dashboard can answer:
• What's the average handling time for complaints, and how does it differ from the previous period?
• What's the count of complaints that have been open for more than 56 days, and how does it differ from the previous period?
1758
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Complaints Resolution
Here are examples of complaints resolution related questions that the dashboard can answer:
• What’s the count of complaints resolved, and how does it differ from the previous period?
• What’s the monetary settlement amount for complaints, and how does it differ from the previous period?
• How many complaints were resolved based on complaint type and subtype?
• What’s the monetary settlement for complaints based on complaint type and subtype?
• What’s the count of complaints for each user?
Note: Analytics for Mortgage is included with CRM Analytics for Financial Services, which is available at an extra charge for
customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial Services)
license. See Deploy CRM Analytics for Financial Services for complete deployment instructions.
Note: Analytics for Insurance is included with CRM Analytics for Financial Services, which is available at an extra charge for
customers with Financial Services Cloud Basic or Standard licenses and the FSCAnalyticsPlus (CRM Analytics for Financial Services)
license. See Use CRM Analytics for Insurance.
1759
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Analytics for Healthcare is only for Salesforce Health Cloud users. It requires that you have the Health Analytics Plus add-on
license. See Provide Patient and Member Insights with Analytics.
1760
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Patient Risk Stratification brings your Health Cloud data into CRM Analytics to help you deliver the right level of care management to
high-risk patients. The Patient Care Risk Stratification dashboard lets you drill in to a population. You can see risk score, age, number of
conditions, and enrollment type for specific population segments. The metrics help you understand risk for your patients and plan the
appropriate level of care to assure best-possible treatment outcomes.
Important: See Create Apps from CRM Analytics Templates: Start Here for general app creation procedures for all CRM Analytics
templated apps. The information here provides specifics about creating and using the Patient Risk Stratification app.
Note: Analytics App and Template functionalities included as a part of CRM Analytics are only available in English.
Org Requirements
Your org requires the following before you can create an app from the Patient Risk Stratification template:
• Make sure you and all app users have the CRM Analytics license.
• Patient Risk Stratification is only for Health Cloud customers who have installed the Health Cloud Risk Stratification package.
• Your org needs to include at least one risk score within a program patient summary record. You also need to use Record Types.
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app. See Set Field Level Security
to Enable Creation of an CRM Analytics Template.
1761
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: The action is called something different in your org if you gave it a different name. See the section above, Enable Bulk Actions
in the App.
1762
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: CRM Analytics for Manufacturing is only for Salesforce Manufacturing Cloud users. It requires that you have the Manufacturing
Analytics Plus add-on license. See Deploy CRM Analytics for Manufacturing.
1763
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: See Create Apps from CRM Analytics Templates: Start Here for general app Available in Salesforce
creation procedures for all CRM Analytics templated apps. The information here provides Classic and Lightning
Experience.
specifics about creating and using the Public Sector Case Analytics app.
Available with CRM
Analytics, which is available
for an extra cost in
Enterprise, Performance,
and Unlimited Editions. Also
available in Developer
Edition.
USER PERMISSIONS
The app’s prebuilt dashboards give you instant insight into case status, surfacing the ones that require immediate attention. Visualizations
surface case-related activities that are near or past due to help you stay on track delivering client services. View bottlenecks in the process
so you can take action to assure effective case management and resolution. And see if you and your team are compliant with service
level agreements.
Also, get details about your clients and beneficiaries, trends in client satisfaction, and case history brought to life via interactive visualizations.
You can also immediately surface top-performing case managers and understand why they’re effective. And identify lower performers
so you can help them take steps to become more effective.
Org Requirements
Your org requires the following before you can create an app from the Public Sector Case Analytics template:
• Make sure you and all app users have the Analytics Plus or Analytics Growth licenses.
• Your org must have at least one closed case and one closed task to enable app creation.
• The wizard checks to see if you track data about the following in your org:
– Customer satisfaction (CSAT)
– Knowledge
– Case history
– Queues
– Events
– Business hours
1764
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app. See Set Field Level Security
to Enable Creation of a CRM Analytics Template.
• CRM Analytics looks for your org’s fiscal year start date and uses it in app dashboards. To choose a different fiscal start date, use the
app’s Custom create option.
The following provide details about each using each part of the wizard. Read them in the order shown to get the best results when you
create Service Analytics. Click the question mark in the top-right corner of each page of the wizard to see help for that page.
1765
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
5. Case Metrics Questions, Public Sector Case Analytics Custom Wizard Step 4 of 6
Answer a series of questions to tell CRM Analytics how you prefer to view metrics about your cases.
6. Data Drill Down Questions, Public Sector Case Analytics Custom Wizard Step 5 of 6
Tell Public Sector Case Analytics how you prefer to drill into data about cases, including category, type, severity, owner, and reason,
and if they’re resolved at first contact.
7. Questions About Features Added to Public Sector Case Analytics; Custom Wizard Step 6 of 6
Provide more specifics about how Public Sector Case Analytics uses data from the features you add to the app.
8. Set Up Public Sector Case Analytics CSAT Metrics: Example
This scenario provides detail to help you answer questions about CSAT data in Step 6 of the Public Sector Case Analytics configuration
wizard.
need to correct before creating the app, you see messages that tell you what to do. Position your cursor over the tooltip for more
information.
Here are details about each phase of the check.
Minimum Requirements
Your org must have at least one closed case and one closed task to enable app creation. If you see an error message, close a case and a
task and try creating the app again
The tooltip tells you which are available in your org. Basic app creation automatically adds those features. Custom app creation
lets you choose the ones to add.
Note: CSAT and knowledge data can only be added using custom app creation.
1766
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Field-Level Security
The wizard checks if the Analytics Integration User has access to all fields needed to create the app using the basic create option. If the
Integration User can’t access all fields, you see a warning and the tooltip lists the fields that lack access. Go to Salesforce Setup and
provide access to those fields. See Set Field Level Security to Enable Creation of an CRM Analytics Template. Until all fields are available,
you can’t use the basic create option.
Case History
The wizard checks to be sure that your org uses history tracking on the Cases object for case status and owner. If it doesn’t, follow the
directions in the error message and try creating your app again.
1767
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Fifty (50) seconds as the maximum time agents can keep customers waiting during phone calls.
To vary these settings based on how you use Service Cloud, select the custom create option.
1768
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Case Metrics Questions, Public Sector Case Analytics Custom Wizard Step 4 of 6
Answer a series of questions to tell CRM Analytics how you prefer to view metrics about your cases.
Note: This page is labeled Step 4 of 6, even though it’s the first page of questions you see after you select custom create. This is
the fourth of six steps for creating Public Sector Case Analytics with the custom option.
• Question 1, optional: Asks you to indicate the primary field you use in Salesforce to track case duration, if any. If you don’t track case
duration, CRM Analytics uses its own formula to calculate case duration based on the date a case was opened and closed. If the case
is still open, it uses today’s date as part of the calculation. Allows only a single selection. If you add business hours to the app, CRM
Analytics includes a business hours case duration calculation.
• Question 2, optional: Asks if you use other (secondary) fields related to case duration. You can select multiple fields, for example,
Duration with client and Duration with case manager.
• Question 3, optional: Asks you to select the field you use to track SLA compliance. Typically, you would track SLA compliance with
a custom formula field on the Cases object or the standard Milestone Status field. (Milestone Status field values include compliant,
open violation, and closed Violation). If you track SLA compliance using a Boolean custom formula field, you can’t select that field
from the wizard. In that case, do the following: Select any field and then manually edit the dataflow to include the Boolean field.
Then, find and replace the field name in Public Sector Case Analytics dashboard JSON (see CRM Analytics Dashboard JSON Reference).
• Question 4, optional: Asks you to select the field you use to record that a case is resolved on first contact. You would typically track
first contact resolution using a Boolean custom formula field on the Cases object or the standard Closed when Created
(IsClosedOnCreate) field.
• Question 5, optional: Asks if you’d like to include other Cases object metrics in your app. Choose a numeric field.
Data Drill Down Questions, Public Sector Case Analytics Custom Wizard Step 5 of 6
Tell Public Sector Case Analytics how you prefer to drill into data about cases, including category, type, severity, owner, and reason, and
if they’re resolved at first contact.
Note: This page is labeled Step 5 of 6, even though it’s the second page of questions you see after you select custom create. This
is the fifth of six steps for creating Public Sector Case Analytics with the custom option.
• Question 1, required. Asks about the field you use to categorize cases. Choose the name of the field you use to identify and organize
cases, such as service category, type or level.
Note: This is the only question you see if you use basic app creation.
• Question 2, optional. Asks about the field you use to record clients’ type of support. Examples include premium and basic.
• Question 3, required. Asks which field you use to categorize case severity—usually the field you use to prioritize cases.
• Question 4, required. Asks which field you use to track case status of case. You filter and analyze cases in dashboards based on your
selection.
• Question 5, required. Asks about the field you use to identify topics, reasons, and closure codes of cases. Your selection helps you
understand which kinds of cases your team solves most efficiently.
• Question 6, required. Asks you to choose the field you use to track types of cases so you can filter and analyze cases according to
support type.
• Question 7, required. Asks you to select the field used to track channels clients use to open cases, such as phone, email, mobile, or
web.
• Question 8, required. Asks you to select the object used to track cases according to geography. Options are Accounts, Contacts (if
not using Person Accounts), and Cases. Defaults to Accounts, which is used in basic create.
• Question 9, required. Asks you to indicate the field in the object selected in Question 8 to track cases by geography. Defaults to
Billing State/Province, which is used in basic create.
1769
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Question 10, required. Asks you to indicate your fiscal year start month. Defaults to January; select another month if your fiscal year
is different from calendar year. Public Sector Case Analytics supports only standard fiscal periods.
• Question 11, optional: Select dimension fields from the Cases object you haven’t selected in previous questions. Adding dimensions
lets you drill into dimensions that are important to your organization. Dimensions are qualitative values, such as date, region, and
product name.
Questions About Features Added to Public Sector Case Analytics; Custom Wizard Step 6 of 6
Provide more specifics about how Public Sector Case Analytics uses data from the features you add to the app.
Note: This page is labeled Step 6 of 6, even though it’s the third page of questions you see after you select custom create. This is
the last of six steps for creating Public Sector Case Analytics with the custom option.
Most of the questions on this page appear only if you add CSAT and knowledge features to your app. Follow the instructions carefully
to assure success.
• Question 1, required. You see this question only if you add CSAT to your app. Asks which object you use to track CSAT. Public Sector
Case Analytics defaults to Cases. If you use a different object to track CSAT, select it from the pick list and answer the additional
questions that appear.
• Question 2, required. You see this question only if you add CSAT to your app. Asks you to select the field from the object selected in
Question 1 you use to track CSAT.
– Question 2a, required. You see this question only if you select an object other than Cases in Question 1. Public Sector Case
Analytics has to create a join between that object and Cases for you to see CSAT data in dashboards. (For an example, see Set
Up Public Sector Case Analytics CSAT Metrics: Example.) Enter the API name the field where you store case identification
information. Usually, that’s the Id field, in which case you enter Id.
If it’s a field other than Id, find the API name for the field. Go to Setup—>Cases—>Fields. In the top chart showing standard
fields, field name column shows the API name. For example IsSelfServiceClosed is the API name for the Closed by Self-Service
User field. The chart further down for custom fields includes an API Name column.
– Question 2b, required. You see this question only if you select an object other than Cases in Question 1. Determine which field
from the object selected in Question 1 to use for the other side of the join with the Cases object. Use the field that contains case
identification. Enter the API name for the field here.
• Question 3, required. You see this question only if you added knowledge to your app. Asks about the article type you want to see
data about in Public Sector Case Analytics dashboards. Choose only a single article type. To see the names of available article types,
go to Salesforce Setup and enter knowledge in the Quick Find box.
• Question 4, required. You see this question only if you add telephony to your app. Asks you to set the maximum time in seconds
case managers can keep clients waiting during a call. Public Sector Case Analytics assesses case manager effectiveness against their
ability to meet this requirement.
• Question 5, required. You always see this question in the wizard. Gives you the option of having Public Sector Case Analytics check
to see if data in your org supports the answers you select. We recommend that you select Yes and run the check, because app
creation fails if your org doesn’t contain the right data. Public Sector Case Analytics displays an error message that tells you what to
fix. Make any required changes in Salesforce, refresh your browser cache, and come back to the wizard and finish creating your app.
SEE ALSO:
Set Up Public Sector Case Analytics CSAT Metrics: Example
1770
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1771
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: The dashboards and datasets included in your instance of Public Sector Case Analytics can differ. The ones you see depend
on how you answer configuration wizard questions when you create the app.
Public Sector Case Overview. Start here. Summarizes key performance indicators (KPIs) about your case load, including open cases in
the backlog, agent average time to close, and first contact resolution rate. Helps you gauge effectiveness of service delivery and surface
issues requiring further investigation. Also, provides springboard to all other dashboards.
Case Changes. Brings your historical case data to life. View cases with the most changes and see their average duration in each status
in the resolution process. Also sort cases according to their owner and see how cases move from one status to another.
Case Owner Activity. Helps determine how well case owners use their time. Shows how much work they do and how their work aligns
with case-closing numbers and duration as well as CSAT.
Case Owner Performance. Shows case manager team performance against key activity and client satisfaction metrics. Performance trends
and benchmarks help case managers provide direction and drive team success.
Case Origin Review. Shows client satisfaction and activities—duration and volume—on cases by where they originated to help you
monitor success of each origin.
Case Variances. Gives complete view of your backlog to show how efficiently your team resolves cases and how quickly your backlog is
growing. Helps you prioritize and staff your team accordingly.
Client Review. Provides a full breakdown of a selected client’s service history and current backlog and includes client satisfaction data
and trends. Identify bottlenecks in case lifecycle with insights into average duration spent in various case statuses.
Customer Satisfaction. You only see this dashboard if you add CSAT data to your app. Highlights CSAT measures so you can identify
specific areas to improve service. Orders clients from most to least satisfied and associates case managers, products, and channels with
satisfaction.
Knowledge Impact. You only see this dashboard if you add knowledge data to your app. Provides a view into how knowledge articles
attached to cases impact CSAT and resolution time. See which case managers used the most articles to determine who needs coaching
about how to use knowledge to help resolve service issues.
Knowledge Use. You only see this dashboard if you add knowledge data to your app. Helps you understand how case managers use
knowledge articles to help you drive article creation. See which articles are attached the most and the least and which have the most
views or votes (high ratings) over time.
Omni-Channel. You only see this dashboard if you add Omni-Channel data to your app. Gives managers insight into case manager
utilization based on Omni-Channel work record tracking. Includes incoming case manager work volume, average speed to answer,
average handle time, average active time, and other agent utilization metrics.
Prioritize Open Cases. Shows current open case workload to help you prioritize, investigate problematic cases, and view escalations and
SLA compliance. Let’s you prioritize cases by case reason, priority, or any other classification so you can take appropriate action.
Telephony. You only see this dashboard if you add telephony data to your app. Helps you understand the impact of phone contact with
client during case resolution. Filter call volume and duration by inbound or outbound call, the result of the call, and other factors. Also
relates call volume to case manager performance.
Available in: Enterprise, Performance, and Unlimited Editions where Media Cloud is enabled
1772
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Available in: Enterprise, Performance, and Unlimited Editions where Media Cloud is enabled
Note: If you see the Launch CRM Analytics button, Analytics is already enabled. You can proceed to assign Analytics for Subscriber
Lifecycle Management permissions to admins and users.
1. From Setup, in the Quick Find box, enter Getting Started, and then under Analytics, select Getting Started.
2. Click Enable CRM Analytics.
1773
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Available in: Enterprise, Performance, and Unlimited Editions where Media Cloud is enabled
• Import data from an external source. for Payment and Usage metrics to appear in relevant dashboards
– For information on importing payment data, see Import Media_Payment Data to Analytics for Subscriber Lifecycle Management
App on page 1775.
1774
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
– For information on importing usage data, see Import Media_Usage Data to Analytics for Subscriber Lifecycle Management App
on page 1776.
Use only a UTF-8-compliant text editor to create and open CSV files. Opening CSV files in non-compliant text editors, such as Microsoft
Excel, reformats the CSV files and makes them unusable in CRM Analytics. To review the format requirements, such as date formats,
see the CRM Analytics External Data Format Developer Guide.
4. Open the app, click Datasets, and then locate the Media_Payment dataset.
5. Click Edit.
6. Click the Replace Data icon.
7. Click Select a file or drag the file.
8. Select the CSV file that you created, and then click Open.
1775
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
9. Click Next > Next, and then click Upload File and Replace.
The next time the dataflow for your app runs, CRM Analytics adds Media_Payment to relevant dashboards. For more information
on uploading a CSV file, see Upload a CSV File to Create a Dataset.
Name Contents
Create and open CSV files using only a UTF-8-compliant text editor. Opening them in Microsoft Excel or other spreadsheet software
reformats .CSV files and makes them unusable in CRM Analytics. Also, review the format requirements, like date formats, in the CRM
Analytics External Data Format Developer Guide.
4. Open the app, click Datasets, and then locate the Media_Usage dataset.
5. Click Edit.
6. Click the Replace Data icon.
7. Click Select a file or drag the file.
8. Select the CSV file that you created, and then click Open.
9. Click Next > Next, and then click Upload File and Replace.
The next time the dataflow for your app runs, CRM Analytics adds Media_Usage to relevant dashboards. For more information on
uploading a CSV file, see Upload a CSV File to Create a Dataset.
1776
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Available in: Enterprise, Performance, and Unlimited Editions where Media Cloud is enabled
10. After the process is completed, to see your app, refresh the page.
If you see an error message that the Analytics Integration User doesn’t have access to selected fields, edit Salesforce field-level
security.
11. To share the app with your users, in CRM Analytics Studio, open your app.
You can share the app only with users who have the relevant admin or user permission set.
12. On the Give Access tab of the share window, under Invite others, add the names of users that you want to share the app with.
13. For every user that you add, select the level of access: Viewer, Editor, or Manager.
14. Save your changes.
Available in: Enterprise, Performance, and Unlimited Editions where Media Cloud is enabled
1777
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1778
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
DEI Analytics
DEI Analytics app provides insights to improve DEI (diversity, equity, and inclusion) goals and
EDITIONS
employee relationships.
For more information on configuring the DEI Analytics app, see Enable DEI Insights in Net Zero Available in: Lightning
Cloud. Experience
For more information on DEI Analytics dashboards, see DEI Insights. Available in: Enterprise and
Unlimited Editions of Net
Zero Cloud
Education Analytics
The Education Analytics app provides insights into recruitment, admissions, learner engagement,
EDITIONS
and student success that you can use to improve processes and analyze learner metrics.
For more information on creating the Education Analytics app, see Configure Education Analytics. Available in: Lightning
For more information on Education Analytics dashboards, see Understand Education Analytics. Experience
Available in: Enterprise and
Unlimited Editions of
Education Cloud
1779
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Get Insights into Deal Pricing with the Pricing Analytics App
Create an app to get instant insights into how your organization prices deals. Connect with Einstein Discovery to get discount
recommendations for every quote. The Pricing Analytics template guides you through creating the app.
Adoption Analytics Template
Get insight into how your team uses CRM Analytics apps, dashboards, lenses, and datasets. Use the Adoption Analytics template to
create an app with datasets and dashboards to track the use of your CRM Analytics assets.
Evaluate Your Marketing with the Campaign Analytics App
See how your marketing campaigns translate to revenue and impact the bottom line. Compare performance over time, drill into
regional top performers, and highlight successful campaigns. Also review channels to see which are most effective. The Campaign
Analytics template guides you through creating the app.
Evaluate Your Scheduling Efficiency with the Appointment Analytics App
Learn about your team’s appointment volume and your reps’ performance to see how well your service team is applying their
resources to meet customer needs. The Appointment Analytics template guides you through creating the app.
Revenue Operations Analytics App
Help sales teams gain performance insights to build stronger pipelines, improve forecast accuracy, and generate more revenue.
Monitor Object Usage with the Change Analytics App
Bring your historical data to life and gain insights into how your team uses an object by visualizing data from any Salesforce object
that uses field history. The Change Analytics template guides you through creating the app.
Increase Approval Process Visibility with the Approval Analytics App
Use the Approval Analytics app to view approval history, understand trends, identify bottlenecks, and act to streamline the process.
See the number of approvals and rejections, pending approvals, who’s approved what, and how long approvals take. The Approval
Analytics template guides you through creating the app.
Trend Data Using the Snapshot Analytics App
Monitor trends by capturing a snapshot of a CRM Analytics dataset or Salesforce object. If you’re using a Salesforce object, CRM
Analytics imports its data into a dataset. The Snapshot Analytics app then creates a dashboard with a snapshot of your data. You
can record one snapshot per day.
Visualize Sales Data and Opportunities with the Cluster Analysis Account Segmentation App
Use no-code machine learning to visualize sales data, KPIs, and opportunities by cluster. Get insights into your accounts and products,
and change the number of clusters to see different account segments. The Cluster Analysis Account Segmentation template guides
you through creating the app.
Understand Your Pharmaceutical Sales with the Salesforce Analytics for Veeva App
Salesforce Analytics for Veeva assembles key metrics to give you insight into pharmaceutical reps’ processes and effectiveness. See
how reps manage their accounts using key messages, products, and samples. And use Einstein Discovery to understand the impact
of sales call activities on account orders. The Salesforce Analytics for Veeva template guides you through creating the app.
Service Analytics
The Service Analytics template gets you started fast with Analytics and provides a clear path through your Service Cloud data on
any device. Whether you’re a service manager or agent, you get everything you need in one place to uncover key data insights to
help you grow your business.
Get Sales Predictions with the Einstein Discovery for Sales Analytics App
Identify your most promising accounts—the largest potential opportunities or the ones that you have the greatest chances of
winning or closing quickly. The Einstein Discovery for Sales Analytics template guides you through creating the app.
Get Ecommerce Data Insights with the B2B Commerce Analytics App
Help your team track orders, see who’s buying what products, discover year-to-date and year-over-year sales revenue, and more.
The B2B Commerce Analytics template guides you through creating the app.
1780
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Create the Accuracy Analytics app using the Einstein Discovery Model Manager. See Analyze Prediction Accuracy with the
Einstein Accuracy Analytics App.
1781
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. If your org meets the minimum requirements, click Looks good, next.
If the requirements aren’t met, check the feedback. USER PERMISSIONS
1782
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Get Insights into Deal Pricing with the Pricing Analytics App
Create an app to get instant insights into how your organization prices deals. Connect with Einstein
EDITIONS
Discovery to get discount recommendations for every quote. The Pricing Analytics template guides
you through creating the app. Available with CRM
Before you create the app, make sure that: Analytics, which is available
for an extra cost in
• Your org has at least one Salesforce CPQ Quote Line record.
Enterprise, Performance,
• The Analytics Integration User has the appropriate Salesforce field-level security to view the and Unlimited Editions. Also
fields that you want to analyze. available in Developer
1. In Object Manager, add a custom number field for recommended discounts on the Salesforce Edition. Requires a CRM
CPQ Quote Line object (API name SBQQ__QuoteLine__c). Analytics and Salesforce
CPQ license. To create the
2. From the Analytics tab or Analytics Studio, click Create and then select App. app, you also need the
3. Select the Pricing Analytics template to open the guided flow. Einstein Discovery license.
The guided flow checks that your org meets the minimum requirements.
USER PERMISSIONS
4. If your org meets the minimum requirements, click Looks good, next.
If the requirements aren’t met, check the feedback. To create and manage the
Pricing Analytics app:
5. For tracking the recommended discounts for deals, enter your recommended discounts field. • Manage CRM Analytics
6. (Optional) If you want to track competitors for opportunities, enter the field that you use. If you Templated Apps AND
don’t track competitors, leave this field blank. Manage Einstein
Discovery
7. Click Looks good, next.
To use the Pricing Analytics
8. Name and save your app. app:
9. Select Browse, and then select Apps and open the app. • Use CRM Analytics
Templated Apps
10. On the app’s overview page, in the Stories section, confirm that the Einstein Discovery story is
complete by clicking Pricing.
If the message is “Einstein is in the lab crunching numbers,” the story isn’t done running. If you see a chart with What Happened and
Why It Happened, the story is complete.
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
Explain, Predict, and Take Action with Einstein Discovery
1783
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
USER PERMISSIONS
1784
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
4. If your org doesn’t use user roles, set Remove UserRole dependencies to Yes.
USER PERMISSIONS
5. Click Looks good, next.
6. Give your app a name, and click Create. To create and manage the
Adoption Analytics app:
• Access Adoption
SEE ALSO: Analytics Templates and
Create Apps from CRM Analytics Templates: Start Here Apps
AND
Manage CRM Analytics
Templated Apps
1785
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1786
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1787
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. If your org meets the minimum requirements, click Looks good, next. To create and manage the
Campaign Analytics app:
If the requirements aren’t met, check the feedback. • Manage CRM Analytics
4. Name and save your app. Templated Apps
To use the Campaign
Analytics app:
SEE ALSO:
• Use CRM Analytics
Create Apps from CRM Analytics Templates: Start Here Templated Apps
1788
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1789
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The Revenue Operations Analytics app generates an Einstein Discovery story to predict ways to maximize your sales team’s win rates.
The story contains insights on the top revenue drivers—the factors that have top positive and negative impacts on the forecast. The AI
or machine learning model is natively generated at app creation.
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
1790
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1791
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Forecast Data about forecasts, including the item, Included only if forecasting is enabled
quota, and type.
User Roles Data about users, including role, Included only if user roles is enabled
opportunity, and role hierarchy.
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
1792
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
USER PERMISSIONS
Create a Snapshot of a CRM Analytics Dataset
To create and manage a
1. In the Snapshot Analytics wizard, select Start With an Existing Dataset and click Looks good, Snapshot Analytics app:
next. • Manage CRM Analytics
2. Select the dataset that you want a snapshot of. Templated Apps
If you don’t see the dataset that you want to use, check that you have the Use Any API Client To use the Snapshot
permission. See Restrict Access to APIs with Connected Apps. Analytics app:
• Use CRM Analytics
3. Add up to six dimensions to include in your dashboard. Templated Apps
4. Add up to three measure fields to include in the chart.
5. Click Looks good, next.
1793
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
You can set the snapshot frequency by rescheduling the Snapshot Analytics dataflow. See Schedule Data Refresh for a CRM Analytics
Template.
To add actions, measure formatting, and dimension labels to the app, edit the dataset created from Salesforce objects. See Edit a Dataset
and Enable Actions for CRM Analytics Lenses and Dashboards.
1794
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Visualize Sales Data and Opportunities with the Cluster Analysis Account Segmentation App
Use no-code machine learning to visualize sales data, KPIs, and opportunities by cluster. Get insights
EDITIONS
into your accounts and products, and change the number of clusters to see different account
segments. The Cluster Analysis Account Segmentation template guides you through creating the Available with CRM
app. Analytics, which is available
Before you create an app, make sure that: for an extra cost in
Enterprise, Performance,
• Your org uses the Account, Opportunity, and Product objects and that you have at least one
and Unlimited Editions. Also
opportunity with a product linked to an account. available in Developer
• The Analytics Integration User has the appropriate Salesforce field-level security to view the Edition. Requires a CRM
fields that you want to analyze. Analytics license.
1. From the Analytics tab or Analytics Studio, click Create and then select App.
2. Select the Cluster Analysis: Account Segmentation template to open the guided flow. USER PERMISSIONS
The guided flow checks that your org meets the minimum requirements. To create and manage the
Cluster Analysis Account
3. If your org meets the minimum requirements, click Looks good, next.
Segmentation app:
If the requirements aren’t met, check the feedback. • Manage CRM Analytics
Templated Apps
4. Name and save your app.
To use the Cluster Analysis
Account Segmentation app:
SEE ALSO: • Use CRM Analytics
Create Apps from CRM Analytics Templates: Start Here Templated Apps
Understand Your Pharmaceutical Sales with the Salesforce Analytics for Veeva App
Salesforce Analytics for Veeva assembles key metrics to give you insight into pharmaceutical reps’
EDITIONS
processes and effectiveness. See how reps manage their accounts using key messages, products,
and samples. And use Einstein Discovery to understand the impact of sales call activities on account Available with CRM
orders. The Salesforce Analytics for Veeva template guides you through creating the app. Analytics, which is available
Before you create an app, ensure that the Analytics Integration User has the appropriate Salesforce for an extra cost in
field-level security to view the fields that you want to analyze. Enterprise, Performance,
and Unlimited Editions. Also
1. From the Analytics tab or Analytics Studio, click Create and then select App. available in Developer
2. Select the Salesforce Analytics for Veeva template to open the guided flow. Edition. Requires a CRM
The guided flow checks that your org meets the minimum requirements. Analytics and Veeva CRM
license.
3. If your org meets the minimum requirements, click Looks good, next.
If the requirements aren’t met, check the feedback. USER PERMISSIONS
4. Name and save your app.
To create and manage the
Salesforce Analytics for
SEE ALSO: Veeva app:
• Manage CRM Analytics
Create Apps from CRM Analytics Templates: Start Here
Templated Apps
To use the Salesforce
Analytics for Veeva app:
• Use CRM Analytics
Templated Apps
1795
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Service Analytics
The Service Analytics template gets you started fast with Analytics and provides a clear path through your Service Cloud data on any
device. Whether you’re a service manager or agent, you get everything you need in one place to uncover key data insights to help you
grow your business.
Tip: Follow the steps in the order shown to get started with Service Analytics. If you haven’t used Analytics before, learn more
about it from the Analytics Documentation.
1796
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
USER PERMISSIONS
1797
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Service Analytics dashboards give you best-practice key performance indicators (KPIs) about your Salesforce service data in a single
place. We’ve based the app’s dashboards on learnings from many years of helping businesses manage customer relationships. The goal
is to provide the right amount of information at the right time to help both managers and agents make the right decision.
Service managers get a complete view of service customer data that includes trending as well as historical and peer benchmarks. Agents
can quickly view a snapshot of each case and customer to help them make quick decisions about their next customer interactions.
We’ve done a lot of the hard work: Our team has built complex queries, formulas, and ratios that draw from your service and sales data
and assembled them into easy-to-read visualizations. You create the app: using a built-in configurator, answer a few questions about
the data and fields you want to see, and CRM Analytics takes care of the rest. When you’ve created the app, use its prebuilt datasets and
dashboards to explore Service Cloud data from any device that supports CRM Analytics.
You get actionable insights fast from your data using the intuitive CRM Analytics interface. And you can drill deeper into key aspects of
your business by customizing Service Analytics around your needs.
Note: Your organization can use Service Analytics without CRM Analytics platform by purchasing a Service Analytics license. A
Service Analytics license is included with the CRM Analytics platform license.
1798
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1799
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Dashboards available from the app provide a complete view of service customer data that includes all your key service performance
indicators in one place. Managers can quickly view average case closing times, customer satisfaction, trendings, and historical and peer
benchmarks. They can also get insight into the teams’ use of knowledge to resolve cases and other data so they can quickly take
appropriate action.
Another set of dashboards -- called sidebars -- are specifically for service agents. Embed sidebars in a Salesforce page, such as the service
console, to make them more accessible to agents during their day-to-day work. For a given case, an agent can view customer history,
number of cases, and CSAT. Agents can also see previous customer actions and their result so they can find out what worked. The goal
is to provide agents the right amount of information at the right time to help them take the right action.
The following table guides you through Service Analytics dashboards. You can also explore further on your own at any point. To learn
more about exploring data in CRM Analytics, see Explore and Visualize Your Data in CRM Analytics on page 1264.
Agent Activity Helps determine how well agents use their Service manager
time. Shows how much work agents do and
how their work aligns with case-closing
numbers and duration as well as CSAT.
Agent Performance Shows agent and team performance against Service manager
key activity and customer satisfaction
metrics. Performance trends and
benchmarks on agent performance help
you provide direction and drive agent
success.
1800
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Knowledge Impact Provides a view into how knowledge articles Service manager
attached to cases impact CSAT and
resolution time. See which agents used the
most articles to determine who needs
training/coaching in the use of knowledge
to help resolve service issues
Knowledge Use Helps you understand how agents use Service manager
knowledge articles to help you drive article
creation. See which articles are attached the
most and the least and which have the most
views or votes (high ratings) over time.
Chat Shows how your team uses chat to help Service manager
solve support cases. Includes number of
chats, days of the week with most activity,
missed or abandoned chats, chat length,
and average handle time.
Open Cases Shows current open case workload to help Service manager
you prioritize, investigate problematic cases,
and view escalations and SLA compliance.
Let’s you prioritize cases by accounts and
pending deals so you can take appropriate
action.
1801
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Sidebar – By Case History Gives an overview of case history or lifecycle Service agent
so agents can be more informed during
customer conversations. Includes a snapshot
of case interactions and duration of case
against the average.
Service Case Data about cases, including duration, last modified date, and
customer satisfaction measure.
Service Case History Data about case history, including owner, type, and creation date.
Service Chat Transcript One of two Service Analytics datasets with data about your team’s
use of Chat usage. Includes data from Chat transcripts, such as
response times, numbers of messages per chat, and chat duration.
1802
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Service Knowledge Data about use of knowledge articles in cases, such as number of
views, ratings, last referenced dates, and case associations.
Service Knowledge Attached Data about attachment of knowledge articles to cases including
whether articles are shared by email, article version number, and
case type.
Service Omni Agent Work One of two Service Analytics datasets with data from Omni-Channel
Agent Work object. Includes data that helps you track information
about the assignments your agents work on, including the queue,
channel, status, and speed to answer. (Your org must use
Omni-Channel to create and route work items for Service Analytics
to create this dataset. You must also answer Yes to the
configuration wizard question about Omni-Channel.)
Service Omni User Presence One of two Service Analytics datasets with data from Omni-Channel
User Presence object. User presence records contain fields that
help you track information about agent availability. (Your org must
use Omni-Channel to create and route work items for Service
Analytics to create this dataset. You must also answer Yes to the
configuration wizard question about Omni-Channel.)
Service Opportunities Data about opportunities so you can filter cases by opportunity for
prioritization and appropriate action.
Service Event (Only in Classic version of app.) Data about events associated with cases, including last modified
date and case duration. (Your Service Cloud data must include at
least one event for Service Analytics dashboards to function
correctly.)
Service Task (Only in Classic version of app.) Data about tasks associated with cases, including last modified
date and case duration. (Your Service Cloud data must include at
least one task for Service Analytics dashboards to function correctly.)
1803
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: Service Analytics license data storage limits are contractual, not technical. Licensee agrees to strictly monitor its total
number of data rows.
Your org can use the Service Analytics with or without the CRM Analytics platform.
To give administrators or users in your org access to the Service Analytics, enable CRM Analytics and assign ready-made permission sets
to them. By assigning permission sets, you also assign the Service Analytics permission set license.
Warning: Assign the Service Analytics Admin permission set sparingly because it lets users administer Service Analytics, which
lets them create, edit, and delete the app. Assign it only to users who administer or manage the app. Users with Service Analytics
User and Editor or Manager access to the app can create, edit, and delete app assets.
1. First, enable Analytics. In Salesforce Setup, enter Analytics in the QuickFind (search) field, then click Getting Started.
2. Click Enable Analytics.
3. Now, assign permission sets. In Salesforce Setup, enter Users in the QuickFind field.
4. Click Permission Sets.
5. Scroll through the list of permission sets until you see Service Analytics Admin and Service Analytics User.
6. For users who require administrator-level access to Service Analytics, assign the Service Analytics Admin permission set. This
permission set enables all user permissions for the app shown in the table.
a. Click Service Analytics Admin.
b. Click Manage Assignments, then Add Assignments.
c. Check the boxes next to the names of the users who require administrator-level access to the app.
d. Click Assign, then click Done.
The selected users can now create and manage Service Analytics.
7. To assign user-level access to Service Analytics, assign the Service Analytics User permission set.
a. Click Service Analytics User.
b. Click Manage Assignments, then Add Assignments.
c. Check the boxes next to the names of the users who require access to the app.
d. Click Assign, then click Done.
The selected users can now use Service Analytics.
After you’ve completed these steps, create and share Service Analytics with the users in your organization. Users can only explore Service
Analytics dashboards and datasets after you’ve shared the app with them.
1804
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: Service Analytics requires that your org has at least one closed case and one
task. It also requires that your org has at least one contact ID associated with a case.
2. Set field level security to enable the CRM Analytics Integration User to see all fields you’d like your app to use. Integration users run
the dataflow, and if they don’t have proper field-level security permissions, the dataflow can fail.
a. Go to Setup and enter the name of an object—for example, Accounts or Cases—in the Quick Find box and hit Enter.
b. Click the name of the object.
c. The next window shows all the fields for the object. Go to the one(s) where you need to edit field-level security.
d. Look for the Analytics Cloud Integration User, check the box(es) for the required fields under Visible, and click Save.
e. Repeat the Steps a through d for all objects with fields you want to use.
f. Refresh your browser cache.
3. From the App Launcher ( ), find and open CRM Analytics Studio.
4. If you’ve created an app before: Choose between creating a brand new app or creating an app based on settings from a
previously-created app. Click Continue. Service Analytics scans your org’s data and features. For details about the scan, see Checking
Data and Features with the Service Analytics Configuration Wizard.
Tip: If you want to create your app with different settings, repeat the previous steps and select the previously-created app
here. Complete app creation choosing different wizard settings and give your app a new name.
5. If the scan detects your org is missing required data, Service Analytics displays error messages telling you what to do. Follow the
instructions and start app creation again. Position your cursor over tooltips to see more detail. If there are no errors, click Looks
good, next.
6. Choose between basic and custom creation options to set up your app. Select Basic to set up your app quickly based on standard
settings determined by the org data check. Select Custom to open the configuration wizard. The wizard helps fine-tune app setup
to reflect the way your team wants to view data. See Customize Service Analytics with the Configuration Wizard.
7. If you choose Basic: Click Looks good, next. Answer the question about the field you use to categorize cases. Click Looks good,
next, and skip to Step 10. See Service Analytics Wizard Basic Create Option.
8. If you choose Custom: The wizard asks you to choose Salesforce objects to add to Service Analytics. It then takes you through a set
of questions about how you prefer to view data. See Service Analytics Wizard Custom Create Option on page 1809.
9. Give your app a name that’s easily recognizable to others in your company and click Create. That starts a dataflow,which creates
the app and its assets (a dataflow definition file, datasets, and dashboards). The app creation process can take a few minutes. During
that process, Service Analytics runs a final scan to be sure the Analytics Integration User has access to all fields you select in the
wizard. If the scan fails, you see an error message with the fields that can’t be accessed. Return to Step 2 and give the Integration
User access to those fields.
10. You can check the status of the dataflow while you wait. In CRM Analytics Studio, click the gear menu at the upper right of the page,
and select Data Manager. From the pulldown menu, select Dataflow View and look for your app.
1805
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Taking a few extra steps can make Service Analytics better serve the needs of your organization:
• Embed the sidebar dashboards on page 1817 in a Salesforce page of your choice, such as the service console. This step provides a
seamless analytics experience for service agents. Embedding sidebars in pages used regularly by agents gives them access to key
metrics as part of their regular work to help the take the most effective customer action.
• Add datasets to the app based on Salesforce data using the CRM Analytics dataset builder on page 1018. Service Analytics includes a
default set of datasets based on your Salesforce data. Creating additional datasets lets your service managers and view other Salesforce
data through the app.
Note: Service Analytics does not support data sources external to Salesforce or registering new datasets from the app-generated
dataflow.
• Add objects, fields, and filters to Service Analytics. Edit the app’s dataflow on page 1109 to include standard and custom objects and
fields from Salesforce.
Important: When users are deactivated, they lose share and delete access to all apps they manage. To avoid "stranding" an app,
be sure that manager access is assigned to at least one active user BEFORE deactivating the user who's the manager of the app.
Note: To create new datasets with just the Service Analytics app license, use the CRM Analytics dataset builder. CRM Analytics
associates new datasets created using the builder with the CRM Analytics default dataflow. If you edit the dataflow for the Service
Analytics to register new datasets, you can’t access the resulting datasets.
The following provide details about each using each part of the wizard. Read them in the order shown to get the best results when you
create Service Analytics. Click the question mark in the top-right corner of each page of the wizard to see help for that page.
1806
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Here are details about each phase of the check. • Edit CRM Analytics
Dataflows
Minimum Requirements
Your org must have at least one closed case and one closed task to enable app creation. If you see an error message, go to Service Cloud,
close a case and a task, and try creating the app again.
1807
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Omni-Channel
The tooltip tells you what features are available in your org. Basic app creation automatically adds those features. Custom app
creation lets you choose the ones to add.
Note: CSAT and knowledge data can only be added using custom app creation.
Field-Level Security
The wizard checks if the Analytics Integration User has access to all fields needed to create the app using the basic create option. If the
Integration User can’t access all fields, you see a warning and the tooltip lists the fields that lack access. Go to Salesforce Setup and
provide access to those fields. See Create Service Analytics on page 1805, Step 2, for details. Until all fields are available, you can’t use the
basic create option.
1808
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Basic create can’t use customer satisfaction and knowledge data. Service Analytics requires more information about how they’re used
in your org before creating an app. To add them, use the custom create option, and the wizard asks for the required details.
Basic create uses these settings.
• To identify cases by geography, the Billing State/Province field from the Accounts object.
• Fifty (50) seconds as the maximum time agents can keep customers waiting during phone calls.
To vary these settings based on how you use Service Cloud, select the custom create option.
Consult Create Service Analytics on page 1805 for details about creating your app.
• Contact
• User
• UserRole
• Task
The compatibility check that run at the start of app creation looks for other available data and features. The wizard displays the results
on the first custom create window, letting you know which features you use in your org. If you use a feature, this window tells you it’s
available to your app. If you don’t use the feature, Service Analytics tells you it’s not available.
Service Analytics preselects the features used for basic app creation. You have the option of adding others. Preselected options contain
a check mark in the upper right corner. Add other available options to your app by clicking them. Click options with a check mark to
deselect them. Service Analytics lets you add these options, if available, and details about adding each.
• Customer Satisfaction (CSAT) Score. Select to add CSAT data to your app. If you select, Service Analytics adds questions to the wizard
that ask how you track CSAT data. See Questions About Features Added to Service Analytics; Custom Wizard Step 6 of 6.
• Knowledge. Select to add Salesforce knowledge data to your app. If you select, Service Analytics adds questions to the wizard that
ask how you track knowledge data. See Questions About Features Added to Service Analytics; Custom Wizard Step 6 of 6.
• Business Hours. Select to add a business hours case duration calculation to datasets. This uses data from the Business Hours field in
the Cases object. Be sure that the Analytics Integration User has access to this field by editing field-level security for the Cases object.
See Create Service Analytics, Step 2.
• Case History. Select to include historical tracking for both case owner and for the field selected in wizard Page 5, Question 4. See
Data Drill Down Questions, Service Analytics Custom Wizard Step 5 of 6.
• Case Record Types. Select to add record type for the Cases object. If you select, Service Analytics lets you filter cases by record type.
• Queues. Select to add queues data from the Group object, which your org uses to assign case ownership. If you select, Service
Analytics lets you filter cases by user and queues.
• Opportunities. Select to add data from the Opportunities object, which is connected to cases via accounts in your org. If you select,
Service Analytics adds sales data to dashboards to give you a complete view of accounts.
• Opportunity Record Types. Select to add record type from the Opportunities object. If you select, Service Analytics lets you filter
opportunities by record type.
1809
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Events. Select to add data from the Events objects, which your org uses to track case activity. If you select, Service Analytics includes
events data and combines it with tasks data so you can drill into cases by activities (that is, tasks and events).
• Telephony. Select to add telephony data from standard call fields in the Tasks object. Standard fields include call duration, call object
identifier, call result, and call type. If you select, Service Analytics creates the Telephony dashboard showing data from those fields.
• Chat. Select to add Chat data. If you select, Service Analytics creates the Chat dashboard and dataset based on Chat data.
• Omni-Channel. Select to add data from Omni-Channel, which your org uses to create and route work items. If you select, Service
Analytics creates the Omni-Channel dashboard and dataset.
1810
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Question 4, optional: Asks you to select the field you use to record that a case is resolved on first contact. You typically track first
contact resolution using a Boolean custom formula field on the Cases object or the standard Closed when Created (IsClosedOnCreate)
field.
• Question 5, optional: Asks if you want to include other Cases object metrics in your app. Choose a numeric field.
Note: This question is the only one you see if you use basic app creation.
• Question 2, optional. Asks about the field you use to record customers’ type of support. Examples include gold, silver, or bronze; and
premium and basic.
• Question 3, required. Asks which field you use to categorize case severity—usually the field you use to prioritize cases.
• Question 4, required. Asks which field you use to track case status of case. You filter and analyze cases in dashboards based on your
selection.
• Question 5, required. Asks about the field you use to identify topics, reasons, and closure codes of cases. Your selection helps you
understand which kinds of cases your team solves most efficiently.
• Question 6, required. Asks you to choose the field you use to track types of cases so you can filter and analyze cases according to
support type.
• Question 7, required. Asks you to select the field used to track channels customers use to open cases, such as phone, email, mobile,
or web.
• Question 8, required. Asks you to select the object used to track cases according to geography. Options are Accounts, Contacts,
and Cases. Defaults to Accounts, which is used in basic create.
• Question 9, required. Asks you to indicate the field in the object selected in Question 8 to track cases by geography. Defaults to
Billing State/Province, which is used in basic create.
• Question 10, required. Asks you to indicate your fiscal year start month. Defaults to January. If your fiscal year is different from calendar
year, select another month. Service Analytics supports only standard fiscal periods.
• Question 11, optional: Select dimension fields from the Cases object you haven’t selected in previous questions. Adding dimensions
lets you drill into dimensions that are important to your organization. Dimensions are qualitative values, such as date, region, and
product name.
1811
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
– Question 2b, required. You see this question only if you select an object other than Cases in Question 1. Determine which field
from the object selected in Question 1 to use for the other side of the join with the Cases object. Use the field that contains case
identification. Enter the API name for the field here.
• Question 3, required. You see this question only if you added knowledge to your app. Asks about the article type you want to see
data about in Service Analytics dashboards. Choose only a single article type. To see the names of article types in Service Cloud, go
to Salesforce Setup and enter knowledge in the Quick Find box.
• Question 4, required. You always see this question in the wizard. Gives you the option of having CRM Analytics check to see if data
in your org supports the answers you select. We recommend that you select Yes and run the check, because app creation fails if
your org doesn’t contain the right data. CRM Analytics displays an error message that tells you what to fix. Make any required changes
in Salesforce, refresh your browser cache, and come back to the wizard and finish creating your app.
SEE ALSO:
Set Up Service Analytics CSAT Metrics: Example
1812
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
To specify the relationship between the Cases object and your custom CSAT object, designate join keys from both objects and enter
their API names in Questions 3 and 4. On the Cases object, it’s typically the "Id" field. On the example custom object "CSAT Survey," it’s
the custom field that stores the case ID, which in this scenario is the field with the API name CaseId__c.
This diagram shows the join between the two objects.
Important: Users with the “Use Analytics Templated Apps” permission and Editor or Manager access to the app can create,
edit, and delete assets in the app.
1813
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. Review the next screen carefully. It warns you that reconfiguring overwrites customizations, including changes or additions you’ve
made to your app. If you’re comfortable overwriting customizations, check the box and click Continue. If not, click Back or the X in
the upper right corner.
4. Complete the app creation process described in Create the Service Analytics App.
5. At the end of the process, you’re asked if it’s OK to reconfigure your app. This gives you one more chance to make sure you want to
overwrite customizations. If you are, click OK. Service Analytics creates a new version of your app.
1814
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. In the next screen, Service Analytics asks you to confirm that you want to delete your app. If you are, click the Delete XX Asset(s)
button.
4. CRM Analytics deletes your app.
1815
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
changed assets will be modified—whether the change is to data or appearance. On the same screen, you have the option to
download a file with code for changes made to the app. If you’ve customized the app, download and save the file so you can copy
and paste customization code into the upgraded version.
8. Upgrade option only: If you’re upgrading your app, click Upgrade current app. Remember, this overwrites any customizations you’ve
made. You can also click Back to go back into the configuration wizard and change your selections or click the X in the upper-right
corner to cancel.
9. Create option only: If you’re creating a new app, name your app something different from the current version and click Create new
app. This option saves your current app and all its customizations. You can also click Back to go back into the configuration wizard
and change your selections or click the X in the upper-right corner to cancel.
If the link below the app name says “Reset app,” you’re using the latest version and don’t need to upgrade.
Schedule.
4. Pick the days you want and set a time for refreshing the app data. It’s best to select a time outside normal working hours so the data
1816
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
To use CRM Analytics templated apps: Use CRM Analytics Templated Apps Available in Salesforce
Classic and Lightning
To use Service Analytics: Access Service Cloud Analytics Templates
Experience.
and Apps
Available with CRM
To create and manage CRM Analytics apps: Manage CRM Analytics Templated Apps
Analytics, which is available
Edit CRM Analytics Dataflows for an extra cost in
Enterprise, Performance,
To edit a dataset’s extended metadata (XMD) Edit CRM Analytics Dataflows and Unlimited Editions. Also
file: available in Developer
To create a Visualforce page (for Salesforce Customize Application Edition.
Classic pages)
To view Lightning pages in the Lightning App View Setup and Configuration
Builder
Add Service Analytics dashboards to Salesforce pages so your service team can get a complete view of their cases and take appropriate
action.
Service Analytics includes three specialized dashboards—called sidebars—to give service agents instant access to visualizations of data
about their cases.
• The By Customer sidebar gives agents a snapshot of their customers, including products, case reasons and priority, and CSAT.
• The By Similarity sidebar shows data about previous cases so agents can guide customer interactions based on what they did in
similar cases.
• The By Case History sidebar provides a quick view of the lifecycle of a case so agents can be informed during customer conversations.
Administrators can embed them in a Salesforce page so agents can access Service Analytics seamlessly while they carry out their normal
case work. For example, if your Salesforce makes the Service Cloud available through a service console, that’s an ideal place to embed
the sidebar dashboards.
To embed a sidebar in Lightning Experience, use Wave Dashboard Components. Read the process in Embed Dashboards in Lightning
Pages, then see Steps 3, 4, and 5 below to create the filter.
To embed a sidebar in Salesforce Classic, follow the steps here.
1. Create a Visualforce page for each sidebar. Go to Setup and enter Visualforce Pages in the Quick Find box, then select Visualforce
Pages, and click New. Enter a label with the name of the sidebar and, optionally, a description.
2. Replace the text that appears when you open the editor with the following: <apex:page standardController="case">
<wave:dashboard dashboardId="Your_dashboard_id" height="1000px" showTitle="false"
filter="Filter_condition" /></apex:page>
a. Replace Your_dashboard_ID with the dashboard ID for the sidebar. You can find the dashboard ID by opening the sidebar
in Service Analytics; the ID is the last 15 characters of the URL for the sidebar.
Depending on which sidebar you’re embedding, go to one of the following steps:
• By Customer sidebar: Go to Step 3.
1817
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
3. If you’re creating a page for the By Customer sidebar, replace filter="Filter_condition" with one of the following,
then skip to Step 6.
a. If you’re embedding a sidebar dashboard from the Service Analytics (Classic) app built with the old dashboard designer in a
Salesforce Classic page, use this syntax: filter="{'ServiceCase1': {'AccountId':
['{!case.AccountId}']}}".
b. If you’re using the latest version of Service Analytics based on the new dashboard designer, use this syntax to embed the
dashboard in a Salesforce Classic page: filter="{'datasets' : {'ServiceCase1':
[{'fields':['AccountId'], 'filter': { 'operator':'in', 'values':
'{!case.AccountId}'} }]}}".
c. If you’re embedding a dashboard from the latest version of Service Analytics in a Lightning Experience page, use this syntax:
filter=”{'datasets' : {'ServiceCase1': [{'fields':['AccountId'], 'filter': {
'operator':'in', 'values': ['$AccountId']} }]}}”.
In all cases, replace ‘ServiceCase1’ with the name of the Service Case dataset. To find the name, open a dashboard, hit
Command+e to view the JSON for the dashboard, and search for ServiceCase. The name of the dataset is appended with a
numeral that’s incremented each time you create the app, such as ‘ServiceCase2’. Enter the entire dataset name including
the numeral.
4. If you’re creating a page for the By Similarity sidebar, replace filter="Filter_condition" with one of the following, then
skip to Step 6.
a. If you’re using Service Analytics (Classic) with previous dashboards built with the old dashboard designer, use this syntax to
embed the dashboard in a Salesforce Classic page: filter="{'ServiceCase': {'Reason':
['{!case.Reason}'],'Product__c': ['{!case.Product__c}']}}”.
b. If you use the latest version of Service Analytics based on the new dashboard designer, use this syntax to embed the dashboard
in a Salesforce Classic page: filter="{'datasets' : {'ServiceCase1': [ {'fields':['Reason'],
'filter': { 'operator':'in', 'values': '{!case.Reason}'}}, {'fields':['Product__c'],
'filter': { 'operator':'in', 'values': '{!case.Product__c}' }} ]}}".
c. If you’re embedding a dashboard from the latest version of Service Analytics in a Lightning Experience page, use this syntax:
filter=”{'datasets' : {'ServiceCase1': [{'fields':['Reason'], 'filter': {
'operator':'in', 'values': ['$Reason']}}, {'fields':['Product__c'], 'filter': {
'operator':'in', 'values': ['$Product__c'] }} ]}}”.
In all cases, do the following.
• Replace ‘ServiceCase1’ with the name of the Service Case dataset. See Step 3 to learn how to find the name.
• Replace ‘Product_c’ with the API name of the custom field you use to track products. This field is the answer you selected
in the configuration wizard, Page 2, Question 4. Find the API name of this field by going to Setup and typing Cases in the
Quick Find box. Then click Fields and review your custom field names to find the field you use for products. Look for the API
name of the field, and use that in place of ‘Product_c’ in both places in the query.
If you use a custom field to track case reasons, replace ‘Reason’ with the API name of your custom field. Find the API name using
the same technique you use for finding the custom field you use to track products.
5. If you’re creating a page for the By Case History sidebar, replace filter="Filter_condition" with one of the following,
then skip to Step 6.
a. If you’re using Service Analytics (Classic) with previous dashboards built with the old dashboard designer, use this syntax to
embed the dashboard in a Salesforce Classic page: filter="{'ServiceCase1': {'Id': ['{!case.Id}'],
1818
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
6. Save the page, and open it in preview mode to be sure it shows the dashboard.
7. Add the page to the console or whatever page you prefer in Salesforce. Through Setup, find the specific page layout you want to
include the sidebar. For example, some customers use a page layout for information from the Cases object. In that case, enter Cases
in the QuickFind box in Setup, then open Page Layouts under Cases, and look for the page layout you want to edit.
8. Click Edit Layout and select the Custom Console Components tab near the top. Go the Right Sidebar section and select one of
the pages you just created. First, select Visual Force page from Type, then select the page you just created from the Component
drop-down. Enter a label.
9. Set the width to 450px and save the layout. The sidebar should appear embedded in the page you just edited.
10. Repeat this step with the other two sidebars, as needed.
1819
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1820
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Get Sales Predictions with the Einstein Discovery for Sales Analytics App
Identify your most promising accounts—the largest potential opportunities or the ones that you
EDITIONS
have the greatest chances of winning or closing quickly. The Einstein Discovery for Sales Analytics
template guides you through creating the app. Available with CRM
Before you create an app, make sure that you’ve created the Sales Analytics on page 1835 app and Analytics, which is available
scheduled its daily dataflow. for an extra cost in
Enterprise, Performance,
1. From the Analytics tab or Analytics Studio, click Create and then select App.
and Unlimited Editions. Also
2. Select the Einstein Discovery for Sales Analytics template to open the guided flow. available in Developer
3. If you have an Einstein Discovery for Sales app, choose whether to base this app on an existing Edition. Requires a CRM
Analytics Plus license.
one or create another. Click Continue.
4. Select a Sales Analytics app opportunities dataset for the Einstein Discovery story and how you
want the prediction to help. Select Looks good, next. USER PERMISSIONS
5. Add fields to improve your story’s predictions. The template has selected the most useful fields To create and manage the
for you. Click Looks good, next. Einstein Discovery for Sales
Analytics app:
6. Name and create your app.
• CRM Analytics Plus
A tab opens for your app, which takes a few minutes to create. When you see the Application Admin permission set
Complete! message, refresh the page to view the story, dataset, and dashboard showing the
To use the Einstein Discovery
predictions. for Sales Analytics app:
7. Add the dashboard to your Sales Analytics app. • CRM Analytics Plus User
permission set
a. Open the dashboard.
b. In the dropdown menu, select Clone in New Tab.
c. Click Save, and in App select the Sales Analytics app that you want to add the dashboard to.
d. Click Save.
A copy of the dashboard now displays with the other dashboards in your Sales Analytics app.
You can’t update the Einstein Discovery story using the Reconfigure App action. To change your story, create another Einstein Discovery
for Sales Analytics app.
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
1821
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Get Ecommerce Data Insights with the B2B Commerce Analytics App
Help your team track orders, see who’s buying what products, discover year-to-date and
EDITIONS
year-over-year sales revenue, and more. The B2B Commerce Analytics template guides you through
creating the app. Available with CRM
1. From the Analytics tab or Analytics Studio, click Create and then select App. Analytics, which is available
for an extra cost in
2. Select the B2B Commerce Analytics template to open the guided flow.
Enterprise, Performance,
The guided flow checks that your org meets the minimum requirements. and Unlimited Editions. Also
available in Developer
3. If your org meets the minimum requirements, click Looks good, next.
Edition. Requires a CRM
If the requirements aren’t met, check the feedback. Analytics license and the
Salesforce B2B Commerce
4. Name and save your app.
(CloudCraze) managed
package.
SEE ALSO:
Create Apps from CRM Analytics Templates: Start Here
USER PERMISSIONS
USER PERMISSIONS
Important: See Create Apps from CRM Analytics Templates: Start Here for general app
creation procedures for all CRM Analytics templated apps. The information here provides
specifics about creating and using the Social Case Analytics app.
1822
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Analytics App and Template functionalities included as a part of CRM Analytics are only available in English.
Org Requirements
Your org requires the following before you can create an app from the Social Case Analytics template:
• Make sure you and all app users have the CRM Analytics license.
• Social Case Analytics requires that your org:
– Includes at least one social post linked to a case.
– Uses case record types.
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app. See Set Field Level Security
to Enable Creation of an CRM Analytics Template
1823
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Analytics App and Template functionalities included as a part of CRM Analytics are only available in English.
Org Requirements
1824
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Your org requires the following before you can create an app from the Fundraising Analytics template:
• Make sure you and all app users have the CRM Analytics license.
• Data stored in the Salesforce Opportunities, Accounts objects and at least one task and one event. The Salesforce Nonprofit Starter
Pack uses the Opportunities object for donation data. In the app, opportunities are called donations.
• Set Salesforce field-level security to enable the Analytics Integration User to see all fields used in the app.
The Fundraising Analytics Configuration Wizard
Fundraising Analytics includes a configuration wizard. Follow these steps to use it.
1. Org check page. CRM Analytics checks your org for the data needed to create the app. When the check is done, click Looks good,
next, and move to the next page. If CRM Analytics detects an issue, it shows an error message. Follow the instructions in the message
to fix the problem, and try creating your app again.
2. Basic and custom create options page.
• Use basic create the first time you create Fundraising Analytics or when you want to create the app quickly.CRM Analytics creates
the app based on default settings. Select Basic, click Looks good, next, name your app, and click Create. CRM Analytics takes
a few minutes to create your app. You can see its status on the next page. When it’s done, refresh your browser to view the app.
• Custom app creation gives you more fine-grained control over Fundraising Analytics features and data. To select it, click Custom,
then Looks good, next, and move to Step 3—the first page of wizard questions.
3. Choose additional objects page. The org check from Step 1 checks your org for objects you can add to your app. Based on your
selection, CRM Analytics adds wizard questions about how you want to use data from the additional objects. Select the ones you
want and click Looks good, next.
4. Questions about how Fundraising Analytics uses Accounts data. Answer the questions on this page about how app dashboards
segment customer and geographic data. When you’re satisfied with your answers, click Looks good, next.
5. Questions about how Fundraising Analytics uses Opportunities data. Answer the questions on this page about the opportunity field
that contains total amounts and the field that indicates new business. Remember, opportunities are called donations in your finished
app, after it’s created. When you’re satisfied with your answers, click Looks good, next.
6. Questions to enhance the CRM Analytics experience. Answer the questions on this page, as follows, and clickLooks good, next.
• Question 1: Lets you control user access to data in your app. Here are the available options:
– Option 1 enforces Salesforce role hierarchy, which means that users can only see data in Opportunities and Accounts owned
by them and their subordinates.
– Option 2 enables team benchmarking. It lets users see data in Opportunities and Accounts owned by them and their
subordinates. It also lets users see data from Opportunities and Accounts owned by others at the same level in the role
hierarchy.
– Option 3 lets all users see all Sales Cloud data regardless of role.
• Question 2, mandatory: Select how your app handles Account Team information. Defaults to Option 3, which excludes Account
Team data. Select Option 1 to add Account Team member data to datasets or Option 2 to add Account Team data and grant
record visibility to members of the team.
• Question 3, mandatory: Select how your app handles Opportunity Team information. Defaults to Option 3, which excludes
Opportunity Team data. Select Option 1 to add Opportunity Team member data to datasets or Option 2 to add Opportunity
Team data and grant record visibility to members of the team.
• Question 4, optional. Only appears if your app detects that you segment opportunities by record types. Choose record types
and CRM Analytics excludes unselected record types from datasets. Leave this question blank to include all record types.
7. Questions about adding data to Fundraising Analytics datasets. By default, this page asks you 4 questions about adding data from
Accounts, Donations (Opportunities), Users, and Activities to the app. If you added objects to the app in Step 3, questions about
1825
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
adding data from those objects appear here. Select the fields you want added to app datasets, and click Looks good, next. Then
name your app, and click Create. CRM Analytics takes a few minutes to create your app. You can see its status on the next page.
When it’s done, refresh your browser to view the app.
Use the Fundraising Performance Analytics template to create an app targeted to addressing the analytics needs of Salesforce Nonprofit
Success Pack users. Its dashboard measures and compares fundraising efforts concisely and uniformly to help you develop strategies to
improve future drives.
Important: See Create Apps from CRM Analytics Templates: Start Here for general app creation procedures for all CRM Analytics
templated apps. The information here provides specifics about creating and using the Fundraising Performance Analytics app.
Org Requirements
Your org includes the following to make the best use of the Fundraising Performance Analytics template:
1826
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: You can create the Fundraising Performance Analytics app in orgs with or without the Nonprofit Starter Pack, as long as
you use the objects mentioned here.
• At least three years of data in standard objects used in the Nonprofit Success Pack, including the Contact, Account, Opportunity
(Donation), and User objects. Use of the Contact object is optional; if Analytics does not detect contacts, the template uses accounts.
• Data includes Opportunities (Donations) with stage type Closed Won, for example, Stage - Closed Won, Awarded, Posted.
• Your org uses the Campaign object Campaign Type field to signify a donation’s type of program or segment. That lets you analyze
fund-raising results according to different programs, such as direct mail, major giving, and so on.
For best results, exclude large one-time gifts, which can distort your results.
• Giving
– Summary shows annual total donations and totals each year.
– Details include net growth in donations, average gift per donor, average gift, donations over time, and a breakout of the size of
donations by category.
• Performance
– Summary shows net gain for the selected period and annual gains for each year.
– Details include percentage donor churn (donors gained and lost each year), and donations gained and lost broken out by
categories.
Net Growth in Donors Current Year Total Donors - Last Year Total Donors
1827
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Net Growth in Giving Current Year Total Giving - Last Year Total Giving
Rate of Growth in Donors (Current Year Total Donors - Last Year Total Donors) / Last Year
Total Donors * 100
Rate of Growth in Giving (Current Year Total Giving - Last Year Total Giving) / Last Year Total
Giving * 100
Donor Retention Rate Total Donors that gave Current Year (Same, Upgraded,
Downgraded) / Total Donors Last Year * 100
Donation Retention Rate Total Retained Donations Current Year (Same, Upgraded,
Downgraded) / Total Donations Last Year * 100
Donor Attrition Rate Total Donors that did not give Current Year (Lapsed New & Repeat)
/ Total Last Year Donors * 100
Donation Attrition Rate Total Lost Donations Current Year (Lapsed New & Repeat) / Total
Last Year Donations * 100
Donor Participation Rate Total Donors Current Year (Recaptured, Upgraded, Same) / Total
Donors Current Year * 100
Donor Recapture/Reactivation Rate Total Donors Current Year (Recaptured) / Total Donors Current Year
* 100
Donor Churn Total Gained Donors Current Year (New, Recaptured) - Total Lost
Donors Current Year (Lapsed New & Repeat) / Total Donors Current
Year * 100
Average Gift $ Total Giving Current Year / Total Gifts Current Year
Average Giving $ per Donor Total Giving Current Year / Total Donors Current Year
Average Number of Gifts per Donor Total Gifts Current Year / Total Donors Current Year
Average Gift $ per Donor Total Donor Average Gift $ / Total Donors Current Year
1828
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Customer Insights
The Customer Insights app brings together analysis of Sales cloud and Service cloud in a unified,
USER PERMISSIONS
easy-to-customize app. In addition, it’s easy to customize the dashboard using components. Use
the app components as building blocks to create the perfect dashboard for your environment. To create and manage the
The template creates datasets, recipes, and dashboards to help you understand customer insights. app:
• Manage CRM Analytics
Important: See Create Apps from CRM Analytics Templates: Start Here for general app Templated Apps
creation procedures for all templates. The information here provides specifics about creating To use CRM Analytics
and using the app. templated apps:
• Use CRM Analytics
Templated Apps
Customer Insights Dashboards
The Customer Insights app has a number of dashboards with component galleries to build your
own dashboards, ready-to-deploy dashboards, and dashboards designed for embedding. The dashboards use minimal SAQL and
interactions (bindings) to make it easy to customize. In addition, the dashboards incorporate design and usability best practices. Customer
Insights includes the following dashboards:
• Account Embedded: A ready-to-deploy Accounts dashboard that includes details about activities, opportunities, cases, and
sales. The Accounts Embedded dashboard is designed to embed in the Accounts page layout using Lightning App Builder.
• Case Embedded: A ready-to-deploy Case dashboard that includes escalated cases, closed cases, customer tenure, customer
sentiment, average case duration, and distribution of case escalations. The Case dashboard is designed to embed in the Service
Console page layout using Lightning App Builder.
• Gallery - Activity Components: A components gallery designed to build dashboards. It contains details about activities,
such as activity breakdown, activities by team and account, activity by Status, and days since last activity.
• Gallery - Case Components: A components gallery designed to build dashboards about cases. It includes details, such
as cases by status and priority, by sales rep and account, by agent and duration, and by account and origin.
• Gallery - Lead Components: A components gallery designed to build dashboards with details about leads, such as total
leads, converted leads, leads by recent and source, and leads by status and industry.
• Gallery - Opportunity Components: A components gallery designed to build dashboards with details about
opportunities, such as closed won details, average win rates, average days in the sales cycle, and open pipeline.
• Gallery - Product Components: A components gallery designed to build dashboards with details about products, such
as products purchased, product pipeline, product by family and name, product whitespace analysis.
• Opportunity Embedded:A ready-to deploy dashboard that shows details, such as the probability of the opportunity, the deal
age, and the current stage. The Opportunity Embedded dashboard is designed to embed in the Opportunity page layout using
Lightning App Builder.
• Sales Performance: A ready-to-deploy dashboard that shows how your sales are trending.
• Service Performance: A ready-to-deploy Service dashboard that includes the most commonly requested service metrics.
You can track cases, escalations, backlog, volume, and agents.
1829
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• This template uses recipes. Recipes require that your org is set up for data sync. You must schedule the recipes to run on a regular
cadence to ensure your data is up to date. For a better understanding of working with recipes, see Run a Recipe.
Note: To see the status of your auto-installed app, go to Setup > Feature Settings > Analytics > Analytics > Auto-Installed
Apps. This app will auto-upgrade when the template is updated. To learn about auto-upgrade, see Auto-Installed Apps on page
1666.
• In CRM Analytics Studio, click Create in the upper right corner
• To open the template picker, select App, then Create App from Template.
• Locate the Customer Insights tile, select it, and click Continue.
• Review the app preview page, and click Continue to open the configuration wizard.
• If you’re offered a choice of basing your app on an existing app or creating a one, select Create a brand new app and click Continue.
Customer Insights runs a compatibility check against your org to ensure it includes the data to successfully create the app’s datasets,
recipes, and dashboards. If it doesn’t, follow the instructions in the error message to add the required data and start the app creation
process again.
• When the org compatibility check succeeds, click Looks good, next.
• Name your app, and click Create.
Give CRM Analytics a few minutes to create your app. You can track its progress on the page that appears. When you see the Application
Complete! message, refresh the page. You see your app page with the datasets, recipes, and dashboards showing team performance
and activity intelligence. Click it to have a look.
Note: If you can’t see the Connect tab, enable data sync in your org. See Enable Data Sync and Connections.
• Click the arrow to the far right of SFDC_LOCAL, which is the name of the connection your app uses. From the menu that appears,
select Schedule.
• Set a time for running the data sync. It’s best to select a time outside normal working hours so the sync and recipe don’t interrupt
business activities. Then save your changes.
1830
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Datasets
1831
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1832
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1833
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1834
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Sales Analytics
Sales Analytics brings the power of Analytics to Sales Cloud on any device that supports Analytics. With intuitive visualizations based on
your Salesforce data, Sales Analytics lets you move from insight to action quickly and helps you turn data into smarter sales.
Tip: Follow the steps in the order shown to get started with Sales Analytics. If you haven’t used Analytics before, learn more about
it from the Analytics Documentation.
1835
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
USER PERMISSIONS
1836
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Important: Each CRM Analytics platform license includes a Sales Analytics license. Licenses for individual CRM Analytics apps do
not provide the complete capabilities available to CRM Analytics platform license holders. See Understand Sales Analytics Limitations
for details.
Salesforce created Sales Analytics to make it easy to analyze Sales Cloud data. Whether you’re a sales executive or manager, a rep, or on
the operations side, Sales Analytics gives you a new level of insight into your Salesforce data. Start with the Sales Analytics Home
dashboard to see the latest wins, win rate, average deal amount. Dig in to all the other dashboards from there, which take advantage
of Sales Cloud Collaborative Forecasts to show quotas and help you pinpoint forecasting.
• Execs get their own overview highlighting pipeline and sales and service business performance as well as top deals. They can easily
jump to dashboards with all the details.
• Managers can start with a leaderboard showing team key performance indicators (KPIs) and dive right in to specifics about quota,
changes in the pipeline, team trending, and average sales cycle time. They can also focus on the performance of members of their
team and take action to accelerate business closings.
• Reps can view their own quota attainment, bookings, and pipe activities for a given period. They can also quickly find opportunities
for new business to help hit their quotas.
• Operations staff can sort through performance by geography, source, and customer to spot trends to help speed new deals.
1837
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
App creation is easy. Sales Analytics runs a compatibility check against your org to be sure it includes all the data to create the app’s
datasets and dashboards. If your org doesn’t have the required data, error messages tell you what you need to add before creating the
app.
When the compatibility check determines that your org is ready, you have two options:
• Quickly create the app using standard, default settings as determined by Sales Analytics during the compatibility check. Default
settings include collaborative forecasting data to show quotas in app dashboards if your org uses the Sales Cloud Collaborative
Forecasting feature.
• Use the built-in configuration wizard to choose your own, custom settings to reflect the way you and others on your team want to
view data.
When you’ve created the app, use its prebuilt dashboards to explore Sales Cloud data from any device that supports CRM Analytics.
You get actionable insights fast from your sales data using the intuitive CRM Analytics interface. And you can drill deeper into key aspects
of your business by customizing Sales Analytics around your business needs.
1838
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Forecast
• Leaderboard
• Team Activities
• Team Benchmark
• Team Trending
• Team Whitespace
1839
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1840
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1841
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1842
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1843
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Edit the dashboard to set target lines and set the upper bounds for gauges. With the dashboard open in CRM Analytics Studio, click the
edit icon to open the designer, then click the widget you want to edit. Then look for the value you want to change in the
properties panel on the right and change it there. Save the dashboard.
Wizard and Other Setup Options
Average Discount and Breakdown by Product widgets. Only included if you select Products on the wizard page that lets you add objects
to the app. Otherwise it includes two activities widgets.
Cases widget. Only included if you select Cases on the wizard page that lets you add objects to the app.
If your org uses account hierarchy, the dashboard can be embedded so that all child account KPIs roll up into KPIs for the parent.
Embedding Syntax
Here’s the syntax for embedding the dashboard in either Salesforce Classic or Lightning Experience pages. Note the difference between
using a filter for single accounts or account hierarchy. Opportunity is the developer name for the opportunity dataset. Use the
exact developer name of the dataset when embedding the dashboard.
Salesforce Classic
Embedding the dashboard in the Account page layout.
Here’s the syntax to filter by a single account:
{"datasets": { "opportunity": [{"fields": ["AccountId"] ,"filter": { "operator": "in",
"values": ["$Id"] }
} ]}}
Here’s the syntax to filter using account hierarchy. Roll ups include KPIs for the account and its child accounts:
{"datasets": { "opportunity": [{"fields": ["Account.Parent.AccountParents"] ,"filter": {
"operator": "in",
"values": ["$Id"] } } ]}}
Here’s the syntax to filter using account hierarchy. Roll ups include KPIs for the account and its child accounts:
{"datasets": { "opportunity": [{"fields": ["Account.Parent.AccountParents"] ,"filter": {
"operator": "in",
"values": ["$AccountId"] } } ]}}
Lightning Experience
Note: Syntax for Lightning Experience uses single quotes instead of double quotes.
1844
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Here’s the syntax to filter using account hierarchy. Roll ups include KPIs for the account and its child accounts:
{'datasets': { 'opportunity': [{'fields': ['Account.Parent.AccountParents'] ,'filter': {
'operator': 'in', 'values':
['$Id'] } } ]}}
Here’s the syntax to filter using account hierarchy. Roll ups include KPIs for the account and its child accounts:
{'datasets': { 'opportunity': [{'fields': ['Account.Parent.AccountParents'] ,'filter': {
'operator': 'in', 'values':
['$AccountId'] } } ]}}
KPI Calculations
Default Widgets
• Average Sales Cycle. Average of opportunity close date - Created date for won opportunities for life of account.
• Win Rate. Total won/ Total closed (won or lost) for life of account.
– Total Won. Total won for life of account.
– Total Lost. Total lost for life of account.
• Open Opportunities. Open opportunities with any close date for the account.
– Count. Total count of open opportunities with any close date for the account.
– Push. Total number of open opportunities for the account that have been pushed at least once.
Optional Widgets
Analytics creates these widgets depending on selections you make on the wizard page that lets you add objects to the app.
• Average Discount. 1 - (Product total price for all products sold to account / Product list price). Only appears if you add Products.
• Product Breakdown. Sum of product total price grouped by product. Only appears if you add Products.
• Number of Open Activities. (Not shown.) Count of open tasks and events related to account. Only appears if you add Products.
• Number of Overdue Activities. (Not shown.) Count of overdue tasks related to account. Only appears if you do not add Products.
• Open Cases. Number of open cases related to account. Only appears if you add Cases.
1845
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: This dashboard is only included if Sales Wave is set up to include products. See Wizard and Other Setup Options.
icon to open the designer, then click the widget you want to edit. Then look for the value you want to change in the properties
panel on the right and change it there. Save the dashboard.
Wizard and Other Setup Options
To add this dashboard to your app, select Products on the wizard page that lets you add objects to the app.
Datasets Used
• Opportunity Products
• Activities
Embedding Syntax
Here’s the syntax for embedding the dashboard in either Salesforce Classic or Lightning Experience Opportunity page layout. Note the
difference between using a filter for single accounts or account hierarchy. Opportunity is the developer name for the opportunity
dataset. Use the exact developer name of the dataset when embedding the dashboard.
Salesforce Classic
{"datasets": { "opportunity": [{"fields": ["Id"] ,"filter": { "operator":
"in", "values": ["$Id"] } } ]}}
Lightning Experience
Note: Syntax for Lightning Experience uses single quotes instead of double quotes.
KPI Calculations
1846
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Age. Number of days opportunity has been open; Today’s date - Created date.
• Days in Current Stage. (Not shown.) Number of days the opportunity has spent in the current stage.
• Days until Close. (Not shown.) Expected close date - today’s date
• Pushed Close Date. Number of times the close date has been pushed into the future.
• Product Breakdown. Grouping of product names according to product total price.
• Discount. (Product total price for all products attached to the opportunity/ Product list price)
• Activity Breakdown. Number of Activities (open or closed) broken down by activity type.
to open the designer, then click the widget you want to edit. Look for the value you want to change in the properties panel
on the right and change it there. When you’re done, save the dashboard.
Click View Sales Rep Overview, View Product Whitespace, and View Activity Overview to open other dashboards.
Wizard and Other Setup Options
The View Product Whitespace button appears and links to the Whitespace dashboard only if you select Products on the wizard page
that lets you choose to add objects. Otherwise, you see a View Pipeline Trending button, which links to the Trending dashboard.
Datasets Used
• Opportunities
• Opportunity Splits (if you add Opportunity Splits to the app on the wizard page that lets you add objects)
• Pipeline Trending
1847
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
• Activities
KPI Calculations
• Closed Won (1). Total amount closed won opportunities in the selected period.
• Closed Won comparison (2). (Total amount closed won opportunities in the selected period - Total closed won opportunities in the
previous period) / Total closed won opportunities in the previous period.
• Open Pipe (3). Total number of open opportunities with close dates within the selected period.
• Open Pipe comparison (4). (Total open pipe in the selected period - Total open pipe in the previous period) / Total open pipe in the
previous period. The amount of open pipe in the previous period is based on data from the same day of the previous period. For
example, if the period is this month, the amount is for the same day for the previous period minus 1 month.
• Activities Completed (5). Total number of activities completed in the selected period.
• Activities Completed comparison (6). (Total number of activities completed in the selected period - Total number of activities
completed in the previous period) / Total number of activities completed in the previous period.
1848
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
View As filter. If Salesforce is set up to use the Sales Cloud Collaborative Forecasts feature, the filter shows forecast usernames. If your
org doesn’t use Collaborative Forecasts, filter shows role developer names. In either case, pipe rolls up to the selected user. If your org
doesn’t use Salesforce role hierarchy, this filter does not appear.
Opportunity Type filter. Values shown determined by selection made in wizard page 5, question 3. By default, the filter uses the standard
Opportunity Type field.
Quotas. Dashboard automatically includes quota information from Sales Cloud Collaborative Forecasts Quotas if your org uses this feature.
If it does not, you can manually upload quotas data into the app from an external tool as a CSV file. See Collaborative Forecasting and
Quotas Data in Sales Analytics.
Products. Dashboard includes products if you include products (opportunity line items) when you create the app. Top products are
sorted by the product amount selected in the wizard, page 6, question 1.
Opportunity Details chart. Amount column changes to Schedule Amount, Close Date column changes to Schedule Date if you select
Product Schedules on page that lets you add data to the app.
Supports Opportunity Splits if the feature is enabled in your org. See Opportunity Splits.
Datasets Used
• Opportunities (or Opportunity Splits)
• Users
• User Allocation
• Forecasting Item (if org uses Collaborative Forecasts)
• Oppty Products (if you set up app with products)
• Pipeline Trending (for Forecast last week comparison)
KPI Calculations
Filters at Top
• View As. Role developer names or forecast managers, depending on how app is set up.
• Opportunity Owner. Any user who has ever owned an opportunity, including inactive users or users who do not own any deals in
the selected period.
• Forecast Category. Values from standard opportunity forecast category field.
• Opportunity Type. Values from standard opportunity type field, or another field selected during app setup.
• Record Type. Opportunity record type names defined in your org.
• Time Period. Based on Salesforce fiscal year settings.
1849
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1850
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
The Leaderboard gives a quick overview of team performance for a given time period. View results for the entire team or for any of your
subordinates. The team is made up of sales reps that roll up to the user selected in the View As filter (1), depending on the configuration
of the app. (See Wizard and Other Setup Options.)
Select a key performance indicator (KPI) at the top of the left column (2) to view a stacked ranking of your team according to that KPI.
Examples of KPIs include the following:
• Quota progress.
• Pipe coverage.
• Open pipe.
• Pipe generated.
• Remaining quota.
• Closed won.
• Completed activities.
• Average sales cycle.
Change the View As filter (1) and view KPIs from that user’s perspective.
The leaderboard column on the left (5) displays opportunity owners only. It does not roll up metrics up the role hierarchy; the Company
Overview dashboard provides that view.
Wizard and Other Setup Options
Quotas. Dashboard automatically includes quota information from Sales Cloud Collaborative Forecasts Quotas if your org uses this feature.
If it does not, you can manually upload quotas data into the app from an external tool as a CSV file. See Collaborative Forecasting and
Quotas Data in Sales Analytics on page 1904.
Opportunity Type filter. Values shown determined by selection made in wizard page 5, question 3. By default, the filter uses the standard
Opportunity Type field.
Close Date filter. Changes to schedule date if you select Product Schedules on page that lets you add data to the app.
View As filter. Contents of this filter depend on your org:
• If your org uses the Sales Cloud Collaborative Forecasts feature, the filter lists forecasting managers as defined by the forecast hierarchy.
• If your org defines a role structure/hierarchy but doesn’t use Collaborative Forecasts, the filter lists manager roles as defined by the
hierarchy.
• If your org does not define role hierarchy, the filter lists opportunity owners.
Top Deals details chart. Amount column changes to Schedule Amount, Close Date column changes to Schedule Date if you select
Product Schedules on page that lets you add data to the app.
Closed won and quota amounts calculated based on the amount field selected in the wizard, Page 5, Question
1.
1851
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Supports Opportunity Splits if the feature is enabled in your org. See Opportunity Splits.
Datasets Used
• Opportunity
• User Allocation
• Activities
• User
• Opportunity Splits (if you select Opportunity Splits on the wizard page that lets you add objects)
KPI Calculations
• Top of Chart
– Closed Won (6a). Total amount closed won during selected time period. Can include future closed opportunities.
– Closed Won comparison (6b). (Total amount closed based on selected user in View As filter - Average total amount closed by
team) / Average total amount closed by team. Team defined by all opportunity owners.
– Closed Won over time (6c). Total amount closed won by quarter for past eight quarters
– Pipe Generated (7a). Based on selections from Created Date (3) and Close Date (4) filters. For example, to see what pipe is
generated this period and closes anytime, set Created Date (3) to this fiscal quarter and Close Date (4) to all time.
– Pipe Generated comparison (7b). (Total pipe created by selected user in View As filter - Average total pipe created by team) /
Average total pipe created by team.
– Pipe Generated over time (7c). Win rate by month for past three years.
– Avg Days in Sales Cycle (8a). Average of opportunity close date - created date for won opportunities year to date.
– Avg Days in Sales Cycle comparison (8b). (Average cycle for selected user in View As filter - Average cycle by team) / Average
cycle by team..
– Avg Days in Sales Cycle over time (8c). Average days to complete (win) sales cycle in the selected period
– Avg Activities Completed (9a). Average number of activities completed per team member in selected time period. Team made
up of opportunity owners included in role selected in View As filter (1).
– Avg Activities comparison (9b). (Average cycle for selected user in View As filter - Average cycle by team) / Average cycle by
team.
– Avg Activities over time (9c). Activities completed per quarter.
1852
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
– Neglected. Opportunities that have not been touched for 60 days. Time period can be changed by editing app dataflow.
Note: Multi Org Sales Analytics Version Only. Use the Data Source menu to select the org data to view in the dashboard.
Note: The dashboard does not yet support Einstein Activity Capture.
1853
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
View As filter. If Salesforce is set up to use the Sales Cloud Collaborative Forecasts feature, the filter shows forecast usernames. If your
org doesn’t use Collaborative Forecasts, filter shows role developer names. In either case, pipe rolls up to the selected user. If your org
doesn’t use Salesforce role hierarchy, this filter does not appear.
Datasets Used
Activities.
KPI Calculations
Top Section (2)
• Total Activities. Total number of activities with due date in the selected period.
• Total Activities comparison. (Total activities for selected user - Total activities) / Total activities.
• Completed Activities. Total number of activities marked as complete based on due date in the selected period. If the event date is
in the past, events are marked as complete.
• Completed Activities comparison. Completed activities for the selected user - Completed activities total / Completed activities total.
• Overdue Activities. Total count of any activity that is overdue. Includes tasks not marked as complete with due dates are in the past.
Middle and Lower Sections (3)
• Calls. Number of tasks of type call with due date in selected period.
• Calls by Week. Number of calls per week with due date in selected period.
• Calls vs. Team Avg. Number of calls for selected user compared with average number for team. Team is made up of activity owners
who roll up to user selected in View As filter or user selected in Activity Owner filter.
• Inbound Calls. Number of inbound calls based on Call Type field in the standard Tasks object
• Outbound Calls. Number of outbound calls based on Call Type field in the standard Tasks object.
• Emails. Number of tasks of type email with due date in selected period.
• Emails by Week. Number of emails per week with due date in selected period.
• Emails vs. Team Avg. Number of emails for selected user compared with average number for team. Team is made up of activity
owners who roll up to user selected in View As filter or user selected in Activity Owner filter.
• High Priority emails. Number of high-priority emails based on standard Tasks object Priority field.
• Normal Priority emails. Number of normal emails based on standard Tasks object Priority field.
• Events. Number of events with due date in selected period.
• Events by Week. Number of events per week with due date in selected period.
• Events vs Team Avg. Number of events for selected user compared with average number for team. Team is made up of activity
owners who roll up to user selected in View As filter or user selected in Activity Owner filter.
• Complete events. Number of events marked closed.
• Open events. Number of future events within the selected period.
• Tasks. Number of open tasks due in the selected period, including overdue tasks.
• Tasks by Week. Number of tasks per week with due date in selected period.
• Tasks vs. Team Avg. Number of tasks for selected user compared with average number for team. Team is made up of activity owners
who roll up to user selected in View As filter or user selected in Activity Owner filter.
• Complete tasks. Number of tasks marked closed.
• Open tasks. Number of future events in the selected period.
1854
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1855
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Time Period filter. All time periods based on Salesforce fiscal year setting.
Supports Opportunity Splits if the feature is enabled in your org. See Opportunity Splits.
Datasets Used
• Opportunities (or Opportunity Splits)
• User Manager
• User Allocation
• Activities
KPI Calculations
All KPIs appear in the right-hand column.
• Closed Won (2a). Total amount closed won based on a selected time period, which can include future opportunities.
• Closed Won Comparison (2b). (Total amount closed won for selected time period to date [for owner selected in main chart (1)] -
Average total amount closed won for team during the same period) / Average total amount closed won for all team members during
the same period. Comparative value appears only if you select a sales rep in main chart (1), otherwise you see 0.
• Closed Won Team Rank (2c). Rank of rep selected in the main chart (1) based on closed won business in the selected time period.
Rank based on opportunity owners who roll up to the manager selected in Forecast User filter as well as the owners selected in
Opportunity Owner filter. Rank appears only if you select a sales rep in main chart (1), otherwise you see a 1.
• Quota Attainment (3a). Closed Won / Quota Amount based on a selected time period, which can include future opportunities.
• Quota Attainment Comparison (3b). (Quota attainment for rep selected in main chart (1) - Quota attainment for team) / Quota
attainment for team. Comparative value appears only if you select a sales rep in main chart (1), otherwise you see 0.
• Quota Attainment Team Rank (3c). Rank of rep selected in main chart (1) based on quota attainment in the selected time period.
Rank based on opportunity owners who roll up to manager selected in Forecast User filter as well as the owners selected in
Opportunity Owner filter. Rank appears only if you select a sales rep in main chart (1), otherwise you see a 1.
• Win Rate (4a). Total amount won / Total amount closed (Won or Lost) based on selected time period, which can include future
opportunities.
• Win Rate Comparison (4b). (Win rate for the owner selected in main chart (1) - Win rate for team) / Win rate for team. Comparative
value appears only if you select a sales rep in main chart (1), otherwise you see 0.
• Win Rate Team Rank (4c). Rank of rep selected in main chart (1) based on their win rate in the selected time period. Rank based on
opportunity owners who roll up to the manager selected in Forecast User filter as well as the owners selected in Opportunity
Owner filter. Rank appears only if you select a sales rep in main chart (1), otherwise you see a 1.
• Avg Sales Cycle (5a). Number of days from CreatedDate in the selected time period, which can include future opportunities.
• Avg Sales Cycle Comparison (5b). (Sales cycle for rep selected in main chart (1) - Average sales cycle for team) / Average sales cycle
for team. Comparative value appears only if you select a sales rep in main chart (1), otherwise you see 0.
• Avg Sales Cycle Team Rank (5c). Rank of rep selected in main chart (1) based on sales cycle in the selected time period. Rep with
shortest sales cycle receives top ranking. Rank appears only if you select a sales rep in main chart (1), otherwise you see a 1.
1856
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: Multi Org Sales Analytics Version Only. Use the Data Sourcemenu to select the org data to view in the dashboard.
Note: The following pertains to Team Trending (shown), Company Trending, and Trending (individual) dashboards, except as
noted.
Default Behavior and Recommended Options
1857
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Dashboards show the pipeline for all opportunity owners rolling up to the manager using the app. Depending on which dashboard you
view, choose another user to change opportunity owners reflected in the chart.
• Team Trending (shown): Change opportunity owner using the Forecast User/Manager Role/Opportunity Owner filter (Forecast
User in image). Filter name changes depending on how your org is set up. See Wizard and Other Setup Options.
• Company Trending: Change opportunity owner using the View As filter.
• Trending (individual): Change opportunity owner using the Opportunity Owner filter.
The dashboard supports only fields within the opportunity history table. Even if you select a custom amount field in the wizard, the
dashboard contains only the standard opportunity amount field. Filters at the top use only current opportunity values; they don’t reflect
historical values. For example, if the owner of the opportunity has changed, historical data does not reflect the change.
The dashboard does not support opportunity splits.
Wizard and Other Setup Options
View As filter: Contents of this filter depend on your org.
• If your org uses the Sales Cloud Collaborative Forecasts feature, the filter lists forecasting managers as defined by the forecast hierarchy.
• If your org defines a role structure/hierarchy but doesn’t use Collaborative Forecasts, the filter lists manager roles as defined by the
hierarchy.
• If your org does not define role hierarchy, the filter lists opportunity owners.
Opportunity Type filter. Values shown determined by selection made in wizard page 5, question 3. By default, the filter uses the standard
Opportunity Type field.
Datasets Used
Pipeline Trending, including data from Opportunity History.
KPI Calculations
Time period filters
Time periods based on Salesforce fiscal year setting.
• Set Pipeline Start and End Dates. Select the start and end dates for when you want to view the pipeline. Click Year, Quarter,
Month, Weeks, or Days to indicate unit of time. Then either click edit icon and type in a number or drag slider handles to set the
start and end for the period you want to view. For example, click Quarters, then drag left handle to -3 and drag right handle to +1
to view pipeline starting three quarters ago until one quarter from now.
• Set Close Date for Opportunities. Select the close date for the opportunities you want to include in your view of the pipeline.
Main (Waterfall) Chart
• Values along top
– Starting Pipeline. Total amount open during the selected starting period.
– Pipeline Change. (Total amount open during selected starting period - total amount open during selected end period/ Total
amount open during selected starting period). Does not include future closed opportunities.
– Ending Pipeline. Total pipeline at the end of the period.
1858
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
1859
Analyze Your Data Deploy CRM Analytics Industry Apps and Prebuilt Apps
Note: The following pertains to Team Whitespace (shown) and Whitespace (individual) dashboards, except as noted.