Thank you for using Looker's Salesforce Block. Below, we've provided a brief overview of the Block components. For assistance implementing any of the included patterns, please reach out to your assigned Looker Analyst or Looker Support.
About This Block
- Dialects:
- PL/pgSQL (PostgreSQL, Redshift, Greenplum), Microsoft SQL Server (2012+)
- Assumptions:
- The schema contains the following base objects/relations:
account
,contact
,campaign
,lead
,opportunity
, anduser
- It is assumed that when a lead converts, both an opportunity and an account are created.
- The schema contains the following base objects/relations:
- Considerations:
- The "Base Block" is built upon the subset of objects found across (nearly) all Salesforce instances
- Included in this block are also submodules for additional Salesforce entities, which are not considered "base" objects. Those optional submodules include:
opportunity_history
for pipeline analysis,campaign_member
for campaign attribution, andtask
for meeting/outreach analysis. - To implement a submodule, The assumption here is that the customer has certain "non-standard" objects present in order to implement the submodules.
- One submodule is the switchboard pattern, which provides a way to view all entities in a single place. It's also a pattern that lends itself to funnel analysis and campaign attribution in a single explore/base view.
I. Base Block
1. Account-level Revenue:
- Freshly generated view files for
Account
,Campaign
,Contact
,Lead
,Opportunity
, andUser
sf_extends.view.lookml
, which is where all embellished dimensions and measures are builtsalesforce.model.lookml
, where base views are declared- Four dashboards: Marketing Leadership, Ops Management, Rep Performance, and Team Summary
2. Lead-level Revenue:
- Variant view files for
Account
,Campaign
,Contact
,Lead
,Opportunity
, andUser
salesforce.model.lookml
, where base views are declared
II. Submodules
CampaignMember
and Task
objects)
1. Campaign Attribution (requires - Freshly generated view files for
campaignmember
andtask
. sf_extends.view.lookml
, which is where all embellished dimensions and measures are built.salesforce.model.lookml
, which is where base views are declared; add base views to core model if present.attribution.view.lookml
, which takes a sessions-based approach to attribution. Specifically, different people at a given company may have seen different campaigns over time, perhaps with lulls in their interactions. We want to look at the cluster of campaign touches that preceded a meeting and attribute a meeting or opportunity to the first campaign of that cluster.
OpportunityHistory
object)
2. Opportunity Snapshot (requires - Freshly generated view file for
opportunityhistory
- A date-table pattern
historical_snapshot.view.lookml
, which is a PDT that uses a date join to fan out opportunity history so that we know the states and amounts associated with opportunities on any given day.- opportunity_facts.view.lookml, account-level fact table of opportunity information.
sf_extends.view.lookml
, which is where all embellished dimensions and measures should be built (no additional fields present yet).salesforce.model.view
, which is where base views are declared; add base views to core model if present.- One opportunity-snapshot dashboard.
CampaignMember
and Task
objects are optional)
3. The Switchboard (the_switchboard_limited.view.lookml
which is the switchboard pattern, using only the core objects.the_switchboard_complete.view.lookml
which is the switchboard (360 view) pattern, the core objects plusCampaignMember
andTask
salesforce.model.lookml
, which is where base views are declared; add base views to core model if present.