flowchart LR
A[Raw Data <br> Superstore] --> B[Tableau Prep <br> Clean & Shape]
B --> C[Published <br> Data Source]
C --> D[Sales Performance <br> Dashboard]
C --> E[Customer Preference <br> Dashboard]
D --> F[Monthly <br> Management Review]
E --> G[Marketing <br> Strategy Decisions]
style A fill:#e3f2fd,stroke:#1976D2
style C fill:#fff9c4,stroke:#F9A825
style D fill:#e8f5e9,stroke:#388E3C
style E fill:#f3e5f5,stroke:#7B1FA2
26 Sales Dashboard and Customer Preference Dashboard
This final chapter delivers two complete, production-ready dashboards with full design specifications, calculated fields, data preparation requirements, and publication configurations, synthesising every skill and concept from across the 26 chapters of this book. The first dashboard is a Sales Performance Dashboard suitable for a B2B retail business’s monthly management review. The second is a Customer Preference Dashboard that reveals purchasing preferences, brand affinities, and segment behaviours to guide marketing and product strategy. Together, these two dashboards represent the complete output of a professional Tableau analytics engagement, from raw data to decision-ready insight.
26.1 Data Preparation: The Tableau Prep Foundation
Both dashboards in this chapter use the same clean, enriched dataset produced by a Tableau Prep flow. The flow adds fields that neither dashboard could compute efficiently in real time.
Tableau Prep flow steps:
Step 1, Wildcard Input: Connect to all quarterly Superstore order files using Orders_*.csv wildcard pattern. Union all quarters into a single table.
Step 2, Clean Step 1: Standardise Region values (fix case inconsistencies). Convert Order Date and Ship Date to Date type. Rename fields to business-friendly names.
Step 3, Clean Step 2, Derived Fields:
Code
# Days to Ship
DATEDIFF('day', [Order Date], [Ship Date])Code
# Order Month (for time-series alignment)
DATETRUNC('month', [Order Date])Code
# High-value order flag
IF [Sales] > 1000 THEN "High Value" ELSE "Standard" ENDStep 4, Aggregate Step: Create a Customer-Month summary table (for the Customer Preference Dashboard): group by Customer ID, Segment, Region, and Order Month. Aggregate: SUM(Sales), SUM(Profit), COUNTD(Order ID), SUM(Quantity).
Step 5, Join Step: Join the customer-month summary back to the customer demographic table (if available) on Customer ID.
Step 6, Output: Publish to Tableau Server as two certified data sources: - “Superstore Orders, Enriched” (row-level data for Sales Dashboard) - “Superstore Customer Summary, Monthly” (aggregated data for Customer Preference Dashboard)
26.2 Sales Performance Dashboard: Full Specification
Business purpose: Enable the monthly Sales Review meeting (chaired by the VP of Sales with Regional Directors and the CFO) to cover the business performance agenda in 45 minutes, with data available for every item on the agenda without switching to Excel or PowerPoint.
Primary questions answered: (1) Are we hitting revenue and margin targets? (2) Which regions/categories are performing and which are lagging? (3) What are the top and bottom sub-categories this month? (4) What is the year-to-date forecast vs. the annual plan?
Audience characteristics: Senior and experienced with data, but not daily Tableau users. They need clear labels and intuitive interaction, no training required to navigate the dashboard.
Dashboard size: 1366×768px fixed (fits standard laptop full-screen without scrolling).
Row 1, Header (height: 80px): - Left: Company logo (floating image, 150×60px). - Centre: Dashboard title text box: “Sales Performance Dashboard | <ATTR(MAX([Order Date]))>” - Right: Three KPI tiles in a Horizontal container: - Total Revenue (currency format, large bold) + YoY arrow + % change (green if positive, red if negative). - Profit Margin (percentage) + vs. prior period in smaller text. - Total Orders (integer) + MoM change.
Row 2, Controls (height: 50px): - Horizontal container with three quick filters: Year (dropdown), Month (slider), Region (checkbox). All filters apply to all sheets using this data source.
Row 3, Primary Charts (height: 350px): - Left 65%: Monthly Revenue and Profit Margin dual-axis line chart. Revenue = solid Tableau Blue line (primary axis). Profit Margin = dashed orange line (secondary axis). Reference lines: Revenue at monthly target; Margin at company average margin. - Right 35%: Sub-Category Revenue ranked bar chart (top 10 by current month). Coloured by above/below average margin for the current month.
Row 4, Supporting Charts (height: 250px): - Left 33%: US State map, coloured by target attainment % (sequential blue). Click-to-filter action. - Centre 34%: Segment waterfall chart showing revenue contribution change from prior year: [Segment A +/-, Segment B +/-, Net Change]. - Right 33%: Quarterly YTD vs. Annual Plan bullet chart for each Category.
Code
# Monthly Revenue Target (from a parameter or joined target table)
[Monthly Revenue Target] // parameter set to e.g. 50000Code
# Target attainment ratio
SUM([Sales]) / [Monthly Revenue Target]Code
# Rolling 12-month revenue (for YoY comparison)
WINDOW_SUM(SUM([Sales]), -11, 0)Code
# Revenue above/below prior year same month
SUM([Sales]) - LOOKUP(SUM([Sales]), -12)Code
# Formatted KPI change arrow
IF SUM([Sales]) > LOOKUP(SUM([Sales]), -12)
THEN "▲ " + STR(ROUND(
(SUM([Sales]) - LOOKUP(SUM([Sales]), -12))
/ LOOKUP(SUM([Sales]), -12) * 100, 1)) + "%"
ELSE "▼ " + STR(ROUND(
ABS(SUM([Sales]) - LOOKUP(SUM([Sales]), -12))
/ LOOKUP(SUM([Sales]), -12) * 100, 1)) + "%"
ENDCode
# YTD Revenue vs. Plan progress
{FIXED YEAR([Order Date]):
SUM(IF MONTH([Order Date]) <= MONTH(TODAY())
THEN [Sales] ELSE 0 END)}
/ [Annual Revenue Plan]26.3 Customer Preference Dashboard: Full Specification
Business purpose: Guide the Marketing team’s quarterly planning session, specifically, decisions about customer segmentation, promotional targeting, and product recommendation strategy.
Primary questions answered: (1) Which customer segments generate the most lifetime value? (2) Do different segments prefer different product categories? (3) Are there purchasing patterns that indicate cross-sell opportunities? (4) Which customers are showing declining purchase frequency (at-risk signals)?
Audience characteristics: Marketing analysts and the Marketing Director, comfortable with data and analytics, familiar with segmentation concepts. They will use this dashboard in exploratory mode, clicking into segments to understand their behaviour. Interaction is expected and encouraged.
Dashboard size: 1440×900px fixed (larger canvas for the analytical depth this audience needs).
Header (80px): Title “Customer Preference Dashboard | Segment & Behaviour Analysis” + Date range filter (default: last 12 months) + Segment multi-select checkbox filter.
Row 2, Customer Overview (height: 280px, three equal columns): - Left: Customer count by Segment (bar chart, sorted Consumer > Corporate > Home Office). Coloured by segment using qualitative palette. - Centre: Average Revenue per Customer by Segment (bar chart, revenue concentration metric). - Right: Average Order Count per Customer by Segment (bar chart, frequency metric, indicates loyalty).
Row 3, Preference Analysis (height: 350px, two columns): - Left 55%: Category-by-Segment heat table. Rows = Sub-Category, Columns = Customer Segment. Cells show % of that segment’s total revenue from that sub-category. Colour = diverging palette (dark blue = high preference, white = average, light = low). This chart directly answers “do different segments prefer different products?”. - Right 45%: Scatter plot of Customer CLV vs. Purchase Frequency. One mark per customer. Colour by Segment. Size by Profit contribution. Set action: clicking a cluster of customers filters the preference heat table to only those customers.
Row 4, Temporal Patterns (height: 220px, two columns): - Left: Monthly Purchase Frequency trend by Segment (line chart). Shows whether purchase frequency is increasing or declining per segment over the last 12 months. - Right: At-Risk Customer Count (customers with >90 days since last order), trended over the last 12 months. Alert if count is increasing month-over-month.
Code
# Customer Lifetime Value (FIXED LOD)
{FIXED [Customer ID]: SUM([Sales])}Code
# Total orders per customer (FIXED LOD)
{FIXED [Customer ID]: COUNTD([Order ID])}Code
# Days since last purchase (recency metric)
DATEDIFF('day',
{FIXED [Customer ID]: MAX([Order Date])},
TODAY()
)Code
# At-risk flag: inactive for more than 90 days
IF DATEDIFF('day',
{FIXED [Customer ID]: MAX([Order Date])},
TODAY()) > 90
THEN "At Risk"
ELSE "Active"
ENDCode
# Segment's share of sub-category revenue
SUM([Sales]) /
{FIXED [Segment]: SUM([Sales])}Code
# Cross-sell index: purchases in 2+ categories
{FIXED [Customer ID]:
COUNTD([Category])} >= 226.4 Publication and Governance
Both dashboards should be published to Tableau Server or Cloud with the following governance settings:
Data source certification: Both underlying data sources should be tagged as Certified in Tableau Server (Content > Data Sources > Edit Details > Certification). Certified data sources appear with a checkmark badge, signalling to all users that these are the authorised, governed sources.
Permission configuration:
| Dashboard | View Permission | Download Permission | Edit Permission |
|---|---|---|---|
| Sales Performance | All Staff | Managers+ | Analytics Team Only |
| Customer Preference | Marketing Team | Marketing Managers | Analytics Team Only |
Refresh schedule: - Sales Performance Dashboard: Full refresh daily at 6:00 AM (data is updated overnight from the transactional system). - Customer Preference Dashboard: Full refresh weekly on Sunday at 2:00 AM (segment analysis does not require daily updates).
Subscription configuration: - Sales Performance Dashboard: Weekly email subscription, every Monday at 7:00 AM, sent to VP of Sales and 4 Regional Directors. Format: PDF of each dashboard view. - Customer Preference Dashboard: Monthly email subscription, first Monday of each month, sent to Marketing Director and 3 Analysts. Format: PDF.
Data-driven alerts: - Monthly Revenue KPI tile: Alert if revenue falls below 80% of monthly target, sent to VP of Sales. - At-Risk Customer Count: Alert if at-risk count increases by more than 20% month-over-month, sent to Head of Customer Success.
26.5 End-to-End Workflow Recap
This chapter, and this book, conclude with a summary of the complete Tableau analytics workflow. Every professional Tableau engagement follows these eight stages:
Stage 1, Question Definition: Define the specific business questions the analysis must answer. Without clear questions, dashboards become exploratory playgrounds rather than decision tools.
Stage 2, Data Assessment: Connect to the source data, profile it for quality issues (nulls, type errors, misspellings, duplicates), and document the field definitions and business rules.
Stage 3, Data Preparation (Tableau Prep): Build a Prep flow to clean, combine, and reshape the data. Apply all data quality fixes, derived field calculations, and aggregations. Output to a certified published data source.
Stage 4, Exploratory Analysis (Tableau Desktop): Build quick, unpublished worksheets to explore patterns and validate hypotheses. This is the analytical discovery phase, not the final product.
Stage 5, Visualisation Design: Design the final worksheets with appropriate chart types, formatting, colour systems, and annotations. Apply the typography hierarchy and colour system. Add tooltips and reference lines.
Stage 6, Dashboard Assembly: Build the dashboard layout using layout containers. Place worksheets, add filter controls, configure actions. Test all interactions.
Stage 7, Story Creation (if applicable): Build a Story to present key findings to a decision-making audience. Write declarative captions. Structure around the SCRR or AIDA framework.
Stage 8, Publication and Governance: Publish to Tableau Server/Cloud. Configure permissions, refresh schedules, subscriptions, and data-driven alerts. Certify the data source.
This eight-stage workflow transforms raw data into organisational intelligence, the compound asset that improves every business decision made from the data it informs.
26.6 Summary
| Dashboard | Primary Metric | Key Chart | Key LOD Field |
|---|---|---|---|
| Sales Performance | Revenue vs. Target | Dual-axis line (Revenue + Margin) | YTD vs. Annual Plan (FIXED YEAR) |
| Customer Preference | CLV and Purchase Frequency | Category-Segment heat table | CLV (FIXED Customer ID) |
| Governance Setting | Sales Dashboard | Customer Preference |
|---|---|---|
| Data source | Superstore Orders, Enriched | Customer Summary, Monthly |
| Refresh | Daily 6am | Weekly Sunday 2am |
| Subscription | Weekly Monday 7am (PDF) | Monthly first Monday (PDF) |
| Permissions | All Staff / Managers / Analytics | Marketing Team / Managers / Analytics |
| Stage | Tool | Output |
|---|---|---|
| Data Prep | Tableau Prep | Certified published data source |
| Analysis | Tableau Desktop | Validated worksheets |
| Dashboard | Tableau Desktop | Published interactive dashboard |
| Presentation | Tableau Stories | PDF or Server-hosted story |
Data visualization is not a neutral act. Every chart you build makes a claim about what matters and what does not. Every colour choice signals importance. Every annotation directs attention. Every dashboard you publish shapes what your colleagues see, what they focus on, and ultimately, what decisions they make. This responsibility is what makes Tableau skill valuable, and what makes it demanding. The technical skills covered in this book, connecting data, building calculations, designing dashboards, are the vehicle. The destination is better decisions made by people who trust the analysis because it is clear, accurate, and honest. That standard of trust is earned chart by chart, dashboard by dashboard, through the consistent application of every principle this book has covered. Build analysis that deserves to be trusted. Everything else follows from that.