Integrate Your Data with Cross-Database Joins in Tableau 10

By Roger Hau 19 Jul, 2016

Update: Tableau 10 is here! Download now to try out the feature outlined below.

You can't always answer your questions with a single data set. Sometimes, to answer your hardest questions, you have to integrate multiple data sets to uncover insight.

That’s why I am so excited about cross-database joins, a new feature in Tableau 10. Let me show you why this feature can be so powerful.

First, I’ll connect to a database on SQL Server to access Seattle overnight-rental data.

With this data set, I can quickly build vizzes which show all the listings in Seattle, sized and colored by nightly rates:

But what if I want to combine this with my Rental Review data set, which is in MySQL? Before Tableau 10, I could use blending, but then I wouldn’t be able to generate extracts, publish the data source, or use aggregations like MEDIAN(). With cross-database joins, I can now simply add MySQL to the data source.

Back on the data tab, click the “add” link to add other connections to this data source. You’ll notice that a number of the connection types are grayed out. That’s because they aren’t supported for cross-database joins yet. Specifically, you cannot use cross-database joins with these connection types:

  • Tableau Server
  • Firebird
  • Google Analytics
  • Microsoft Analysis Services
  • Microsoft PowerPivot
  • Odata
  • Oracle Essbase
  • Salesforce
  • SAP BW
  • Splunk
  • Teradata OLAP Connector

I’ll click on MySQL and enter my connection information.

Once the connection is added, you’ll see it appear in the top-left part of the data tab. I’ll double-click to rename the connection:

Now I can just drag the MySQL “reviews” table into the canvas to join:

We color-code each connection so you can distinguish the tables in the join and the columns in the data grid. You can see that I have blue columns from SQL Server and orange columns from MySQL that appear side by side in the data grid! Now you can write row-level calculations using fields from both databases, or even create an extract of this multi-connection data source.

And you’re not restricted to just two connections. You can add as many of the supported connections as your analysis requires. Maybe I want to bring in the regional home-sales information as well. I’ll just drag-and-drop the text file into my data source. Note that the new data columns are colored green:

I’ll go back to the viz window and make a quick map showing zip codes colored by the average price versus average rating:

Then I’ll make another viz showing the distribution of rating reviews by zip code:

In the snapshot, I’ve highlighted Tableau’s home turf, the Fremont neighborhood, and we can see that it has a very healthy number of four-star ratings!

With Tableau 10 and cross-database joins, you can bring together all of your data, explore it in new light, and uncover new insights with just drag and drop. I’ve had a ton of fun mashing up internal data with Tableau 10. Share some of your exciting data combinations on Tableau Public!

Join the Beta

Tableau 10 is currently in beta and is available for existing Tableau customers. Check out our beta program to learn more and sign up.

As with anything in beta, your feedback is important. So do let us know what you think.

Learn More about Tableau 10

Tableau 10 includes a brand new look and feel, and a host of new features to help you prep, analyze, and share your insights even faster. Check out our Coming Soon page for details.


Submitted by Gareth (não verificado) on

I love this. Great, great addition to Tableau.

Submitted by Nick P. on

Not having Tableau Server as an option is a massive miss. Understandably it's probably difficult to implement but could always restrict it to data sources based on extracts which would presumably make it much easier to handle.

Submitted by Jacqui M (não verificado) on

I agree. The inability to join to and between published data sources is disappointing. I hope there are plans to support this in the near future.

Submitted by Foo F. on

This is fundamental, but it doesn't actually work as advertised. In fact, I can't get it to join on simple string columns across Postgresql databases.

Submitted by Roger Hau (não verificado) on


Could you help me understand the steps you're performing and the bug you're hitting? This is the first iteration of the feature, and I'd love to work with you to understand the issue and help debug. Reach out to me at and we can go from there.

We've also got some articles that might help resolve the issue:


Submitted by Gabriel S (não verificado) on

I tried the cross join of Cisco Composite Sever and Sybase ASE and I get the following error, even though each of my data separately works.

Tableau Data Engine Error: 40430: The system cannot find the file specified. - IPC_NamedPipe::Connect(WaitNamedPipe)

Submitted by Ian (não verificado) on

Hi, I tried to cross 3 data sources (one from MySQL and two from SAP HANA). I had no problem when I crossed two, but when I added the third one I got an 'unexpected error'.

Am I doing something wrong?


Submitted by Roger Hau (não verificado) on

Hi Gabriel, would you mind moving this conversation to the Tableau Forums? You can mention me with "rhau" and I can try to help you figure out your issue.

Submitted by Roger H. on

Hi Ian, would you mind moving this conversation to the Tableau Forums? You can mention me with "rhau" and I can try to help you figure out your issue.

Submitted by Kylie O. on

Hi, I need to do a cross database UNION. Is this possible? Both my data sources are SQL Server, but are on different servers without a linked server to do the UNION via custom SQL. Thanks

Submitted by Roger Hau (não verificado) on

Hi Kylie, v10 doesn't support cross database union, but it's on the road map.

Submitted by Matteo (não verificado) on

I've seen that Google Analytics is currently not supported. Do you plan to add the cross-database funcionality for GA in the future?

Submitted by Stephen O. on

I would like to join 2 SQL connections. My primary connection has unique rows per order while the other connection has itemised details and multiple rows per order. Is it possible to create a join and only return calculations from my itemised connection into my primary connection?

Submitted by Cecilia Laseter (não verificado) on

Hi - I'm trying to follow along with new user training videos but my left menu doesn't actually have a "Connections" heading (just Workbook and Sheets). Is there a new way to merge data sets (just excel and csv) in 10 that's not reflected in the training videos? Thanks.

Submitted by Roger (não verificado) on

Hey Stephen,

This question might be better suited to the forums. If you open a thread an mention me with "rhau", it should notify me and we can discuss your specific use case in more detail there.

Submitted by Roger Hau (não verificado) on

Hi Cecilia,

For Excel and Text, you should see "Add" next to the connections heading. Could you double check and make sure you're on at least version 10.0?

I can send snapshots and help further if you open a thread in the forums and mention me at "rhau".


Submitted by Rajesh P. on


if I have one data source as an Extract and one which is live can we join both these data sources using cross database joins to create a combined view in my visualisation?



non-humans click here