πŸ“Š

Reports and Dashboards

Report types, formats (tabular, summary, matrix, joined), bucketing, formulas, dashboards, and dynamic dashboards.

⏱️ Estimated reading time: 45 minutes

Report Types and Formats

Reports are Salesforce's primary data analysis tool. Understanding report types and formats is essential for the exam.

Report Types:

A Report Type defines which objects and fields are available for a report. It's like the report's data source.

Standard Report Types:
- Salesforce includes preconfigured report types for standard objects: Accounts, Contacts, Opportunities, Cases, Leads, etc.
- These link objects and their main relationships (e.g., 'Accounts with Contacts', 'Opportunities with Products').

Custom Report Types:
- Created in Setup > Report Types.
- Allow combining up to 4 related objects (A β†’ B β†’ C β†’ D).
- Objects are related through lookup or master-detail relationships.
- You can define if child records are required or optional:
- 'A' with 'B' = Shows A records that DO have B records.
- 'A' with or without 'B' = Shows ALL A records, whether or not they have B records (LEFT OUTER JOIN).
- You control which fields are available, which are visible by default, and which are hidden.
- Lookup fields can be added to bring data from additional objects.

The 4 Report Formats:

FormatGroupingsChartsFormulasPrimary use
Tabular❌ None❌ No❌ NoSimple lists, Excel export, mail merge
Summaryβœ… Rows (up to 3 levels)βœ… Yesβœ… YesMost day-to-day reports
Matrixβœ… Rows AND Columnsβœ… Yesβœ… YesCross comparisons (e.g., sales by quarter and product)
Joinedβœ… Multiple blocksβœ… Yesβœ… YesCombine data from different report types in one report

Details for each format:

Tabular:
- The simplest format: a flat table with rows and columns.
- Does NOT support groupings or charts.
- CANNOT be used as a dashboard component source (except with row limit).
- Ideal for exporting data to CSV/Excel.
- Has a Row Limit option to show only the first N records.

Summary:
- Allows grouping rows by up to 3 fields (group, subgroup, sub-subgroup).
- Supports subtotals and grand total for each grouping.
- Can display charts based on groupings.
- Most used and most versatile format.
- Can be used as a dashboard component source.

Matrix:
- Groups data by both rows and columns.
- Ideal for cross-comparing values (e.g., Opportunities by Stage AND by Owner).
- Works like a pivot table.
- Supports subtotals for both rows and columns.

Joined Report:
- Allows combining up to 5 blocks of data, each with a different Report Type.
- Each block maintains its own columns, filters, and format.
- Blocks share a common field to correlate data.
- Useful for comparing different data sets side by side.
- Can only be created in the Standard Report Builder (not legacy).
- Cannot be scheduled for automatic delivery.

Report Filters:
- Standard Filters: predefined filters like 'Show Me' (My records, All records) and 'Date Range'.
- Field Filters: field-based filters with operators (equals, contains, starts with, etc.).
- Filter Logic: allows AND, OR, NOT to combine filters (e.g., (1 AND 2) OR 3).
- Cross Filters: filters that check relationships ("Accounts WITH Opportunities", "Contacts WITHOUT Cases").
- Cross Filters can have sub-filters to refine ("Accounts WITH Opportunities WHERE Amount > 10000").

🎯 Key Points

  • βœ“ Custom Report Types allow up to 4 objects; control which fields are available
  • βœ“ 'With or without' creates a LEFT OUTER JOIN β€” shows all primary object records
  • βœ“ Tabular: no groupings, no charts, can't be dashboard source (except with row limit)
  • βœ“ Summary: groups by rows (up to 3 levels), supports charts β€” most used format
  • βœ“ Matrix: groups by rows AND columns β€” ideal for pivot-style cross tables
  • βœ“ Joined: combines up to 5 blocks from different report types β€” CANNOT be scheduled
  • βœ“ Cross Filters check relationships: 'Accounts WITH Opportunities', 'Contacts WITHOUT Cases'

Advanced Reporting Features

Bucketing:
- Allows grouping field values into custom categories without modifying data.
- Example: group the 'Amount' field into buckets: 'Small' (< 10K), 'Medium' (10K-50K), 'Large' (> 50K).
- Works with numeric, text, and picklist fields.
- Up to 20 buckets per field can be created.
- Bucket fields can be used as groupings in Summary and Matrix reports.
- Does NOT modify actual data; it's just a view in the report.

Row-Level Formulas:
- Allow creating custom calculations for each row of the report.
- Defined directly in the report (not on the object).
- Use the same function types as field formulas.
- Example: calculate a per-row discount: 'Amount * DiscountPercent__c / 100'.
- Support result types: Number, Currency, Percent.
- Can be used as additional columns in the report.
- Available only in Lightning Report Builder.

Summary Formulas:
- Calculate values at the grouping level (not individual row).
- Use aggregation functions: SUM, AVG, MAX, MIN, ROWCOUNT, PARENTGROUPVAL, PREVGROUPVAL.
- PARENTGROUPVAL: Gets the parent grouping level value (useful for calculating percentages of parent group total).
- PREVGROUPVAL: Gets the previous group's value (useful for calculating changes between periods).
- Can be placed at different levels: Grand Total, each grouping, or all groupings.

Conditional Highlighting:
- Applies colors to summary values based on thresholds.
- Example: highlight red if Total < 100K, yellow if 100K-500K, green if > 500K.
- Available only in Summary and Matrix reports.
- Applies to subtotal and grand total values.

