1 of 38

Approach Reporting

Like Never Before:

Hands-On Deep Dive

Evan Ponter

Founder & Principal Consultant

He / Him

WiFi: TDX24 Password: Trailblazer24

Create a Salesforce org: bit.ly/crmaorg

Or login to a Playground, Dev Edition, or Sandbox

Access this slide deck: bit.ly/tdx24report

2 of 38

Forward Looking Statement

This presentation contains forward-looking statements about, among other things, trend analyses and statements regarding future events, future financial performance, anticipated growth, industry prospects, environmental, social and governance goals, our strategies, expectation or plans regarding our investments, including strategic investments or acquisitions, our beliefs or expectations regarding our competition, our intentions regarding use of future earnings or dividends, and the expected timing of product releases and enhancements. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, Salesforce’s results could differ materially from the results expressed or implied by these forward-looking statements. The risks and uncertainties referred to above include those factors discussed in Salesforce’s reports filed from time to time with the Securities and Exchange Commission, including, but not limited to: our ability to maintain security levels and service performance that meet the expectations of our customers, and the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate performance degradation and security breaches; the expenses associated with our data centers and third-party infrastructure providers; our ability to secure additional data center capacity; our reliance on third-party hardware, software and platform providers; uncertainties regarding AI technologies and its integration into our product offerings; the effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; current and potential litigation involving us or our industry, including litigation involving acquired entities, and the resolution or settlement thereof; regulatory developments and regulatory investigations involving us or affecting our industry; our ability to successfully introduce new services and product features, including any efforts to expand our services; the success of our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; our ability to complete, on a timely basis or at all, announced transactions; our ability to realize the benefits from acquisitions, strategic partnerships, joint ventures and investments, and successfully integrate acquired businesses and technologies; our ability to compete in the markets in which we participate; the success of our business strategy and our plan to build our business, including our strategy to be a leading provider of enterprise cloud computing applications and platforms; our ability to execute our business plans; our ability to continue to grow unearned revenue and remaining performance obligation; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; our ability to limit customer attrition and costs related to those efforts; the success of our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our ability to preserve our workplace culture, including as a result of our decisions regarding our current and future office environments or remote work policies; our dependency on the development and maintenance of the infrastructure of the Internet; our real estate and office facilities strategy and related costs and uncertainties; fluctuations in, and our ability to predict, our operating results and cash flows; the variability in our results arising from the accounting for term license revenue products; the performance and fair value of our investments in complementary businesses through our strategic investment portfolio; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within our strategic investment portfolio; our ability to protect our intellectual property rights; our ability to maintain and enhance our brands; the impact of foreign currency exchange rate and interest rate fluctuations on our results; the valuation of our deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of transfers and the value of such transferred intellectual property; uncertainties regarding the effect of general economic, business and market conditions, including inflationary pressures, general economic downturn or recession, market volatility, increasing interest rates, changes in monetary policy and the prospect of a shutdown of the U.S. federal government; the potential impact of financial institution instability; the impact of geopolitical events, including the ongoing armed conflict in Europe; uncertainties regarding the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; our ability to execute our share repurchase program; our ability to comply with our debt covenants and lease obligations; the impact of climate change, natural disasters and actual or threatened public health emergencies; expected benefits of and timing of completion of the restructuring plan and the expected costs and charges of the restructuring plan, including, among other things, the risk that the restructuring costs and charges may be greater than we anticipate, our restructuring efforts may adversely affect our internal programs and ability to recruit and retain skilled and motivated personnel, our restructuring efforts may be distracting to employees and management, our restructuring efforts may negatively impact our business operations and reputation with or ability to serve customers, and our restructuring efforts may not generate their intended benefits to the extent or as quickly as anticipated; and our ability to achieve our aspirations, goals and projections related to our environmental, social and governance initiatives, including our ability to comply with emerging corporate responsibility regulations.

3 of 38

3

  • Ensure you have the Salesforce Events app downloaded.
  • Give us feedback!
  • On Day 2, present the completed (1) Event Survey page and (4) Session Surveys at Badge pickup to redeem.*

*Restrictions apply. See terms and conditions at sforce.co/survey-terms.

Coffee on us.

The first 500 Trailblazers to provide feedback on this event will receive a $5 Starbucks gift card.

1

2

3

4 of 38

Evan Ponter

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

  • Founder & Principal Consultant of Ponter Solutions (since April 2020)
  • Based in Baltimore, MD
  • First Salesforce login: 2012
  • 10 certifications including Certified Application Architect
  • Co-author of ReportForce.Blog
  • Co-leader of Columbia, MD Salesforce Admin Group
  • I’ve been speaking and teaching at Salesforce events all over the world since 2017

5 of 38

5

Agenda

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

Crawl

Build a “Deluxe” Custom Report Type

Walk

Enforce Object Relationships

Fly

Create a Cartesian Product Dataset

Run

“With or Without” Custom Report Type

6 of 38

6

Every Report Should Answer a Question

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

Prompt people who request a report with the following:

“What question do you want the data to answer?”

Example:

“Which sales teams’ customers log the most support cases?”

Then translate that request based on your Salesforce configuration:

