Fatskills
Practice. Master. Repeat.
Study Guide: TECH **Einstein Analytics / Tableau CRM: Zero-Fluff, Hands-On Study Guide**
Source: https://www.fatskills.com/salesforce-certification/chapter/tech-einstein-analytics-tableau-crm-zero-fluff-hands-on-study-guide

TECH **Einstein Analytics / Tableau CRM: Zero-Fluff, Hands-On Study Guide**

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~9 min read

Einstein Analytics / Tableau CRM: Zero-Fluff, Hands-On Study Guide

(For Salesforce Admins Who Need to Build, Secure, and Scale Analytics Fast)


1. What This Is & Why It Matters

Einstein Analytics (now rebranded as Tableau CRM) is Salesforce’s native analytics platform that lets you explore data, build dashboards, and embed AI-driven insights—without leaving Salesforce. Think of it as a self-service BI tool that sits inside your org, pulling data from Salesforce (and external sources) to answer questions like: - "Which of our top 10% of accounts are at risk of churning?" - "What’s the average deal size by region, and how does it trend over time?" - "Which sales reps are consistently missing their quotas, and why?"

Why This Matters in Production

If you ignore Tableau CRM, you’re stuck with: ❌ Static reports that require manual exports to Excel (and are outdated by the time they’re built).
No predictive insights—you’re flying blind on customer health, sales trends, or support bottlenecks.
Shadow IT—your sales/marketing teams will start using external tools (like Power BI or Tableau Desktop), creating data silos and security risks.

Real-world scenario:
You’re a Salesforce Admin at a SaaS company. The VP of Sales demands a real-time dashboard showing pipeline health, win rates, and forecast accuracy—by rep, region, and product. They want it embedded in Salesforce, updated hourly, and accessible on mobile. Without Tableau CRM, you’d spend weeks writing SOQL queries, exporting data, and manually updating spreadsheets. With it, you build this in under 2 hours.


2. Core Concepts & Components


? Dataset

  • What it is: A structured collection of data (like a table in SQL) that Tableau CRM uses for analysis. Can pull from Salesforce objects (Opportunities, Cases), external sources (Snowflake, CSV uploads), or even APIs.
  • Production insight: ⚠️ Datasets are the foundation—if your data is dirty (duplicates, missing fields), your dashboards will lie. Always validate data before building.

? Lens

  • What it is: A saved exploration of a dataset (like a "view" in SQL). Lenses let you filter, group, and visualize data without writing code.
  • Production insight: Lenses are great for ad-hoc analysis, but they’re not dashboards. Use them to prototype before committing to a dashboard.

? Dashboard

  • What it is: A collection of visualizations (charts, tables, metrics) built from lenses. Dashboards can be embedded in Salesforce pages, shared via links, or scheduled as PDFs.
  • Production insight: ⚠️ Dashboards are only as good as their data refreshes. Set up scheduled data syncs (e.g., nightly) to avoid stale insights.

? Dataflow

  • What it is: A JSON-based "recipe" that defines how data is extracted, transformed, and loaded (ETL) into datasets. Think of it as a pipeline that moves data from Salesforce (or external sources) into Tableau CRM.
  • Production insight: Dataflows are the most common failure point. If a dashboard stops updating, check the dataflow job logs first.

? Recipe (in Data Prep)

  • What it is: A no-code tool to clean, transform, and join data before it becomes a dataset. Similar to Power Query in Excel.
  • Production insight: Recipes are easier than writing SAQL (Tableau CRM’s query language), but they’re slower for large datasets. Use them for quick prototyping.

? SAQL (Salesforce Analytics Query Language)

  • What it is: A SQL-like language for querying datasets. Used in advanced lenses and dashboards.
  • Production insight: SAQL is powerful but has a steep learning curve. Start with recipes, then graduate to SAQL for complex logic.

? Einstein Discovery

  • What it is: AI-driven insights that automatically detect patterns (e.g., "Customers with >5 support cases are 3x more likely to churn").
  • Production insight: Einstein Discovery is a "set it and forget it" tool—enable it on datasets to get free insights without manual analysis.

? App (Analytics App)

  • What it is: A container for dashboards, datasets, and lenses. Apps help organize analytics by team (e.g., "Sales Analytics App," "Support Analytics App").
  • Production insight: Apps are the best way to control access. Assign permissions at the app level, not the dashboard level.

? Embedded Analytics

  • What it is: Dashboards embedded directly into Salesforce pages (e.g., Account, Opportunity, or Home pages).
  • Production insight: Embedded dashboards reduce context-switching. Sales reps can see pipeline health without leaving an Opportunity record.


3. Step-by-Step Hands-On: Build a Sales Pipeline Dashboard


Prerequisites

✅ Salesforce org with Tableau CRM enabled (check under Setup → Analytics → Settings).
System Administrator permissions.
✅ Sample data (Opportunities, Accounts, Users) in your org.


