1 Reply Latest reply on Jan 4, 2016 6:27 AM by Dan Sanchez

    Joining information from two different datasources

    Kevin Chu

      Hey guys,

       

      I'm trying to join information from two different datasources..and I would like do know how to go about this. AFAIK, joining is currently unavailable across multiple datasources, and that the option that I'm technically looking for is Datablending.

       

      Background:

      I'm trying to (as an admin user) publish Datasources to our Tableau Server so that other users can connect to those sources and publish workbooks of their own. By doing this, I open Tableau Desktop, connect to my Oracle database, and publish each SCHEMA.TABLE separately. As a result, our Tableau Server has ~ 30 different data sources (the tables that were in the schema that we want to allow our users to work off of. We do not want to allow our users to connect directly to our Oracle database.

       

      Situation:

      When I try to link two different datasources (both by clicking the chain link as well as going to Data->Edit Relationships), I get a forced reconnect accompanied by an ORA-01795 (an error about queries containing over 1000 parameters), and I'm unable to proceed due to being unable to retrieve the data. If I click on "Show Query" I do notice that it seems to try to do (WHERE LINK_VAR IN ( 1, 2, 3, 4, etc) instead of (WHERE LINK_VAR IN (SELECT LINK_VAR FROM DATASOURCE_2). Since DATASOURCE_1.LINK_VAR has more than 1000 different values, this seems to be causing the problem.

       

      Is there a way to make it so that data blending uses a select vs. an in_set with literals? Otherwise, is there a way to do a true left-join across multiple data sources? Or is there a different way I should be presenting the data to Tableau Server for our users to access?

        • 1. Re: Joining information from two different datasources
          Dan Sanchez

          Hi Kevin!

           

          You are correct that you will need to use the Data Blending functionality if you are publishing the data sources up to Tableau Server.  Currently there isn't a way to join published data sources at the row level.  One thing to keep in mind when blending is that the "join" is going to happen after the results are aggregated to the level of detail of your viz.  This will be important for your end users that are connecting to the published data sources.

           

          As for the ORA-01795 error message, in the past I've seen this occur when people are publishing live connections from Oracle up to Tableau Server.  Does creating an extract of the table in Tableau Desktop, then publishing the extract to Tableau Server get around the error message? 

           

          Thanks!