Bird
Raised Fist0
Tableaubi_tool~20 mins

Joining tables in Tableau - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Master of Joining Tables
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding Join Types in Tableau

Which join type in Tableau will keep all rows from the left table and only matching rows from the right table?

ALeft Join
BInner Join
CRight Join
DFull Outer Join
Attempts:
2 left
💡 Hint

Think about which join keeps everything from the first table regardless of matches.

❓ dax_lod_result
intermediate
1:30remaining
Result of Joining Two Tables on a Key

Given two tables in Tableau: Customers with 5 rows and Orders with 8 rows. If you perform an inner join on CustomerID, and 3 customers have orders, how many rows will the joined table have?

A15 rows
B3 rows
C5 rows
D8 rows
Attempts:
2 left
💡 Hint

Inner join keeps only matching rows. Each order belongs to one customer.

🔧 Formula Fix
advanced
2:00remaining
Fixing a Join Result with Unexpected Nulls

You joined two tables in Tableau using an inner join on ProductID. However, some rows in the result have nulls in the right table's columns. What is the most likely cause?

AThere are mismatched data types in the join keys
BThe join condition is on the wrong column
CThe join is actually a left join, not inner join
DThe right table has duplicate ProductID values
Attempts:
2 left
💡 Hint

Check if the keys you join on have the same data type in both tables.

❓ visualization
advanced
2:00remaining
Visualizing Join Results in Tableau

You want to create a dashboard showing total sales by customer after joining Customers and Sales tables. Which visualization best shows this?

AA scatter plot of sales amount vs customer age
BA pie chart showing percentage of customers by region
CA bar chart with Customer Name on X-axis and Total Sales on Y-axis
DA line chart showing sales over time
Attempts:
2 left
💡 Hint

Think about showing total sales per customer clearly.

🎯 Scenario
expert
2:30remaining
Choosing the Correct Join for a Complex Scenario

You have two tables: Employees and Projects. Some employees are not assigned to any projects yet, and some projects have no employees assigned. You want a view that shows all employees and all projects, matching where possible, and showing nulls where no match exists. Which join type should you use in Tableau?

AInner Join
BFull Outer Join
CRight Join
DLeft Join
Attempts:
2 left
💡 Hint

Think about including all rows from both tables, even if no match exists.

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