Step 1: Create a Dataset from Salesforce Data

  1. Navigate to Tableau CRM:
  2. Click the App Launcher (⚡) → Search for "Analytics Studio" → Open it.
  3. Create a new dataset:
  4. Click "Create""Dataset".
  5. Select "Salesforce" as the data source.
  6. Choose the "Opportunity" object.
  7. Select fields to include:
  8. Required: Id, Name, Amount, StageName, CloseDate, AccountId, OwnerId.
  9. Optional: Type, LeadSource, Probability.
  10. Set the dataset name:
  11. Name: Sales_Pipeline_Dataset.
  12. Click "Next""Create".
  13. Verify the dataset:
  14. After creation, click the dataset to preview the data.

⚠️ If data is missing, check field-level security (FLS) in Salesforce Setup.


Step 2: Build a Lens to Explore the Data

  1. Open the dataset:
  2. In Analytics Studio, click "Datasets" → Select Sales_Pipeline_Dataset.
  3. Create a lens:
  4. Click "Explore""New Lens".
  5. Add a bar chart:
  6. Drag StageName to the X-axis.
  7. Drag Amount to the Y-axis.
  8. Set aggregation to "Sum".
  9. Add a filter:
  10. Click "Add Filter" → Select CloseDate.
  11. Set to "Current Quarter".
  12. Save the lens:
  13. Click "Save" → Name: Pipeline_by_Stage.
  14. Click "Save".

Step 3: Build a Dashboard

  1. Create a new dashboard:
  2. In Analytics Studio, click "Create""Dashboard".
  3. Select "Blank Dashboard".
  4. Add the lens as a widget:
  5. Click "Add Widget""Lens".
  6. Select Pipeline_by_Stage.
  7. Resize the widget to fit the dashboard.
  8. Add a metric widget:
  9. Click "Add Widget""Metric".
  10. Set:
    • Dataset: Sales_Pipeline_Dataset.
    • Measure: Amount (Sum).
    • Filter: StageName = "Closed Won".
  11. Title: Total Won Revenue.
  12. Add a table widget:
  13. Click "Add Widget""Table".
  14. Set:
    • Dataset: Sales_Pipeline_Dataset.
    • Columns: Name, Account.Name, Amount, StageName, CloseDate.
    • Filter: StageName NOT IN ("Closed Won", "Closed Lost").
  15. Title: Open Opportunities.
  16. Save the dashboard:
  17. Click "Save" → Name: Sales_Pipeline_Dashboard.
  18. Click "Save".

Step 4: Embed the Dashboard in Salesforce

  1. Navigate to the Opportunity page layout:
  2. Go to SetupObject ManagerOpportunityPage Layouts.
  3. Edit the "Opportunity Layout".
  4. Add a Lightning Component:
  5. Drag the "Analytics Dashboard" component onto the layout.
  6. Configure:
    • Dashboard: Sales_Pipeline_Dashboard.
    • Height: 500px.
  7. Save the layout.
  8. Test it:
  9. Open an Opportunity record → The dashboard should appear, filtered to that Opportunity’s Account.

Step 5: Schedule Data Refreshes

  1. Open the dataset:
  2. In Analytics Studio, go to "Datasets" → Select Sales_Pipeline_Dataset.
  3. Set up a schedule:
  4. Click "Schedule""New Schedule".
  5. Set:
    • Frequency: Daily.
    • Time: 2:00 AM.
    • Time Zone: Your org’s timezone.
  6. Save the schedule.

⚠️ If the schedule fails, check the dataflow job logs (under "Data Manager" → "Monitor").


4. ? Production-Ready Best Practices


Security

  • Least privilege access: Assign Tableau CRM permissions via Analytics Apps (not individual dashboards).
  • Row-level security (RLS): Use predicate filters to restrict data by user role (e.g., "Sales reps only see their own Opportunities").
  • External data: If pulling from APIs (e.g., Snowflake), use named credentials (not hardcoded passwords).

Cost Optimization

  • Data volume: Tableau CRM charges by data rows ingested. Archive old data (e.g., Opportunities >2 years old) to reduce costs.
  • Scheduled refreshes: Avoid real-time syncs (expensive). Use daily or hourly refreshes instead.
  • Dataset design: Denormalize data to reduce joins (e.g., include Account.Name in the Opportunity dataset).

Reliability & Maintainability

  • Naming conventions:
  • Datasets: Object_Purpose (e.g., Opportunity_Pipeline).
  • Dashboards: Team_Purpose (e.g., Sales_Pipeline_Health).
  • Documentation: Add a description to every dataset/dashboard explaining its purpose and data sources.
  • Version control: Export dataflows and dashboards as JSON and store them in a Git repo.

Observability

  • Monitor dataflows: Set up email alerts for failed jobs (under "Data Manager" → "Monitor").
  • Track usage: Use the "Analytics Usage" dashboard to see which dashboards are most/least used.
  • Log errors: Check "Data Manager" → "Jobs" for failed data syncs.


