1 Reply Latest reply on Aug 10, 2018 12:34 PM by Patrick Van Der Hyde

    Ability to use a D3 visual within a Tableau dashboard to filter other visuals on that dashboard

    Stu Morton

      I would like to know if anyone has been able to use a non-Tableau visual like a Sankey diagram or some other D3 type visual in a Tableau Web Page object and be able to filter the other visuals on the same dashboard based on interacting in the D3 visual.  


      In the example by Tamas and Chris below, they had loaded the HTML and JS file they needed for the D3 onto the Tableau server.  The ability to host files on the Tableau server have been deprecated in v10.0 (See note in this post).  I was wondering if anyone has been able to get that type of filtering to work when the HTML and JS files are on a separate web server.  I have run into some Cross-origin (CORS) issues when trying to access the parent.parent.tableau Tableau API object in the JS code while trying to access the Tableau worksheets on the dashboard. 


      I have tried adding the Access Control tag in the HTML, without any luck.

      <meta http-equiv="Access-Control-Allow-Origin" content="*">


      The HTML/JS code works fine when I publish the Tableau dashboard without the Web Page on the dashboard, and then I have the HTML and JS code calling the Tableau viz through the API.  If this ends up being the only way to do this, then I will make due.  It would be nice to have it all encapsulated in the Tableau dashboard.


      I would prefer not using URL actions to pop-up open a separate window to implement this, because it might cause confusion with the user to know if they should be using the Tableau web address or a URL in the pop-up window to analyze their data.





      Thanks you for reading this and if you have any suggestions, I would really appreciate it.



      Details on Tamas and Chris work


      There was a webinar by Tamas Foldi and Chris DeMartini showing an embedded example, but they have placed the HTML/JS content on the Tableau server, which I was told is being deprecated:

      "The import method (now deprecated) will import the files to Tableau Server and allow Tableau Server to host the files (and generate a URL for the web data connector as a by-product). It is important to note that the import method is deprecated as of Tableau Server 10.0. While the import method will work with the current versions of Tableau Server, it will not be compatible with future versions of Tableau Server."




      Links to the Tamas and Chris work:

      ·        http://www.datablick.com/blog/2016/10/17/vizception


      ·        https://databoss.starschema.net/tableau-javascript-api-without-embedding/