Bird
Raised Fist0
Tableaubi_tool~5 mins

Joining tables in Tableau - Step-by-Step 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
Introduction
Joining tables in Tableau lets you combine data from two or more tables into one view. This helps you analyze related information together without manually merging data outside Tableau.
When you have customer details in one table and their orders in another, and want to see all info together.
When sales data is split by year in separate tables and you want a combined report.
When product info is in one table and inventory counts in another, and you want to analyze stock by product.
When you want to compare data from two different sources that share a common field like employee ID.
When you need to enrich your main data with additional details from a lookup table.
Steps
Step 1: Open Tableau and connect to your data source
- Data Source page
You see the list of available tables from your data source
Step 2: Drag the first table onto the canvas
- Data Source page
The first table appears as a box on the canvas
Step 3: Drag the second table next to the first table on the canvas
- Data Source page
Tableau prompts you to create a join between the two tables
Step 4: Click the join icon between the two tables
- Data Source page
Join configuration panel opens showing join type and fields
Step 5: Select the join type (Inner, Left, Right, or Full Outer)
- Join configuration panel
The join type changes and Tableau previews the joined data accordingly
💡 Inner join keeps only matching rows; Left join keeps all from the first table
Step 6: Choose the fields from each table to join on by clicking the join clauses
- Join configuration panel
The join clause updates and Tableau shows matching rows based on selected fields
Step 7: Review the data preview to confirm the join works as expected
- Data Source page
You see combined rows from both tables based on the join conditions
Before vs After
Before
Two separate tables: Customers with 100 rows, Orders with 500 rows, no combined view
After
One joined table showing customer info matched with their orders, total rows depend on join type
Settings Reference
Join Type
📍 Join configuration panel on Data Source page
Determines which rows from each table appear in the joined result
Default: Inner
Join Clauses
📍 Join configuration panel on Data Source page
Defines the fields used to match rows between tables
Default: None
Common Mistakes
Using the wrong join type like Inner join when you need all records from one table
This excludes unmatched rows, causing missing data in analysis
Choose Left or Right join to keep all rows from the main table as needed
Joining on fields with different data types or mismatched values
No rows match, resulting in empty or incorrect joined data
Ensure join fields have the same data type and clean matching values
Summary
Joining tables in Tableau combines related data for richer analysis.
Choose the correct join type to control which rows appear in the result.
Always verify join fields match in type and content to avoid empty joins.

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