4 Replies Latest reply on Sep 27, 2013 12:58 PM by jesse bork

    Tableau Query on a Sub Query

    jesse bork

      I have search the Support/Forum for this question, but did not find something apparent ... so please forgive me if this has already been addressed.


      I am a strong supporter of Tableau and it's quick/dirty charting/visualization capabilities.  However, I find myself cracking open MS Access more than I would like to complete many of my analysis because of MS Access easy ability to create queries on a combination of tables and queries.  This becomes very handy when joining tables at different aggregation levels.  Create a quick query(s) to aggregate at a consistent level as another table, and then create a query with a simple join between the two (or many).  Soooo easy ... and in some cases reduces the complexity because you can pull the results in steps without having to create a monster query with other subqueries.


      After thinking of how I would accomplish this in Tableau, I suspect that I would either create multiple views within the database (not possible in databases I don't have permission) or create data sources with custom SQL to aggregate at the desired level.  However, in either case, that requires me to start learning SQL better and also minimizes my ability to use all the quick easy/drag drop filters/criteria available in the core Tableau UI.  So while learning more advanced SQL is probably not a bad thing, it eliminates some of the reason for having Tableau in the first place.


      Has there been any discussion (would it be possible) for Tableau to allow users to build a view/query on top of other view/queries?.  An example would be


      Workbook A

      Tab 1 = build view with data source X

      Tab 2 = build view with data source Y (could be the same as X, but aggregating on different data)

      Tab 3 = build view using the result set of Tab 1 and Tab 2 as the data source


      This would allow me to utilize all the great filtering/criteria capabilities of Tabeau (using parameters and global filters?), stepping through what could be a complex SQL statement and then joining the results sets to provide the final output.  I would assume that this would require multiple queries sent to the database and some dynamic storage mechanism ... I suspect this occurs frequently in tableau anyway as queries are sent to disparate data sources and must be 'merged' for the final output.