See Everything at Once: A Guide to Joined Reports

Joined reports are one of Salesforce’s most powerful (and underused) reporting tools. They let you pull data from multiple report types into a single view.  Some business questions don’t fit neatly into a single report. You might want to know which high-priority accounts also have open support cases. Or you might need a side-by-side view of your pipeline broken out by stage, owner, and close date, all at once. Standard summary or tabular reports can only take you so far. That’s where joined reports come in.

SurveyVista: Effortless Data Collection to Action

What Is a Joined Report?

A joined report is made up of blocks, up to five of them, where each block displays data from one standard or custom report type. This means a single joined report can pull from up to five different report types at once.

Each block returns up to 2,000 records, so a fully loaded five-block joined report can surface up to 10,000 records total. That’s a lot of data in one place, which makes the grouping and filtering features especially important (more on those below).

One key requirement: the report types you combine must share a relationship with at least one common object. For example, Opportunities and Cases can coexist in a joined report because both have a relationship with Accounts. You can’t just throw any two report types together. There has to be a logical connection between them.

A Salesforce joined report showing two blocks side by side: an Accounts block on the left and a Cases block on the right, grouped by Account Name with subtotals for each account.
Source: https://help.salesforce.com/s/articleView?id=analytics.reports_working_with_joined.htm&type=5

Understanding Blocks, Common Fields, and the Principal Report Type

Before you build one, it helps to understand three concepts that are specific to joined reports.

Blocks are the individual sections of your joined report, each tied to one report type. You can customize each block independently, adding or removing columns, applying filters, and sorting. Think of each block as its own mini-report that happens to share a stage with others.

Free Mentorship With Talent Stacker

Common fields are fields shared across all report types in the joined report, or where all report types share a lookup relationship to the same field. These are significant because they’re the only fields you can use to group data across blocks. In Lightning Experience, common fields are marked with a special icon in the Fields pane. In Classic, they appear in a dedicated “Common Fields” area.

The principal report type is the one that controls how those common fields are named, since the same field can have different labels in different report types. By default, the first report type you add becomes the principal. It doesn’t affect what data is available, just how certain shared fields are labeled. You can change it at any time, either by reordering blocks in Lightning Experience (the top block’s report type is always principal) or by removing the current principal’s blocks entirely. More on that here.

How to Create a Joined Report

In Lightning Experience

  1. Go to the Reports tab and click New Report.
  2. Choose your first report type. This becomes your principal report type. Click Continue.
  3. Once the report opens in the report builder, click Report in the upper left corner, then select Joined Report, and click Apply.
  4. To add additional report types, click Add Block, choose a report type, decide whether to include default columns, and click Add Block. Repeat for each additional block, up to five total.
  5. Customize each block with the columns, filters, and sorting you need.
  6. Add groupings across blocks using common fields.
  7. Save, name, and run the report.

Click here to solidify your knowledge with a Trailhead challenge!

In Salesforce Classic

  1. From the Reports tab, click New Report.
  2. Choose a report type and click Create.
  3. In the report builder, click Tabular Format | Joined to switch to joined format.
  4. Click Add Report Type for each additional block you want to add, choose the report type, and click OK.
  5. Customize with columns, groups, filters, and formulas.
  6. Save and run.

For more on working with Salesforce Classic, click here.

Note: if you add an empty block (by unchecking “Include default columns”), it won’t appear in the preview until you add at least one column to it.

Grouping and Filtering in Joined Reports

Grouping and filtering work a bit differently in joined reports than in other formats, so it’s worth slowing down here.

Groupings apply across all blocks in the report, and can only use common fields. This is intentional, and it’s what gives joined reports their side-by-side power. You can add up to three groupings, the same limit as the summary report format. For example, if Accounts and Cases both share Account Name as a common field, you can group your joined report by Account Name and see both sets of data aligned in the same rows.

A Salesforce joined report grouped by Account Name, showing an Accounts block on the left and a Cases block on the right, with subtotals for each account displaying record counts across both blocks.
Source: https://help.salesforce.com/s/articleView?id=analytics.reports_working_with_joined.htm&type=5

