1 Reply Latest reply on Feb 11, 2013 10:50 AM by William Peterson

    One Tableau server for several different customer systems/databases

    Ryan Farley

      I have the task of integrating Tableau with a system where there will be several different customer instances of an application, each with it's own separate database (although data structure will be more or less the same).

       

      Can anyone offer guidance to how this would be best pulled off with Tableau?

       

      My initial thoughts were to dynamically set the connection for a workbook or view, connecting the views to the data source for the user's system. A few forum searches leads me to believe this is not possible.

       

      My second thought is to create a copy of some base workbook and set up the data sources for each customer's system. So, each customer system & database would have their own workbook connected to their specific database. However, I am unclear if this is possible programatically. Is it possible to copy a workbook and change the data source to point to a different database programatically in some way?

       

      Thanks for any advice.

        • 1. Re: One Tableau server for several different customer systems/databases
          William Peterson

          I use Tableau Server Datasources, one for each database instance/function/version, named something like 'Operations (Customer - Testing - 3.9.18)'    I put all of them in the same Site, in different security groups.  I put all of them in the same workbook. Then I create one set of worksheets/dashboards for each of  the active database structure versions. (One set is probably enough if your db structure is not under active, continuous development.) Connect the Dev worksheet version to the Master-Dev instance of the Datasource, and save the workbook.  Finally, one datasource at a time, I do a 'Data > Replace Data Source' and a 'Server>Publish', so I end up with multiple published workbooks for one 'source' workbook.

           

          While you might be tempted at first to put each Customer datasource on a separate 'Site' or server, it becomes quite difficult to handle across db upgrades, because you have to disconnect from all the Datasources (Create Local Copy, Replace Data Source) in a site before you can Log Off and Log Into another site. If you use different Sites or servers  -particularly if your underlying database changes a lot-  I would use .tde files rather than Datasources.