π
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:
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").
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:
| Format | Groupings | Charts | Formulas | Primary use |
|---|---|---|---|---|
| Tabular | β None | β No | β No | Simple lists, Excel export, mail merge |
| Summary | β Rows (up to 3 levels) | β Yes | β Yes | Most day-to-day reports |
| Matrix | β Rows AND Columns | β Yes | β Yes | Cross comparisons (e.g., sales by quarter and product) |
| Joined | β Multiple blocks | β Yes | β Yes | Combine 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.
- 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:
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:
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:
| Component | Best for | Required report |
|---|---|---|
| Chart | General visualization | Summary or Matrix |
| Gauge | Progress toward a goal | Summary or Matrix |
| Metric | Single value (KPI) | Any format with row limit |
| Table | Record list | Tabular, Summary, or Matrix |
| Rich Text | Explanatory text | None |
| Custom (Visualforce) | Custom | None |
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:
| Feature | Static Dashboard | Dynamic Dashboard |
|---|---|---|
| Running User | Fixed (one user) | The viewing user |
| Schedule delivery | β Yes | β No |
| Subscriptions | β Yes | β No |
| Filters | β Up to 3 | β Up to 3 |
| Data shown | Running User's data | Current user's data |
| Limit | No special limit | 3-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