Bird
Raised Fist0
Tableaubi_tool~15 mins

Joining tables in Tableau - Real Business Scenario

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
Scenario Mode
👤 Your Role: You are a sales analyst at a retail company.
📋 Request: Your manager wants a report that shows total sales by product category and region. The sales data and product details are in separate tables.
📊 Data: You have two tables: Sales and Products. Sales contains OrderID, ProductID, Region, and SalesAmount. Products contains ProductID and Category.
🎯 Deliverable: Create a joined data source in Tableau combining Sales and Products tables, then build a report showing total sales by Category and Region.
Progress0 / 4 steps
Sample Data
Sales Table
OrderIDProductIDRegionSalesAmount
1001200North150
1002201South200
1003202East120
1004200West180
1005203North220

Products Table
ProductIDCategory
200Electronics
201Furniture
202Office Supplies
203Electronics
1
Step 1: Connect to the Sales and Products tables in Tableau.
In Tableau, add both Sales and Products tables to the data source.
Expected Result
Both tables appear in the data source pane.
2
Step 2: Create a join between Sales and Products tables on ProductID.
Drag Products table next to Sales table and join on Sales.ProductID = Products.ProductID using an inner join.
Expected Result
Tables are joined, combining sales data with product categories.
3
Step 3: Build a worksheet showing total sales by Category and Region.
Rows: Category, Columns: Region, Values: SUM(SalesAmount).
Expected Result
A table showing total sales amounts grouped by product category and region.
4
Step 4: Format the report for clarity.
Add clear headers, sort categories alphabetically, and format sales amounts as currency.
Expected Result
Report is easy to read with clear labels and formatted numbers.
Final Result
-------------------------------------------------
| Category       | North | South | East | West |
-------------------------------------------------
| Electronics    | 370   |       |      | 180  |
| Furniture      |       | 200   |      |      |
| Office Supplies|       |       | 120  |      |
-------------------------------------------------
✓Electronics category has the highest total sales, especially in the North region.
✓Furniture sales are only in the South region.
✓Office Supplies sales appear only in the East region.
Bonus Challenge

Create a dashboard that includes this sales by category and region report along with a filter to select specific regions.

Show Hint
Use Tableau's dashboard feature and add a region filter to allow interactive selection.

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