Bird
Raised Fist0
Tableaubi_tool~7 mins

Cross-database joins 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
Cross-database joins let you combine data from two different databases in one view. This helps when your data lives in separate places but you want to analyze it together without moving or copying it.
When your sales data is in one database and customer info is in another, and you want to see sales by customer details.
When you have product data in a cloud database and inventory data in a local database and want to analyze them together.
When you want to create a report that combines marketing campaign data from one system with website traffic data from another.
When you need to compare financial data stored in different databases without exporting and merging files manually.
When you want to build a dashboard that shows data from multiple sources side by side for better insights.
Steps
Step 1: Open Tableau Desktop and connect to your first data source
- Data Source page
The first data source appears in the canvas area
💡 Choose the database with the main data you want to analyze first
Step 2: Click 'Add' next to Connections to add a second data source
- Data Source page, Connections pane
A new connection window opens to select the second database
💡 You can connect to a different type of database here
Step 3: Select the second database and connect to it
- Connection window
The second data source appears alongside the first in the canvas
💡 Make sure you have access rights to both databases
Step 4: Drag a table from the first data source to the canvas
- Data Source page, canvas area
The table is added as the first table in the join
💡 This is usually your primary table
Step 5: Drag a table from the second data source onto the first table in the canvas
- Data Source page, canvas area
A join is created between the two tables across databases
💡 Tableau shows join options to choose the join type
Step 6: Click the join icon between the tables to set join type and keys
- Data Source page, join icon on canvas
Join configuration panel opens to select join type and matching fields
💡 Choose fields that exist in both tables and have matching data
Step 7: Verify the join results by previewing the data in the canvas
- Data Source page, data preview area
You see combined rows from both tables based on the join
💡 Check for unexpected duplicates or missing rows
Before vs After
Before
Data Source page shows only one database connection with its tables
After
Data Source page shows two database connections with tables joined across them, preview shows combined data
Settings Reference
Connection
📍 Data Source page, Connections pane
Select and connect to different databases for cross-database joins
Default: None
Join Type
📍 Data Source page, join icon between tables
Define how rows from each table match and combine
Default: Inner Join
Join Clauses
📍 Data Source page, join configuration panel
Specify which columns to use for matching rows between tables
Default: None
Common Mistakes
Trying to join tables without adding the second database connection first
Tableau cannot create a cross-database join without both data sources connected
Always add and connect to the second database before dragging its tables to join
Joining on fields that do not have matching data types or values
This causes no matching rows or incorrect join results
Check that join keys have compatible data types and matching values in both tables
Using a join type that excludes needed data
For example, using inner join when you need all rows from one table
Choose the join type carefully based on which rows you want to keep
Summary
Cross-database joins let you combine tables from different databases in one Tableau view.
You add multiple connections on the Data Source page and drag tables to join across them.
Choose join keys and join type carefully to get correct combined data.

Practice

(1/5)
1. What is the main purpose of a cross-database join in Tableau?
easy
A. To export data to an external file
B. To create a copy of data within the same database
C. To combine tables from different data sources into one view
D. To filter data based on user input

Solution

  1. Step 1: Understand cross-database join concept

    A cross-database join allows combining tables from different data sources in Tableau without moving data.
  2. Step 2: Identify the main purpose

    The main goal is to create a richer view by joining data from multiple sources.
  3. Final Answer:

    To combine tables from different data sources into one view -> Option C
  4. Quick Check:

    Cross-database join = combine tables from different sources [OK]
Hint: Cross-database joins combine data from different sources [OK]
Common Mistakes:
  • Thinking it copies data instead of joining
  • Confusing with data filtering
  • Assuming it exports data
2. Which of the following is the correct way to create a cross-database join in Tableau?
easy
A. Drag a table from one data source onto a table from another data source in the Data pane
B. Use the Data Extract option to combine tables
C. Create a calculated field to merge data sources
D. Export both tables and merge in Excel

Solution

  1. Step 1: Recall Tableau's method for cross-database joins

    In Tableau, you drag a table from one data source onto another in the Data pane to create a cross-database join.
  2. Step 2: Eliminate incorrect options

    Options A, B, and D describe other unrelated methods not used for cross-database joins in Tableau.
  3. Final Answer:

    Drag a table from one data source onto a table from another data source in the Data pane -> Option A
  4. Quick Check:

    Drag tables between sources = cross-database join [OK]
Hint: Drag tables between sources to join cross-database [OK]
Common Mistakes:
  • Using data extracts instead of joins
  • Trying to merge with calculated fields
  • Exporting data outside Tableau
3. Given two tables from different databases joined on CustomerID, what happens if some CustomerID values exist only in one table?
medium
A. Those rows will be excluded from the join result
B. Those rows will appear with NULLs for missing columns
C. Tableau will throw an error and stop the join
D. Those rows will be duplicated in the result

Solution

  1. Step 1: Understand join behavior with unmatched keys

    When joining tables, rows with keys only in one table appear with NULLs for columns from the other table if using a left or full outer join.
  2. Step 2: Apply to cross-database join context

    In Tableau cross-database joins, unmatched keys show rows with NULLs, not excluded or duplicated.
  3. Final Answer:

    Those rows will appear with NULLs for missing columns -> Option B
  4. Quick Check:

    Unmatched keys = rows with NULLs [OK]
Hint: Unmatched keys show NULLs, not errors or duplicates [OK]
Common Mistakes:
  • Assuming unmatched rows are excluded
  • Expecting errors on unmatched keys
  • Thinking unmatched rows duplicate
4. You created a cross-database join but Tableau shows incorrect results. Which of these is the most likely cause?
medium
A. You joined tables from the same database
B. You forgot to refresh the data extract
C. You used a calculated field instead of a join
D. Join keys have mismatched data types between sources

Solution

  1. Step 1: Identify common issues in cross-database joins

    Mismatched data types in join keys cause incorrect or missing matches in joins.
  2. Step 2: Evaluate other options

    Refreshing extracts or using calculated fields are unrelated to join key mismatches; joining same database tables is valid but not an error cause here.
  3. Final Answer:

    Join keys have mismatched data types between sources -> Option D
  4. Quick Check:

    Data type mismatch = wrong join results [OK]
Hint: Check join key data types match across sources [OK]
Common Mistakes:
  • Ignoring data type differences
  • Assuming refresh fixes join logic
  • Confusing calculated fields with joins
5. You want to join a large SQL Server sales table with a small Excel customer list using a cross-database join. What is the best practice to optimize performance?
hard
A. Create extracts for both sources before joining
B. Use a left join with the Excel table on the left side
C. Import the Excel data into SQL Server and join there
D. Join directly without extracts to get live data

Solution

  1. Step 1: Understand performance impact of cross-database joins

    Joining large and small tables across sources can slow performance; extracts improve speed by caching data.
  2. Step 2: Evaluate options for optimization

    Creating extracts for both sources reduces query time and improves join speed compared to live joins.
  3. Final Answer:

    Create extracts for both sources before joining -> Option A
  4. Quick Check:

    Extracts speed up cross-database joins [OK]
Hint: Use extracts to speed up cross-database joins [OK]
Common Mistakes:
  • Joining live without extracts on large data
  • Importing Excel into SQL unnecessarily
  • Placing smaller table on left without extracts