Display a count of case records grouped by the role of the account owner

7 of 38

7

Common Frustrations

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

Lack of Understanding�How to include fields in report builder�How to eliminate “duplicate results”�How to remove “ghost filters”

Standard Report Types�Cannot be customized�Report Rows <> Object Records

Custom Report Types�4 Object Limit�Report Rows = Bottom Object Records

Primary Object

Report Rows =�Filtered Records

8 of 38

8

Start From The Bottom

9 of 38

9

Select Primary Object,�Edit Custom Report Type Layout

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

Cases

Accounts

Account Owners

Account Owner’s Roles

Account Owner’s Parent Roles

Owners

Owner’s Roles

Owner’s Parent Roles

Account Creators

Account Owner’s Managers

Parent Accounts

Account Creator’s Managers

10 of 38

10

✨ Deluxe Report Type ✨

WiFi: TDX24 Trailblazer24 | Org: bit.ly/crmaorg | Slides: bit.ly/tdx24report

Cases

Accounts

Account Owners

Account Owner’s Roles

Account Owner’s Parent Roles

Owners

Owner’s Roles

Owner’s Parent Roles

Account Creators

Account Owner’s Managers

Parent Accounts

Account Creator’s Managers

11 of 38

11

Crawl

Build a “Deluxe” Custom Report Type��to answer��“Which sales teams’ customers log the most support cases?”

12 of 38

Build a Deluxe Report Type

Setup > Feature Settings > Analytics > Reports & Dashboards > Report Types�Click “New Custom Report Type”

Primary Object

Cases

Report Type Label

Cases (Deluxe)

Description

Each detail row represents a Case record. Includes fields from the Account and Account Owner

Store in Category

Customer Support Reports

Development Status

Deployed

Click “Next”

12

13 of 38

Build a Deluxe Report Type

Object Relationships

Click Save

Really, that’s it

13

14 of 38

Build a Deluxe Report Type

Edit Layout

Add Fields Related Via Lookup

Account Name > Account Owner “view related fields”�Scroll down and check the “Role” checkbox

Click “Create New Section”

Name it “Account Owners”, then click “OK”�Click and drag the desired fields to the section

Select fields, click “Edit Properties”

Shorten the “Display As” value�Set “Checked by Default” to true for fields that should be displayed as default columns

Specify default time frame field

The first date or date/time field that appears in the layout is used as the default field for the time frame filter that is part of every report. Drag the desired field to the top-left of the layout

14

15 of 38

Build a Deluxe Report Type

Report Type Selection Screen

Hide Report Types�App Launcher > Reports > New Report

Click the “All” category on the left�Click on a report type you want to hide�In the action menu, click “Hide Report Type”

Note: This is an org-wide setting. There is no profile, permission set, role, group, or other mechanism that makes this more specific

Note: Reports that were built using a report type that becomes hidden will still run. There is no impact

Unhide Report Types�The final category on the left: “Hidden Report Types”�Click on a report type you want to unhide�In the action menu, click “Show Report Type”

15

16 of 38

Build a Deluxe Report Type

Use reference fields for columns, groups, or field filters

Create a new report�App Launcher > Reports > New Report�Click the “All” category on the left�Select the “Cases (Deluxe)” custom report type�Click “Create”

Outline�Group Rows: Account Owner: Role

FiltersShow Me > All Cases�Date/Time Closed > All Time

Display Options�Toggle off the “Detail Rows” option

Run report

16

17 of 38

17

Walk

Enforce Object Relationships��to answer��“Which product’s sales involved influencers?”

18 of 38

Build a “Deluxe” Report Type for a detail object

E.g. a report type that displays a detail row for each Opportunity Product record�Setup > Feature Settings > Analytics > Reports & Dashboards > Report Types

Click “New Custom Report Type”

Primary Object

Opportunities

Report Type Label

Opportunity Products (Deluxe)

Description

Each detail row represents an Opportunity Product record that specifies an Opportunity.

Store in Category

Opportunities

Development Status

Deployed

Click “Next”

18

19 of 38

Build a “Deluxe” Report Type for a detail object

Object Relationships

Click to relate another object

Select ObjectProducts

A to B RelationshipEach "A" record must have at least one related "B" record.

Click Save

19

20 of 38

Add a Cross Filter to a Report

Start from any object enforced in the object relationships of the report type

Create a new report�App Launcher > Reports > New Report�Click the “All” category on the left�Search/Select the “Opportunity Products (Deluxe)” custom report type you created

Click “Create”

FiltersShow Me > All Opportunities�Close Date > All Time

Add a Cross FilterThe top of the filter tab has a dropdown menu�Click “Add Cross Filter”�Select “Opportunities” “with” “Contact Roles”�Click “Apply”

Add Cross Filter Criteria�Click in “Add Contact Roles Filter” area�Select “Role” “equals” “Influencer”

20

21 of 38

21

Run

Build a “with or without” style Custom Report Type��to answer��“What does the 5-year sales projection look like for each account created this year?”

22 of 38

Build a “with or without” style Custom Report Type

Setup > Feature Settings > Analytics > Reports & Dashboards > Report Types�Click “New Custom Report Type”

