Before getting started, let me tell you guys a little story of mine. My company started using Salesforce as our CRM system in 2018. I was assigned to be the direct person-in-charge of this brand new CRM system and there I started out my Salesforce journey. I had passed my Administrator Exam, App Builder Exam and Developer I exams last year. After that, I kind of stop pursuing for more certification as I wasn't sure if I should pursue my career path on Salesforce or AWS at the moment. Recently, I was once again got transfer to operations department and that got me into thinking, perhaps I should finish up where I left out. Hence, I have decided to start preparing for Advanced Administrator exam as well as Platform Developer II exam and I am aiming to get them passed in the next few months. I might also write few posts on my previous exams as well. Without further ado, let's get rolling!
NOTE: This post is written in April 2019 and content might be changed/updated overtime. Also, Lightning
means Salesforce Lightning Experience (LEX) and Classic
means Salesforce Classic. The content is inspired by focusonforce.com.
Report Formats
Tabular reports
- List of records and the fields selected
Summary Report
- Summary reports allow grouping data by rows and display of subtotals.
- Up to 3 levels of grouping can be defined as of now.
Matrix Report
- Matrix reports allow grouping data by rows and columns.
- 2 levels of grouping for both rows and columns.
- If over 2,000 records in a report, the detail rows in Matrix report cannot be clicked to show.
Joined Report
- Joined reports allow displaying multiple reports in blocks in one report.
- It can contain information from multiple standard or custom report types.
- Up to 5 report blocks can be included in one joined report.
- Each block of a joined report returns up to 2000 records, 5 blocks of joined report can return up to 10000 records.
- Filters can be applied by block.
Summary Fields
- Number or Currency fields can be summarized by
SUM
,AVERAGE
,MIN
orMAX
. - Summary values are displayed at all grouping levels.
- Simply click on the dropdown of the column and select
Summarize
.
Miscellaneous
- Reports in Lightning Experience (LEX) are combined into one type where users can simply group the data by columns (summary report) or by columns and rows (matrix report) easily.
- In Lightning Experience, date field can be grouped by a calendar or fiscal period.
Hide the embedded Salesforce Classic report builder in Lightning Experience
inReports and Dashboards Settings
can be selected to hide the classic report builder.
Report Types
Standard Report Types
Standard Report Types
are created for standard objects automatically and custom objects if selectedAllow Reports
in theObject Settings
.- Always
with
related records. - Include fields from primary object and related child objects.
Custom Report Types
-
Custom Report Types
are likeStandard Report Types
, excepts it can define which fields are available for a report and to specify with/without related records. -
Can include additional fields such as fields that are related to a lookup object. Click
Add fields related via lookup
and select your desired fields to be displayed in the report.
-
Can include up to 4 levels: primary object + 3 related objects.
-
Customize the page layout for Custom Report.
-
Checked
fields on the Custom Report page layout are included in a report by default. -
Simply drag the field and drop into the right container area to remove the field from page layout.
Reporting Snapshot
- Reporting Snapshot is used to report on historical data, identify trends on data that is changing.
- Required to select
Source Report
from existing reports and also set theTarget Object
to be summarized on. - By default, grouping level is at
Grand Summary
unless you specify differently.
- Mapping summary fields (sum, average, Max, Min) from source report to target object. You can assign the same source report field to more than one target object field.
- Reporting snapshots can be scheduled to run daily, weekly and monthly.
- Reporting snapshots can be emailed to yourself, Salesforce users, public groups, roles and roles and subordinates.
Historical Trend Reporting
Historical trend reporting
allows tracking of changes over time.- It is not a standard report, it is a
custom report type
that becomes available once historical trending is enabled. - A custom report type is used to highlight changes between 5 snapshot dates (can choose custom date, days ago, weeks ago, months ago, first day x weeks/months ago).
- Custom
- 1 Month Ago
- 2 Months Ago
- 3 Months Ago
- First Day This Month
- First Day Last Month
- First Day 2 Months Ago
- First Day 3 Months Ago
- 1 Week Ago
- 2 Weeks Ago
- 3 Weeks Ago
- 4 Weeks Ago
- First Day This Week
- First Day Last Week
- First Day 2 Weeks Ago
- First Day 3 Weeks Ago
- First Day 4 Weeks Ago
- Yesterday
- 2 Days Ago
- 3 Days Ago
- 4 Days Ago
- 5 Days Ago
- 6 Days Ago
- 7 Days Ago
- 30 Days Ago
- 60 Days Ago
- 90 Days Ago
- NOTE: the snapshot date will always be shown in sequential order, regardless of the order you add the snapshot dates.
- Historical data pertains from the previous 3 months to current month.
- Days or weeks is suggested duration for historical trend reporting.
- You can select Opportunities, Cases, Forecasting Items, and up to 3 custom objects.
Filters
can be configured for historical trend reporting.- You can select up to 8 fields in an object for historical trending.
- Column field name with '(historical)' indicates the historical value of the snapshot date. For example,
StageName
was Waiting Signature yesterday and today theStageName
becomes Closed Won, then the yesterday's snapshot will show Waiting Signature and today's snapshot will show Closed Won.
NOTE: standard object such as Opportunity has its default trended fields such as Amount, Close Date, Forecast Category, Probability and Stage. So, there's only 3 fields available.
- Changed dates or values are highlighted in red (value decreases) or green (value increases).
- NOTE:
Trending report
is not the same ashistorical trending report
.
- If you remove all the grouping columns and rows, it will show a nice report view like this:
- You can set the Show Change as 'None' or 'Value'.
- If you set Show Change as 'Value', you will see Change column for each snapshot dates in historical column field:
- You can also set the Format Change for the historical column:
- You can set the Show Change as 'None' or 'Value'.
- Opportunity Trends Report is a special historical trend report for Opportunity:
- Format: Matrix
- Groupings: The default report shows rows grouped by Historical Stage and columns grouped by As of Date.
- Summary Fields: Historical Amount (sum)
Custom Summary Formulas
- Allow a formula to be defined on number, percent and currency summary fields.
- Up to 5 formulas can be defined per report.
- Formula fields can use aggregate functions such as SUM, MAX, MIN, AVG functions.
- Formula functions that can be used are Logical, Math, and Summary.
- It can only be displayed at all summary levels, grand summary or specific grouping levels.
ParentGroupVal Function
ParentGroupVal
function obtains the summary value from a parent group.- The formula function is
PARENTGROUPVAL(summary_field, grouping_level)
wheresummary_field
could beRowCount
or summary fields such asAMOUNT:SUM
whereasgrouping_level
could be specific API name likeGRAND_SUMMARY
or grouping name such asCase.Record_Type_Name__c
orAccount.Name
depending on the available group name in report. - Parent group is a grouping that is one level above the current grouping.
- A parent group can be a particular grouping or grand summary.
- This function can only be used in custom summary formulas and at grouping levels for reports, but not at summary levels.
- In summary report (group by column), the
grouping_level
is eitherGRAND_SUMMARY
or the API name of parent level group, whereas in matrix report (group by both column and row), it is theparent_row_level
andparent_column_level
that are the parent levels. - Example of summary report:
PARENTGROUPVAL(summary_field, grouping_level)
wheresummary_field
could be summary field likeAMOUNT:SUM
andgrouping_level
could beGRAND_SUMMARY
orUSERS.NAME
orACCOUNT.NAME
(grouping by name) - One of the used cases of this function to get percentage from all groups:
AMOUNT:SUM / PARENTGROUPVAL(AMOUNT:SUM, USERS:NAME)
- Example of matrix report:
PARENTGROUPVAL(summary_field, parent_row_grouping, parent_column_grouping)
- Example of
ParentGroupVal
using total record count percentage grouping by Sales Region:
PrevGroupVal Function
PrevGroupVal
function obtains the value of a previous grouping.- The formula function is
PREVGROUPVAL(summary_field, grouping_level [, increment])
wheresummary_field
is the name of grouped row or column,grouping_level
is the API name of the peer level group whose summary value for the previous group is used, andincrement
is the number of groupings previous. increment
is the number of columns or rows before the current summary (default is 1, maximum is 12).- Previous group can be a row or column group before the current group.
- This function can only be used in custom summary formulas and at grouping levels for reports, but not at summary levels.
- NOTE: In reports with multiple grouping levels, you can specify the
grouping_level
to be the same group level as the formula display level or a group level higher than the formula display level. - One of the used cases of this function to calculate the difference in amount from previous month:
AMOUNT:SUM - PREVGROUPVAL(AMOUNT:SUM, CLOSE_DATE)
- Example of
PrevGroupVal
using amount difference grouping by Close Date:
Conditional Highlighting
- Conditional Highlighting allows summarized values to be colored depending on how they meet the value thresholds.
- It can work on summary fields and custom summary formulas.
- Conditional Highlighting in report is available to
Classic
only. NOTE: it is now available toLightning
for Summer 19' version! - Conditional Highlighting in dashboard component table is available to
Lightning
.
Row Limit (Classic only)
- Limit the number of records returned in a tabular report only.
- You can define the sorting field and the order.
Filters
- Filters can be set on field values.
- Filter logic can be added to combine filters with AND and OR conditions.
- Depending on the report type, a report typically has up to 4 standard filters which are applied by default. For example,
Show Me
filter and aDate
filter are included in most of the reporting templates. Filter logic
can only be added on the custom defined filters.- When filtering on a picklist field,
No Selection
can be selected to limit results to records taht are blank or containnull
values. - Dashboard filters are similar to report filters, except they are applied to all the components in the dashboard.
Cross Filters
- Cross filters can be used to display records based on if they do or do not have child records of a particular type.
- Allow including or excluding records in a report.
- Can be used to create an exception report that displays records which have no related child records, ex: create a report to display Accounts without Contacts.
- Subfilters are used to add filters to the child object part of the cross filter.
Bucket Field
- Bucket field is used to define and
bucket
the field values together. - Can be defined on Number, Percent, Currency, Picklist and Text fields.
- For the picklist field, you can add bucket and move the selected picklist values to the bucket.
- It can also be used for grouping and filtering.
Cross Block Custom Summary Formulas
- Cross block summary formulas can be used to calculate a value referring to summary values from multiple blocks in a joined report.
Complex Charting
- Complex charting can be used when multiple data sets need to be charted in one place.
- Visualforce charting uses a Visualforce page to combine several chart components and their data.
- Combination charts show multiple value sets on the same axis, plotting the date sets together (Classic only).
Dashboards
- Dashboards are visual representations of data from a report.
- It can be in the form of a chart, gauge, metric, table or Visualforce page (Classic only).
- If a dashboard has filters, only the unfiltered version is refreshed.
- Dashboard filters can not be applied to emailed dashboards. The dashboard is displayed unfiltered.
- Dashboard can be automatically emailed to one or a group of users once it is refreshed.
- Dashboard can run with a
running user
but it will only display data that the user has access to (contrary to running as admin or user in higher hierachy). - Only users who have accessed to the dashboard folders will be able to view the dashboards in the folder.
- In
Lightning
, a joined report can be used as the source report for a dashboard component. It can contain data from multiple standard or custom report types or multiple view of the same object. - A joined report that needs to be used as a source report for a dashboard component must have a chart.
- A dashboard that runs as the logged in user is called Dynamic Dashboard.
- Permission is required to let dashboard viewers choose whom they view the dashboard as results.
View My Team's Dashboards
- allow users to view dashboard as any user below them in role hierarchy.View All Data
- allow users to edit the dashboard and view it as any user in the org.Enable Other User's Dashboard
- allows users to edit any dashboard they have access to (do not need to be the running user or have "View All Data" permissions)
- Only 5 dynamic dashboards are allowed for Enterprise edition and up to 10 for Unlimited edition.
- Dynamic dashboard cannot be scheduled to refresh. It can only be refreshed manually. Also, it cannot be subscribed for email notification.
Post was published on , last updated on .
Like the content? Support the author by paypal.me!