Filters, on the other hand, are applied to each block independently. This is what makes the “cases by status” use case so elegant. You can have three blocks based on the same Cases report type, each filtered differently (Open, In Progress, Closed), and view them side by side grouped by Priority.

Summary Formulas: Standard and Cross-Block

Joined reports support two types of custom summary formulas, and the second one is where things get really interesting.

Standard custom summary formulas work the same way they do in summary and matrix reports. They apply to one report type and can only be added to blocks based on that type. You can add up to 10 custom summary formulas per block, with a total of 50 across the entire joined report. Each formula must have a unique name, and formula names cannot include brackets.

Cross-block custom summary formulas let you calculate values using data from multiple blocks. This opens up analysis that simply isn’t possible in a standard report. The formula syntax works the same way as standard formulas, except you also reference the block title. For example, to calculate the ratio of opportunities to cases per account, your formula would look like: [Opportunities block 1]RowCount / [Cases block 2]RowCount. If you omit the block title, you’ll get an error when you check syntax or save. (Source)

A few things to keep in mind with cross-block formulas: each joined report can have up to 10 of them, and if you delete a block that’s referenced in a cross-block formula, the formula gets deleted too, from the Fields pane and from any remaining blocks that contained it.

In Lightning Experience, both formula types are automatically added to the report when created. In Classic, you have to manually drag them into the appropriate block.

Real-World Use Cases

To make this concrete, here are a few ways teams actually use joined reports.

Hot Accounts with Open Cases: Combine the Accounts report type with the Cases report type, group by Account Name, filter Accounts to hot accounts only, and filter Cases to show only open ones. At a glance, you see which high-value accounts need support attention.

The Salesforce joined report builder showing an Accounts block and a Cases block side by side, with the Outline panel open on the left displaying the Group Across Blocks field and column settings for each block.
Source: https://help.salesforce.com/s/articleView?id=analytics.reports_examples_joined.htm&type=5

Cases by Status: Use the Cases report type for all three blocks, group by Priority, and filter each block by a different Status value: Closed, New, and In Progress. This gives support managers an instant side-by-side snapshot of their queue by urgency.

Contacts and Campaign Members: See which contacts are in your database alongside which campaigns they’ve been added to, grouped by contact owner or region.

Leads and Converted Opportunities: Track the full lead-to-revenue journey by combining a Leads block with an Opportunities block, grouped by lead source.

Users and Login History: Combine user profile data with activity data to spot adoption gaps or inactive licenses, useful for admins doing org hygiene.

Accounts and Contacts: View account details alongside all associated contacts in one report, useful for territory planning or account reviews.

Cases and Entitlements: Compare open cases against entitlement usage per account to flag customers who are over or under their support limits.

What You Can’t Do with Joined Reports

Joined reports do have some notable limitations.

You cannot add bucketed fields, cross filters, or conditional highlighting. You also can’t create reporting snapshots from a joined report, and in Classic, you can’t schedule or subscribe to them. Dashboard filtering is also limited. You can’t filter a dashboard that only contains joined report widgets.

In Lightning Experience specifically, subscriptions, “Export as details only,” Open in Quip, conditional formatting, and Trend report data in CRM Analytics are not currently supported.

There’s also a list of standard report types that can’t be used in joined reports at all, including Account History, Campaign Member, Case History, Lead History, and several others. It is worth checking before you build.

Conclusion

Joined reports solve a real problem: the need to see related but distinct data together, without toggling between multiple reports or stitching things together in a spreadsheet. Once you understand how blocks, common fields, and the principal report type work together, the format becomes fairly intuitive.

Start simple. Combine two report types, group by a common field, and run it. Then experiment with independent block filters. The more comfortable you get with the format, the more use cases you’ll find for it.

Explore related content:

How to Create, Customize, and Share List Views in Salesforce

Beyond the URL Button: The Salesforce Request Approval Lightning Component

Mastering Data Rollups in Nonprofit Cloud

Leave a Reply

Back to top button

Discover more from Salesforce Break

Subscribe now to keep reading and get access to the full archive.

Continue reading