How can we analyze sales performance by connecting customer, product, and sales data using Tableau's data relationships model?
Data relationships model in Tableau - Dashboard Guide
Start learning this pattern below
Jump into concepts and practice - no test required
| CustomerID | Name | Region |
|---|---|---|
| C001 | Alice | North |
| C002 | Bob | South |
| C003 | Charlie | East |
| C004 | Diana | West |
| ProductID | ProductName | Category |
|---|---|---|
| P001 | Widget | Gadgets |
| P002 | Gizmo | Gadgets |
| P003 | Thingamajig | Tools |
| SaleID | CustomerID | ProductID | Quantity | SaleDate | Amount |
|---|---|---|---|---|---|
| S001 | C001 | P001 | 5 | 2024-01-10 | 500 |
| S002 | C002 | P002 | 3 | 2024-01-15 | 300 |
| S003 | C001 | P003 | 2 | 2024-01-20 | 200 |
| S004 | C003 | P001 | 4 | 2024-01-25 | 400 |
| S005 | C004 | P002 | 1 | 2024-01-30 | 100 |
- KPI Card: Total Sales Amount
Formula: SUM([Amount])
Result: 1500 - KPI Card: Total Quantity Sold
Formula: SUM([Quantity])
Result: 15 - Bar Chart: Sales Amount by Region
Uses relationship between Sales and Customers on CustomerID.
Aggregates SUM([Amount]) grouped by [Region].
Results:
- North: 700
- South: 300
- East: 400
- West: 100 - Bar Chart: Sales Amount by Product Category
Uses relationship between Sales and Products on ProductID.
Aggregates SUM([Amount]) grouped by [Category].
Results:
- Gadgets: 1300
- Tools: 200 - Table: Detailed Sales Records
Shows SaleID, Customer Name, Product Name, Quantity, SaleDate, Amount.
Uses relationships to pull Customer Name and Product Name from related tables.
+----------------------+-------------------------+
| Total Sales Amount | Total Quantity Sold |
| [1500] | [15] |
+----------------------+-------------------------+
| Sales Amount by Region |
| [Bar Chart] |
+--------------------------------------------+
| Sales Amount by Product Category |
| [Bar Chart] |
+--------------------------------------------+
| Detailed Sales Records |
| [Table with SaleID, Customer, Product...] |
+--------------------------------------------+
Filters on Region and Product Category allow users to narrow down the data shown in all charts and tables. Selecting a region updates the Sales Amount by Region chart, the Product Category chart, and the detailed sales table to show only sales from that region. Similarly, filtering by product category updates all components to show only related sales.
If you add a filter for Region = North, which components update and what is the new total sales amount?
Answer: The Sales Amount by Region chart will show only North region data (700). The Product Category chart and Detailed Sales Records table will update to show only sales from customers in the North region. The Total Sales Amount KPI will update to 700.
Practice
data relationships in Tableau?Solution
Step 1: Understand what data relationships do
Data relationships link tables by matching key fields but keep tables separate until analysis.Step 2: Compare with other options
Options A, B, and C describe deleting, permanently combining, or duplicating, which are not the purpose of relationships.Final Answer:
To connect tables without merging them immediately -> Option DQuick Check:
Relationships connect tables without merging [OK]
- Confusing relationships with joins
- Thinking relationships merge tables immediately
- Assuming relationships duplicate data
Solution
Step 1: Identify how Tableau creates relationships
Tableau allows creating relationships by dragging a key field from one table to the matching field in another.Step 2: Eliminate incorrect methods
Options A, C, and D describe manual SQL, copying data, or using Data Interpreter, which are not how relationships are created.Final Answer:
Drag a field from one table to the matching field in another table -> Option BQuick Check:
Drag matching fields to create relationships [OK]
- Trying to write SQL JOINs instead of using drag-and-drop
- Copy-pasting data instead of linking tables
- Confusing Data Interpreter with relationships
Orders with fields OrderID, CustomerID and Customers with fields CustomerID, CustomerName, what will happen if you create a relationship on CustomerID and then create a view showing CustomerName and count of OrderID?Solution
Step 1: Understand relationship on CustomerID
Relationship links Orders and Customers on CustomerID, allowing data from both tables to combine logically.Step 2: Analyze the view with CustomerName and count(OrderID)
Tableau aggregates orders per customer, showing customer names with their order counts.Final Answer:
The view shows each customer with the number of their orders -> Option AQuick Check:
Relationship on CustomerID aggregates orders by customer [OK]
- Expecting no aggregation without explicit join
- Thinking relationship causes errors
- Assuming customer names won't appear without join
ProductID, but your view shows incorrect totals. What is the most likely cause?Solution
Step 1: Check the fields used in the relationship
If the relationship is created on fields that do not match correctly, the data will not combine as expected, causing wrong totals.Step 2: Evaluate other options
Data type mismatch usually prevents relationship creation; physical merge creates a single table instead of relating; refreshing rarely fixes relationship logic errors.Final Answer:
The relationship was created on non-matching fields -> Option AQuick Check:
Incorrect totals often mean wrong relationship fields [OK]
- Ignoring field mismatches in relationships
- Assuming refresh fixes relationship logic
- Confusing relationships with joins or merges
Sales (with SaleID, ProductID, DateID), Products (with ProductID, ProductName), and Dates (with DateID, Date). How should you set up relationships to analyze total sales by product name and date?Solution
Step 1: Identify keys for relationships
Sales table contains foreign keys ProductID and DateID linking to Products and Dates tables respectively.Step 2: Set relationships on matching keys
Create relationships from Sales to Products on ProductID and from Sales to Dates on DateID to enable combined analysis.Step 3: Eliminate incorrect options
Joining all tables into one is not necessary; relating Products to Dates directly lacks a direct key; using ProductName and Date for relationships are incorrect keys.Final Answer:
Create relationships from Sales to Products on ProductID and from Sales to Dates on DateID -> Option CQuick Check:
Relationships use foreign keys from fact to dimension tables [OK]
- Trying to relate dimension tables directly without fact table
- Using descriptive fields instead of keys for relationships
- Joining tables unnecessarily instead of relating
