Skip to content

llooker/blocks_salesforce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

Please note that this Block is built for the Pl/pgSQL dialect. For BigQuery, please refer to our other Block here.

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, and user
    • It is assumed that when a lead converts, both an opportunity and an account are created.
  • 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, and task 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, and User
  • sf_extends.view.lookml, which is where all embellished dimensions and measures are built
  • salesforce.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, and User
  • salesforce.model.lookml, where base views are declared

II. Submodules

1. Campaign Attribution (requires CampaignMember and Task objects)
  • Freshly generated view files for campaignmember and task.
  • 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.
2. Opportunity Snapshot (requires OpportunityHistory object)
  • 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.
3. The Switchboard (CampaignMember and Task objects are optional)
  • 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 plus CampaignMember and Task
  • salesforce.model.lookml, which is where base views are declared; add base views to core model if present.