Historical Trend Reporting:
- Tracks field changes over time (historical snapshots).
- Available for: Opportunities, Cases, and Forecast Items (by default).
- Shows how values have changed over the last 3 to 5 months (configurable).
- Maximum 5 historical fields per object.
- Enabled in Setup > Historical Trend Reporting.
- Allows seeing trends like: 'How has the Amount of my opportunities changed?'

Report Charts:
- Charts can be added to Summary, Matrix, and Joined reports.
- Available chart types: bar, horizontal bar, line, pie, donut, funnel, scatter.
- Charts can be embedded directly in record Page Layouts.
- A report can have only one embedded chart.
- For multiple visualizations, use Dashboards.

Report Folders and Sharing:
- Reports are organized in folders.
- Folder permissions determine who can view, edit, and manage reports.
- Folder access levels: Viewer, Editor, Manager.
- Viewer: can run reports but not edit them.
- Editor: can edit existing reports in the folder.
- Manager: can edit reports, share the folder, and control access.
- Folders can be shared with: Users, Roles, Public Groups, Territories.

Scheduling Reports:
- Reports can be scheduled for automatic email delivery.
- Frequency: daily, weekly, or monthly.
- Can be sent to any Salesforce user.
- Joined Reports CANNOT be scheduled.
- Tabular reports with Row Limit CAN be scheduled.

🎯 Key Points

  • βœ“ Bucketing groups values into custom categories WITHOUT modifying data β€” up to 20 buckets
  • βœ“ Row-Level Formulas create per-row calculations within the report (Lightning Report Builder only)
  • βœ“ Summary Formulas use PARENTGROUPVAL and PREVGROUPVAL for calculations between grouping levels
  • βœ“ Historical Trend Reporting: tracks field changes over 3-5 months β€” max 5 fields per object
  • βœ“ Report charts can be embedded in Page Layouts β€” one chart per report
  • βœ“ Folder permissions: Viewer (view), Editor (edit), Manager (share and control)
  • βœ“ Joined Reports CANNOT be scheduled for automatic delivery

Dashboards and Dynamic Dashboards

A Dashboard in Salesforce is a visual representation of data from one or more reports. Each dashboard consists of components that display data from a source report.

Dashboard Structure:
- A dashboard has up to 20 components.
- The dashboard grid is 12 columns wide.
- Each component is linked to one source report (or can be an image, rich text, or Visualforce component).
- Component height is flexible.
- Components can be organized by dragging them on the grid.

Dashboard Component Types:

ComponentBest forRequired report
ChartGeneral visualizationSummary or Matrix
GaugeProgress toward a goalSummary or Matrix
MetricSingle value (KPI)Any format with row limit
TableRecord listTabular, Summary, or Matrix
Rich TextExplanatory textNone
Custom (Visualforce)CustomNone

Chart types in components:
- Bar, Horizontal Bar, Stacked Bar.
- Line.
- Pie, Donut (hole shows total).
- Funnel.
- Scatter.

Running User:
- Each dashboard has a Running User that determines what data is displayed.
- If the Running User is the admin, EVERYONE sees the admin's data.
- If the Running User is 'the viewing user' β†’ Dynamic Dashboard (see below).
- Important for the exam: the Running User affects the data security applied to the dashboard.

Dynamic Dashboards:
- Show data based on the credentials and permissions of the viewing user.
- Each user sees only the data they have access to.
- Limits:
- Enterprise: up to 5 Dynamic Dashboards.
- Unlimited/Performance: up to 10 Dynamic Dashboards.
- Developer: up to 3 Dynamic Dashboards.
- Dynamic Dashboards CANNOT be scheduled for email delivery.
- Dynamic Dashboards CANNOT be followed/subscribed to like static dashboards.
- The administrator can set a scope ceiling: the user sees data based on their visibility, but cannot exceed what the admin sees.

Dashboard Filters:
- Up to 3 filters can be added per dashboard.
- Filters affect all dashboard components (or specific components can be excluded).
- Filterable field types: Picklists, Lookups, Checkboxes.
- Filters allow users to interact with the dashboard without editing the underlying reports.
- Filters only affect components whose reports contain the filter field.

Dashboard Folders:
- Same permission structure as report folders: Viewer, Editor, Manager.
- A user needs the 'Run Reports' permission to view dashboards and 'Create and Customize Dashboards' to create them.

Subscriptions:
- Users can subscribe to dashboards to receive them by email.
- Can set conditions: receive only if a value exceeds a threshold.
- Frequency: daily or weekly.
- NOT available for Dynamic Dashboards.

Embedded Dashboard Components:
- Dashboard components can be embedded in Lightning Pages using the 'Dashboard' component in App Builder.
- This allows showing KPIs directly on home or record pages.

Exam summary table:

FeatureStatic DashboardDynamic Dashboard
Running UserFixed (one user)The viewing user
Schedule deliveryβœ… Yes❌ No
Subscriptionsβœ… Yes❌ No
Filtersβœ… Up to 3βœ… Up to 3
Data shownRunning User's dataCurrent user's data
LimitNo special limit3-10 per edition

🎯 Key Points

  • βœ“ A dashboard has up to 20 components in a 12-column grid
  • βœ“ The Running User determines what data EVERYONE sees on the dashboard β€” key for security
  • βœ“ Dynamic Dashboards: each user sees their own data (Enterprise: 5, Unlimited: 10)
  • βœ“ Dynamic Dashboards CANNOT be scheduled for delivery or subscribed to
  • βœ“ Up to 3 filters per dashboard β€” only Picklist, Lookup, and Checkbox fields
  • βœ“ Metric: shows a single KPI value; Gauge: shows progress toward a goal
  • βœ“ Need 'Run Reports' to view dashboards and 'Create and Customize Dashboards' to create them