Skip to main content

Hi Team,

We have a JavaScript-based web application where Tableau dashboards are embedded and launched based on user interaction.

 

Current behavior:

  • User clicks on the “ABC” tab
  • A specific Tableau dashboard is launched

New requirement:

 

We need to dynamically determine which dashboard is launched based on the logged-in user’s role:

  • If the user has Role A → launch “ABC” dashboard
  • If the user has Role B → launch “XYZ” dashboard

Important constraint:

 

This logic must be handled entirely within Tableau (Tableau Server/Cloud or embedding capabilities). 

We cannot implement or modify this logic in the web application layer (JavaScript).

 

Expected behavior:

  • Only one click on the “ABC” tab
  • No intermediate/landing dashboard
  • No additional navigation inside Tableau
  • Dashboard should open directly based on user role

Question:

 

Is there any way in Tableau to dynamically switch the target dashboard/URL at runtime based on the logged-in user’s role, without relying on application-side logic?

 

Are there any Tableau-native approaches (e.g., user functions, permissions, site roles, row-level security, or embedding configurations) that can support this behavior?

 

Note:

POC already implemented: 

 We have attempted a proof of concept using Dynamic Zone Visibility (DZV):

  • Both dashboards are placed within the same workbook
  • Each dashboard is embedded in separate containers
  • Visibility is controlled using user-based logic

#Tableau Desktop & Web Authoring  #Tableau Server  #Tableau Cloud  #Tableau

2 answers
  1. May 13, 10:24 PM

    It is possible through dynamic zone visibility. you need to set up a calculation which assigns a value (number) to the group your user A or B belong to. Like Manager or Employee group.  

    Say Manager group is assigned value 1 and employee group Value 2. manger sees Dashboard A and Employee see Dashboard B. Put Both Dashboards in separate containers  inside another dashboard and then use this Boolean calculation to operate in DZV mode.  

    Value=1 and set it up in dashboard under Layout to control visibility.  

    what will happen, Manager logs in value is set to 1 he sees Dashboard A. 

    When employee logs in the calculation turns false as Value=2 and it not equal to 1 so Employee will see Dashboard 2. Try. :-) 

     

0/9000