What Are Joins in Tableau?
If you've ever felt like your data is scattered across different spreadsheets and databases, you're not alone. The marketing team has website traffic data in Google Analytics, the sales team has lead data in Salesforce, and the finance team has transaction data in another system. Combining this data is the key to seeing the whole picture, and in Tableau, the magic happens with something called a join. This guide will walk you through exactly what joins are, the different types you'll encounter, and how to use them to unlock deeper insights from your data.
So, What Exactly is a Tableau Join?
Think of joins as a way to stitch together related data tables based on a common piece of information. Data rarely exists in one big, perfect file. It’s usually stored in multiple tables to keep things organized and efficient. For instance, you might have one table with customer information (name, email, city) and another table with all their orders (order date, product ID, total amount).
By themselves, these tables don't tell the full story. But if both tables contain a common field, like a CustomerID, you can create a join to combine them. A join lets you connect the tables so you can analyze a customer's location alongside their purchase history in a single view. The result is a richer, more powerful dataset that allows you to answer more complex business questions.
The Four Main Types of Joins Explained
When you join tables in Tableau, you have four ways to tell it how to combine the rows. The type of join you choose determines which records will appear in your final dataset. Let's imagine we have two simple tables: a Customers table and an Orders table.
Customers Table (Our "Left" Table)
- CustomerID: C1, Name: Anne
- CustomerID: C2, Name: Ben
- CustomerID: C3, Name: Carol
Orders Table (Our "Right" Table)
- OrderID: 101, CustomerID: C1, Amount: $50
- OrderID: 102, CustomerID: C2, Amount: $75
- OrderID: 103, CustomerID: C4, Amount: $100
Notice that one customer, Carol (C3), has never placed an order, and one order (OrderID 103) belongs to a customer (C4) who isn't in our main Customers list. This is a perfect scenario to explore the different joins.
1. Inner Join
An Inner Join is the most common and restrictive type of join. It only returns rows where the CustomerID exists in both the Customers table and the Orders table. In other words, you only see customers who have made purchases.
Takeaway: Think of it as the intersection of your data - only the matching records make the cut. Using our example, Carol (C3) and the mystery customer (C4) would be excluded.
Result of an Inner Join:
- CustomerID: C1, Name: Anne, OrderID: 101, Amount: $50
- CustomerID: C2, Name: Ben, OrderID: 102, Amount: $75
2. Left Join
A Left Join returns all the rows from your "left" table (in this case, Customers) and only the matching rows from your "right" table (Orders). If a customer from the left table has no matching order in the right table, their order details will simply show up as null (blank).
Takeaway: This is perfect for when you want to see all your customers, regardless of whether they've ever purchased anything. You can use this to find which customers haven't converted yet.
Result of a Left Join:
- CustomerID: C1, Name: Anne, OrderID: 101, Amount: $50
- CustomerID: C2, Name: Ben, OrderID: 102, Amount: $75
- CustomerID: C3, Name: Carol, OrderID: <em>null</em>, Amount: <em>null</em>
Notice that Carol is included, but her order fields are blank because she has no matching record in the Orders table.
3. Right Join
As you might guess, a Right Join is the direct opposite of a Left Join. It returns all the rows from your "right" table (Orders) and only the matching rows from the "left" table (Customers). If a record from the right table has no match in the left table, its fields will be null.
Takeaway: While less common than a Left Join, this is useful for finding "orphan" records in your secondary table, like orders from guest checkouts where you don't have customer profile information.
Result of a Right Join:
- CustomerID: C1, Name: Anne, OrderID: 101, Amount: $50
- CustomerID: C2, Name: Ben, OrderID: 102, Amount: $75
- CustomerID: C4, Name: <em>null</em>, OrderID: 103, Amount: $100
Here, the order from customer C4 is included, but because C4 doesn't exist in our Customers table, the name field is blank.
4. Full Outer Join
A Full Outer Join returns all rows from both tables. If a row from one table has a matching row in the other, the join will combine them. If there's no match, the row from the non-matching table will still be included, with null values in the columns from the other table.
Takeaway: This is your most inclusive option. It gives you every single record from both datasets, making sure nothing is left out. It's great for getting a complete inventory of your data but can create very large datasets.
Result of a Full Outer Join:
- CustomerID: C1, Name: Anne, OrderID: 101, Amount: $50
- CustomerID: C2, Name: Ben, OrderID: 102, Amount: $75
- CustomerID: C3, Name: Carol, OrderID: <em>null</em>, Amount: <em>null</em>
- CustomerID: C4, Name: <em>null</em>, OrderID: 103, Amount: $100
How to Create a Join in Tableau: A Step-by-Step Guide
Actually creating a join in Tableau is straightforward once you understand the concepts.
- Connect to Your Data: Open Tableau Desktop and connect to your data source, whether it's an Excel file, a CSV, or a SQL database.
- Drag Your First Table to the Canvas: From the left-hand pane on the Data Source page, find your first table (this will be your "left" table) and drag it onto the canvas area that says, "Drag tables here."
- Drag Your Second Table: Now, drag your second table onto the canvas. Tableau is smart and will often try to identify a common field between the two tables (like
CustomerID). If it finds one, it will automatically create an Inner Join, represented by a "noodle" connecting the tables. - Configure the Join: Click on the join icon (the pair of overlapping circles) between the tables. This opens the join configuration pane.
- Select Your Join Type: You'll see icons for Inner, Left, Right, and Full Outer joins. Select the one that fits your analysis needs. As you click on each, the data grid below will update to show you a preview of the results.
- Verify the Join Clause: Below the join type selection, you'll see the "join clause" — the common field(s) being used to link the tables. Tableau usually gets this right if the column names are identical. If they're different (e.g.,
Customer IDin one table andCust_IDin another), you can manually select the correct columns from the dropdown menus. - You're Ready to Analyze! Once configured, close the join pane. You can now go to a worksheet and start building visualizations with fields from both of your combined tables.
Joins vs. Blending: What's the Difference?
As you get more advanced in Tableau, you might hear the term "data blending." It's another way to combine data, but it works differently from a join. Understanding the difference is important.
- Joins combine tables at the row level on the Data Source page. They create a single, new (virtual) table of data before you ever start building a chart. You should use joins when your tables live in the same data source (like two tables in the same SQL database or two sheets in one Excel workbook).
- Data Blending combines data at the aggregated level on the worksheet level. It's used when your data lives in different data sources (e.g., an Oracle database and a Google Sheet). Tableau queries each data source independently and then "blends" the summarized results into a single visualization. It's more of a quick, on-the-fly combination than a permanent merge.
As a rule of thumb, always try to use a join first. Joins are generally more performant and flexible. Only use data blending when your data is truly in separate, unconnected sources.
Final Thoughts
Mastering the different types of joins in Tableau is a foundational skill that transforms you from a chart-maker into a true data analyst. It gives you the power to knit together disparate datasets and uncover insights that would otherwise remain hidden. By understanding when to use an Inner, Left, Right, or Full Outer Join, you can ensure your analysis is both accurate and comprehensive.
And while understanding table joins is a critical skill for any BI tool, sometimes the goal is just to connect your data and get answers — fast. We built Graphed to automate the tedious parts of data analysis. Instead of manually configuring joins, you can connect sources like Google Analytics, Shopify, and Salesforce in seconds and simply ask in plain English, "Show me product sales by customer city." Our AI-powered analyst handles the data connections behind the scenes, so you can focus on strategy, not setup.
Related Articles
How to Enable Data Analysis in Excel
Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.