Bird
Raised Fist0
Tableaubi_tool~8 mins

Cross-database joins 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 - Cross-database joins
Business Question

How can we combine sales data from our SQL database with customer info from an Excel file to analyze total sales by customer region?

Sample Data

SQL Sales Data

OrderIDCustomerIDSalesAmount
1001C001250
1002C002450
1003C003300
1004C001150
1005C004500

Excel Customer Data

CustomerIDCustomerNameRegion
C001Alpha CorpEast
C002Beta LLCWest
C003Gamma IncEast
C004Delta CoSouth
C005Epsilon LtdNorth
Dashboard Components
  • KPI Card: Total Sales - SUM([SalesAmount]) from joined data = 1650
  • Bar Chart: Sales by Region - SUM([SalesAmount]) grouped by [Region]
  • Table: Sales Details - Shows OrderID, CustomerName, Region, SalesAmount from joined data

Join Details: Inner join on CustomerID between SQL Sales Data and Excel Customer Data

Calculated Field for Sales by Region: SUM([SalesAmount])

Dashboard Layout
+----------------------+-----------------------+
|      Total Sales      |    Sales by Region    |
|       (KPI Card)      |      (Bar Chart)      |
+----------------------+-----------------------+
|                  Sales Details Table               |
+----------------------------------------------------+
  
Interactivity

A filter on Region lets users select one or more regions.

When a region is selected, the Sales by Region bar chart updates to show only those regions.

The Total Sales KPI updates to sum sales only for the selected regions.

The Sales Details table filters to show only orders from customers in the selected regions.

Self Check

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

  • Total Sales: Updates to 700 (250 + 300 + 150 from customers in East)
  • Sales by Region: Shows only the East region bar with total 700
  • Sales Details Table: Shows orders 1001, 1003, 1004 with customer names Alpha Corp and Gamma Inc
Key Result
Dashboard combining sales from SQL and customer regions from Excel to analyze total sales by region.

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