Bird
Raised Fist0
Tableaubi_tool~8 mins

Joining tables in Tableau - Dashboard Guide

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Dashboard Mode - Joining tables
Business Question

How can we combine customer information with their sales data to analyze total sales per customer?

Sample Data

Customers Table

CustomerIDNameRegion
1AliceNorth
2BobSouth
3CharlieEast
4DianaWest

Sales Table

SaleIDCustomerIDAmount
1011100
1022200
1031150
1043300
1054250
Dashboard Components
  • KPI Card: Total Sales
    Formula: SUM([Amount])
    Result: 1000
  • Table: Sales by Customer
    Joined on Customers.CustomerID = Sales.CustomerID
    Columns: Name, Region, Total Sales
    Formula for Total Sales: SUM([Amount]) grouped by Name and Region
    Result:
    NameRegionTotal Sales
    AliceNorth250
    BobSouth200
    CharlieEast300
    DianaWest250
  • Bar Chart: Sales Amount by Region
    X-axis: Region
    Y-axis: SUM(Amount)
    Result:
    • North: 250
    • South: 200
    • East: 300
    • West: 250
Dashboard Layout
+----------------------+----------------------+
|      Total Sales      |  Sales by Customer   |
|       (KPI Card)      |      (Table)         |
+----------------------+----------------------+
|           Sales Amount by Region (Bar Chart)           |
+-------------------------------------------------------+
Interactivity

Adding a filter on Region will update the Sales by Customer table and the Sales Amount by Region bar chart to show only customers and sales from the selected region(s). The Total Sales KPI card will also update to reflect the sum of sales in the filtered region(s).

Self Check

If you add a filter for Region = East, which components update and what data do they show?

  • Total Sales KPI: Updates to show 300
  • Sales by Customer Table: Shows only Charlie with 300 sales in East region
  • Sales Amount by Region Bar Chart: Shows only East with 300 sales
Key Result
Dashboard combining customer and sales tables to show total sales and sales by region and customer.

Practice

(1/5)
1. What is the main purpose of joining tables in Tableau?
easy
A. To export data to Excel
B. To create charts and graphs automatically
C. To filter data within a single table
D. To combine related data from different tables for analysis

Solution

  1. Step 1: Understand the concept of joining tables

    Joining tables means combining data from two or more tables based on a related column.
  2. Step 2: Identify the purpose in Tableau

    Tableau uses joins to bring together related data so you can analyze it as one set.
  3. Final Answer:

    To combine related data from different tables for analysis -> Option D
  4. Quick Check:

    Joining tables = combine related data [OK]
Hint: Joining means combining data from tables [OK]
Common Mistakes:
  • Thinking joins create charts automatically
  • Confusing joins with filtering data
  • Assuming joins export data
2. Which of the following is the correct syntax to create an inner join between two tables Orders and Customers on the CustomerID field in Tableau's custom SQL?
easy
A. SELECT * FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
B. SELECT * FROM Orders JOIN Customers WHERE Orders.CustomerID = Customers.CustomerID
C. SELECT * FROM Orders LEFT JOIN Customers USING CustomerID
D. SELECT * FROM Orders FULL JOIN Customers ON Orders.CustomerID = Customers.CustomerID

Solution

  1. Step 1: Recall correct SQL join syntax

    The INNER JOIN syntax requires the ON keyword with the join condition.
  2. Step 2: Check each option

    SELECT * FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID uses INNER JOIN with ON and correct condition; others use wrong keywords or join types.
  3. Final Answer:

    SELECT * FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID -> Option A
  4. Quick Check:

    INNER JOIN syntax = SELECT * FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID [OK]
Hint: INNER JOIN needs ON with condition, not WHERE [OK]
Common Mistakes:
  • Using WHERE instead of ON for join condition
  • Confusing join types (LEFT, FULL instead of INNER)
  • Missing ON keyword
3. Given two tables:
Products with ProductID 1,2,3 and Sales with ProductID 2,3,4.
What will be the result count of rows after a left join Products LEFT JOIN Sales ON Products.ProductID = Sales.ProductID?
medium
A. 4 rows
B. 3 rows
C. 2 rows
D. 5 rows

Solution

  1. Step 1: Understand left join behavior

    A left join keeps all rows from the left table (Products) and matches rows from the right (Sales).
  2. Step 2: Count rows from Products

    Products has 3 rows (ProductID 1,2,3), so result will have 3 rows regardless of matches.
  3. Final Answer:

    3 rows -> Option B
  4. Quick Check:

    Left join rows = left table rows [OK]
Hint: Left join keeps all left table rows [OK]
Common Mistakes:
  • Counting all unique keys from both tables
  • Confusing left join with inner join
  • Assuming unmatched rows add extra rows
4. You created a join between Orders and Customers on CustomerID, but your result shows fewer rows than expected. What is the most likely cause?
medium
A. You forgot to add a join condition
B. You used a left join which removes unmatched rows
C. You used an inner join but some CustomerIDs do not match
D. You joined on different field names with no relation

Solution

  1. Step 1: Analyze join type impact

    Inner join returns only matching rows; unmatched rows are excluded.
  2. Step 2: Identify cause of fewer rows

    If some CustomerIDs don't match, inner join reduces row count.
  3. Final Answer:

    You used an inner join but some CustomerIDs do not match -> Option C
  4. Quick Check:

    Inner join excludes unmatched rows [OK]
Hint: Inner join drops unmatched rows, reducing count [OK]
Common Mistakes:
  • Thinking left join removes unmatched rows
  • Ignoring join condition importance
  • Assuming join always increases rows
5. You have three tables: Orders, Customers, and Regions. You want to create a report showing total sales by region. Which join sequence in Tableau is best to ensure all orders are included even if some customers or regions are missing?
hard
A. Orders LEFT JOIN Customers ON CustomerID, then LEFT JOIN Regions ON RegionID
B. Customers INNER JOIN Orders ON CustomerID, then INNER JOIN Regions ON RegionID
C. Regions RIGHT JOIN Customers ON RegionID, then INNER JOIN Orders ON CustomerID
D. Orders INNER JOIN Customers ON CustomerID, then LEFT JOIN Regions ON RegionID

Solution

  1. Step 1: Understand requirement to include all orders

    We want all orders even if customer or region info is missing, so start with Orders as left table.
  2. Step 2: Choose join types to keep all orders

    Using LEFT JOIN from Orders to Customers keeps all orders; then LEFT JOIN to Regions keeps all orders even if region missing.
  3. Final Answer:

    Orders LEFT JOIN Customers ON CustomerID, then LEFT JOIN Regions ON RegionID -> Option A
  4. Quick Check:

    Left joins keep all left table rows [OK]
Hint: Use left joins starting from main table to keep all data [OK]
Common Mistakes:
  • Using inner joins that drop unmatched orders
  • Joining in wrong sequence losing data
  • Using right join confusing left table priority