5. ⚠️ Common Mistakes & Traps

Mistake Symptom Fix/Prevention
Not setting up RLS (Row-Level Security) Users see data they shouldn’t (e.g., reps see all Opportunities). Always add a predicate filter (e.g., OwnerId = "$User.Id") to datasets.
Real-time data syncs High costs and slow performance. Use scheduled refreshes (daily/hourly) instead of real-time.
Ignoring data quality Dashboards show incorrect numbers (e.g., duplicate Opportunities). Clean data before building datasets (use recipes or validation rules).
Overcomplicating dashboards Slow load times, users get overwhelmed. Limit dashboards to 5-7 widgets. Use lenses for ad-hoc analysis.
Not testing mobile Dashboards look broken on phones. Always preview in mobile view and simplify layouts for small screens.


6. ? Exam/Certification Focus (Salesforce Admin)


Typical Question Patterns

  1. "Which tool would you use to clean and transform data before creating a dataset?"
  2. Recipe (no-code) or SAQL (advanced).
  3. Not a dashboard or lens.

  4. "How do you restrict a sales rep to only see their own Opportunities in a dashboard?"

  5. Row-Level Security (RLS) with a predicate filter (e.g., OwnerId = "$User.Id").
  6. Not by sharing settings (that’s for Salesforce records, not Tableau CRM).

  7. "What’s the difference between a dataset and a lens?"

  8. Dataset: Raw data (like a table).
  9. Lens: A saved exploration of a dataset (like a query).

  10. "Which feature automatically detects patterns in your data?"

  11. Einstein Discovery.
  12. Not SAQL or recipes.

Key ⚠️ Trap Distinctions

  • Dataflow vs. Recipe:
  • Dataflow: ETL pipeline (JSON-based, scheduled).
  • Recipe: No-code data prep (like Power Query).
  • Dashboard vs. Lens:
  • Dashboard: Collection of visualizations (shared).
  • Lens: Single exploration (personal or shared).
  • Embedded Analytics vs. External BI:
  • Embedded: Lives inside Salesforce (no context-switching).
  • External BI: Requires exporting data (e.g., Tableau Desktop).


7. ? Hands-On Challenge (With Solution)


Challenge:

Build a dashboard that shows Case Resolution Time by Support Agent, filtered to the last 30 days. Include: 1. A bar chart of average resolution time by agent.
2. A table of top 5 longest-open cases.
3. A metric showing total open cases.

Solution:

  1. Create a dataset:
  2. Source: Case object.
  3. Fields: Id, Subject, Status, CreatedDate, ClosedDate, OwnerId, Owner.Name.
  4. Build a lens:
  5. Bar chart: Owner.Name (X-axis), AVG(ClosedDate - CreatedDate) (Y-axis).
  6. Filter: Status = "Closed" AND CreatedDate = LAST 30 DAYS.
  7. Build a dashboard:
  8. Add the lens as a bar chart.
  9. Add a table widget:
    • Columns: Subject, Owner.Name, CreatedDate, Status.
    • Filter: Status != "Closed".
    • Sort: CreatedDate ASC (oldest first).
    • Limit: 5 rows.
  10. Add a metric widget:
    • Measure: COUNT(Id).
    • Filter: Status != "Closed".
  11. Save as Support_Case_Resolution_Dashboard.

Why it works:
- The dataset pulls all Case data.
- The lens calculates average resolution time.
- The dashboard combines visualizations and filters for a complete view.


8. ? Rapid-Reference Crib Sheet

Task Command/Action
Create a dataset Analytics Studio → Create → Dataset → Salesforce Object.
Build a lens Open dataset → Explore → New Lens.
Add a filter Click "Add Filter" → Select field → Set condition.
Schedule a data refresh Dataset → Schedule → New Schedule.
Embed a dashboard Edit page layout → Add "Analytics Dashboard" component.
Set RLS (Row-Level Security) Dataset → Edit → Add predicate (e.g., OwnerId = "$User.Id").
Export a dashboard Dashboard → ⋮ → Export → JSON.
Check dataflow logs Data Manager → Monitor → Jobs.
Enable Einstein Discovery Dataset → ⋮ → Enable Einstein Discovery.
Default data refresh frequency ⚠️ None (must be manually set).
SAQL example q = load "Dataset"; q = group q by 'Owner.Name'; q = foreach q generate 'Owner.Name' as 'Owner.Name', avg('Resolution_Time') as 'Avg_Resolution_Time';
Recipe vs. Dataflow ⚠️ Recipe: No-code, for small datasets. Dataflow: JSON, for large/complex ETL.


9. ? Where to Go Next

  1. Salesforce Tableau CRM Trailhead – Free hands-on modules.
  2. Tableau CRM Developer Guide – Official SAQL documentation.
  3. Tableau CRM Recipes Guide – No-code data prep.
  4. Einstein Discovery Documentation – AI-driven insights.


ADVERTISEMENT