Primary Object

Accounts

Report Type Label

Opportunities on Accounts + Accounts w/o Opps

Description

Each detail row represents an Opportunity that specifies an Account or an Account that has no child Opportunities meeting the filter criteria

Store in Category

Opportunities

Development Status

Deployed

Click “Next”

22

23 of 38

Build a “with or without” style Custom Report Type

Object Relationships

Click to relate another object

Select ObjectOpportunities

A to B Relationship"A" records may or may not have related "B" records.

Click Save

23

24 of 38

Build a “with or without” style Custom Report Type

Filter records semi-independently in the report builder

Create a new report�App Launcher > Reports > New Report�Click the “All” category on the left�Search/Select the “Opportunities on Accounts + Accounts w/o Opps” custom report type�Click “Create”

Outline�Group Rows: Account Name�Columns: add “Amount”

FiltersShow Me: All Accounts�Created Date: Current FY�Close Date = NEXT 5 YEARS

Display Options�Sort “Account Name” by sum of Amount� largest-to-smallest�Toggle off the “Detail Rows” option

Run report

24

25 of 38

25

Fly

Create a Cartesian Product Dataset

to answer

“Which products are associated with each contact?”

26 of 38

26

Join Records From Sibling Objects

Opportunity Contact Roles

Opportunity Products

Opportunity

27 of 38

27

What is a Cartesian Product dataset?

Each detail row represents the unique combination of “A” and “B” records

28 of 38

28

Cartesian Product Documentation

You won’t find this in Salesforce help articles … yet

  1. Records from a standard junction object must be combined with records that are related to one of the standard parent objects of that junction object
  2. A custom report type must have this configuration:
    1. Primary Object: one of the standard parent objects for that standard junction object
    2. “B” object: the other standard parent object for that junction object
    3. “C” object: a child object of the “B” object
  3. The report using the above custom report type configuration must include a column from the related object (object C)

29 of 38

29

Entity Relationship Diagram

This architecture enables a Cartesian Product Custom Report Type

X

30 of 38

30

Entity Relationship Diagram

Plugging in the objects for this example

Opportunity Contact Roles

Opportunity Products

Opportunity

Contact

Product

X

31 of 38

Build a Cartesian Product Custom Report Type

Setup > Feature Settings > Analytics > Reports & Dashboards > Report Types�Click “New Custom Report Type”

Primary Object

Contacts

Report Type Label

Opportunity Contact Roles X Opportunity Products

Description

Each detail row represents a unique combination between Opportunity Contact Role and Opportunity Product records

Store in Category

Other Reports

Development Status

Deployed

Click “Next”

31

32 of 38

Build a Cartesian Product Custom Report Type

Object Relationships

Click to relate another object

Select ObjectOpportunities

A to B RelationshipEach "A" record must have at least one related "B" record.

Click to relate another object�Products

B to C Relationship�Each "B" record must have at least one related "C" record.

32

33 of 38

Build a Cartesian Product Custom Report Type

Edit Layout

Edit the “Products” section�Relabel it to “Opportunity Products”

Add Fields Related Via Lookup

View > Product Fields�Add fields related via lookup > Price Book Entry > Product

Edit Properties for “Product” fieldChange the Display As value to “Product Name” and set “Checked by Default” to True

33

34 of 38

34

Set Up Example Data

Find an Opportunity that has multiple products�“Opportunity for Lloyd988” has 3 products added to it

Navigate to the Account record for that Opportunity�“Wise175 Inc”

Create 3 Contacts related to that Account�Use creative names

Add those contacts as roles on the Opportunity�Contact Roles related list > Add Contact Roles�Choose “Influencer” as the role for at least one record

35 of 38

Build a Report with a Cartesian Product Dataset

“Which products are associated with each contact?”

Create a new report�App Launcher > Reports > New Report�Click the “All” category on the left�Select the “Opportunity Contact Roles x Opportunity Products” custom report type�Click “Create”

FiltersShow Me > All Contacts�Birthdate > All Time

Run report

35

36 of 38

Distribute Cartesian Product Dataset Results

“Which products are associated with each contact?”

Adjust the Report�Group by Product Name�Add the quantity field as a column�Click “Add Chart”�Save�Choose the public folder

Adjust the Contact Lightning Page�Add a report chart component�to the contact lightning record page

EXTRA CREDIT�For those who wanted the contact full name and the product name visible in the results,�Filter the report to Role = “Influencer”�

36

37 of 38

37

Wrap Up

What a great session!

  • Every report should answer a question
  • Crawl: “Deluxe” custom report types provide a solid foundation
    • Build one for each object you need to report on
    • Take control of available report type choices
  • Walk: Enforce object relationships in custom report type configurations
    • Build “Deluxe” custom report types for standard detail objects
    • Enable cross filters to start from a parent object
  • Run: Combine data in results while filtering records semi-independently
    • Build “with or without” (left-outer join) style custom report types
  • Fly: Join records from sibling objects
    • Build Cartesian Product datasets for standard object records
    • Filter and distribute datasets to focus on the question being asked

38 of 38

38

Thank

You

Survey

Discussion & Resources