Skip to main content

#Tableau Server100 discussing

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

I want external users to connect via the proxy with a trusted CA certificate (no browser warnings), while simplifying certificate management on internal Tableau Server nodes using self-signed certificates for the proxy-to-server communication. 

 

#Tableau Server

2 answers
  1. May 18, 7:59 AM

    @Rami Reddy Jaggavarapu

    Yes! Use a public trusted CA certificate on the proxy/load balancer for external users, and use TLS again from the proxy/load balancer to Tableau Server. Tableau documents this as a supported pattern. It also says internal or self-signed certificates can be used to encrypt traffic between Tableau Server and internal computers: 

    https://help.tableau.com/current/server/en-us/proxy.htm

    The important part is that the proxy/load balancer must trust the backend Tableau certificate. If you use a self-signed cert, import that cert or its internal CA/root cert into the proxy/load balancer trust store. Do not disable backend certificate validation in production.

    Best practice is to use an internal CA-issued certificate instead of a one-off self-signed certificate. It is easier to rotate, audit, and manage across nodes.

    Also confirm these Tableau settings are correct when running behind a proxy/load balancer:

    gateway.public.host = public Tableau URL 

    gateway.public.port = 443 

    gateway.trusted = proxy/load balancer IP or CNAME 

    gateway.trusted_hosts = proxy/load balancer hostnames/aliases

     

    If SSL is used from the proxy to Tableau Server, Tableau SSL must be configured on Tableau Server as well: https://help.tableau.com/current/server/en-us/ssl_config.htm

    For SAML/OIDC setups, make sure the proxy preserves the correct forwarded headers, especially X-Forwarded-Proto: https, otherwise authentication redirects or SAML validation can fail: https://help.tableau.com/current/server/en-us/saml_requ.htm

    Avoid exposing Tableau Server directly to the internet. Tableau’s hardening guidance recommends keeping Tableau Server inside the corporate network and using a reverse proxy for internet clients: https://help.tableau.com/current/server/en-us/security_harden.htm

0/9000

I am in the process of setting up Tableau server, but the client has an LDAP identity provider but we cannot connect to this in the configuration step of the Tableau server install as it does not yet exist. Can I continue with the installation past the Identity store selection point if the connection to the identity store is not available. 

 

The main reason they do not yet have this is that it is generally set up as part of the SAML configuration, but this is only done later in the Tableau server environment once the configuration is complete.

 

#Tableau Server

5 answers
  1. Yesterday, 7:19 AM

    Yes. But that's the other way around. You could enable SCIM because SAML is configured. You need the pre-existing SAML trust. That's the way Tableau developed this feature...

0/9000

I need to do a healthcheck to determine if I need more capacity or cores in my current server, but I haven't found any sort of guide to do this healthcheck. 

 

How do I know if my capacity in cores and hardware is enough for my current use? 

 

#Tableau Server

1 answer
  1. Yesterday, 8:37 PM

    Hi @Willys Jimenez

     

    if you are Tableau Server Admin, it is something you already know because you get frequently user complains, as well as notifications that processes were down. 

     But if you want to go into details and have facts, if you do not have any OS / Hardware level monitoring in place (for example Grafana), which would be ideal, then have a look at this tableau utility "Logshark" to audit your instance, based on logs activity: 

    https://tableau.github.io/Logshark/

     

    I'm sorry I'm not aware of the existence of a clear health check guide. All my knowledge comes from fragmented pieces of information over the years as well as on-the-job experience. 

    Maybe you can watch

    https://www.tableau.com/events/tc/2019/tuning-tableau-server-performance-best-practices#form-gate-content

0/9000

I wanna know if there are any options to have AI in tableau server besides the MCP server, or if I have to completely go to the cloud? 

 

#Tableau Server

2 answers
  1. Yesterday, 8:20 PM

    Hi @Willys Jimenez

     

    If you mean right now, then with 2025.3 you can only use Tableau Agent to help you build your viz https://help.tableau.com/current/pro/desktop/en-us/desktop_einstein.htm or design your flows https://help.tableau.com/current/prep/en-us/prep_einstein.htm

    Based on the product roadmap calls I attended, Bring Your Own LLM and Dashboard Narratives (so Ask questions about your data through Agent) are in the queue for TS v. 2026.2 / 2026.3.

0/9000

We have two tableau servers, both meeting the required minimum ODBC driver version  and openSSL version.  Pay key authentication for Snowflake does not work on one of them. Any hint?  

 

#Tableau Server

2 answers
  1. Yesterday, 3:31 PM

    Hi @Hasan Mustafa

    Sorry for the delay in answer but.... 

    Your hints are obviously helpful but it took me a couple of days to prove it. 

    At first I created a card with tableau support team, why not? 

    Tableau support team verified our configuration and pinpointed that snowflake odbc driver version is wrong. How come? I have verified BOTH servers provide the same output: 

     

    ~

    #odbcinst

    -q -d -n "SnowflakeDSIIDriver" 

    [SnowflakeDSIIDriver] 

    ... 

    DriverODBCVer=03.52 

    ... 

     

     

    RTM leads to a different driver and different output.... 

    I am still not 100% sure if that works as my complaining user is coming back next week. 

    Keep fingers crossed. 

     

     

     

     

     

     

0/9000

[tableau@sp-tableau-external-master-stable scripts]$ sudo /opt/tableau/tableau_server/packages/scripts.20253.26.0316.1545/initialize-tsm --accepteula  Detected an existing Tableau Server installation version 20253.26.0316.1545  Attempting to restart services. This is only done if the Tableau Server  package corresponding to the version used by the data directory was  uninstalled (an unusual and undesirable situation). If you want to  start with a fresh installation of Tableau Server on this system  (deleting all data!), run the tableau-server-obliterate script before  installing the package (see documentation).  Job for fnplicenseservice_0.service failed because the control process exited with error code.  See "systemctl --user status fnplicenseservice_0.service" and "journalctl --user -xeu fnplicenseservice_0.service" for details.  [tableau@sp-tableau-external-master-stable scripts]$ systemctl --user status fnplicenseservice_0.service  Failed to connect to bus: No medium found     

1 answer
  1. Yesterday, 3:04 PM

    Hi @Praveen Pandey

     

    Do you really have a previous installation attempt / existing instance ? 

    But as a side note, it seems that you are using a Linux user called "tableau" with sudo access for the installation. "tableau" is per default a reserved user name that the installation will try to create so that's not going to work directly. 

    So some context would be nice.

0/9000

I have a Tableau dashboard on Tableau Server connected to PostgreSQL through a view. The view refresh is already embedded within the daily PostgreSQL processes and gets refreshed successfully every day.

However, the issue is that the Tableau dashboard data is not reflecting the latest refreshed data. The dashboard date updates correctly as T-1, but the actual data displayed is still from T-2.

Could anyone please help identify possible reasons for this behavior?

Additional Information:

  • Data source: PostgreSQL View
  • Dashboard refresh frequency: Daily
  • View refresh is completed successfully in PostgreSQL
  • Only the Tableau dashboard data appears delayed by one day

Could this be related to Tableau extract refresh, caching, or connection settings?   

5 answers
  1. Yesterday, 12:44 PM

    @Rashmi Punde

     

    Hi, as explained before this is a cache problem. 

     

    What you can do besides what has already been explained?  

    a. If working directly into Tableau Server/Cloud UI: 

    You can add to the end of your url the option :refresh=yes. E.g:

    https://yourtableauserver.com/views/Date-Time/DateCalcs?:refresh=yes

     

    Then you can add to bookmarks the link in your browser, and you will avoid to pushing the refresh button. 

     

    b. If you are working with an embed scenario, then you can add a custom parameter to the embed code:

    <tableau-viz id="tableauViz"

    src='https://my-server/views/my-workbook/my-view'>

    <custom-parameter name=":refresh" value="yes"></custom-parameter>

    </tableau-viz>

     

    If this post resolves the question, would you be so kind to "Accept this Answer"?. This will help other users find the same answer/resolution and help community keep track of answered questions. Thank you. 

     

    Regards, 

     

    Diego Martinez 

    Tableau Visionary and Tableau Ambassador 

0/9000

Hi, I have one dashboard tab contains tabular format with 21 columns & 76000+ records approx.

I have configured export all extension to this tab & it's working fine at desktop level but in tableau server blank excel sheet downloading. 

Q. do we need to restrict records count with filter and then only export all button works?

Q. is there any other way to do configuration fix at tableau server level ?

5 answers
  1. Jan 30, 2025, 7:10 AM

    Hi there Veera,

    The issue of the "Export All" extension working on Tableau Desktop but failing on Tableau Server with a blank Excel file is likely due to data size limitations, server permissions, or performance constraints. Since the dataset contains 21 columns and over 76,000 records, Tableau Server may be hitting memory or timeout limits, preventing the export. To troubleshoot, first, try reducing the number of records using filters and test if the export works. If a smaller dataset exports successfully, the issue is likely related to server resource constraints. Additionally, ensure that the extension is enabled in Tableau Server settings, and check if the Trusted Sites List includes the domain hosting the extension. Server security policies may also restrict data exports, so verifying the Data Interactivity permissions is essential. Another possible cause is browser cache issues, so testing in a different browser or clearing the cache might help. If the problem persists, checking Tableau Server logs for errors related to export failures could provide insights. As an alternative approach, you can use Tabcmd to export data programmatically, bypassing the extension's limitations. If you need further assistance in debugging Tableau Server logs, I can guide you through the process.

    tabcmd export "WorkbookName/SheetName" --csv -f "output.csv"

    Thanks

    Deepak

    If it Helps, Please mark it Best and upvote to help others

0/9000

Hi Tableau Community, 

I am currently working on an exercise at work and need to generate a report of all workbooks published on our Tableau Server (300+ workbooks). 

Specifically, I am trying to extract the following information: 

 

Workbook Name 

Project / Location 

Owner 

Last Viewed Date/Time for each workbook 

 

At the moment: 

 

I can manually see who last viewed a workbook by clicking into individual workbook options. 

However, this is a manual and time‑consuming process, especially given the volume of workbooks. 

 

My challenge is: 

I have not been able to find a way to extract the "last viewed date/time" in bulk, mapped directly to each workbook. 

 

PS: I do not need the Modified Date/Time but rather the most recent "Who has seen this view?" Date/time. 

 

#Tableau Server

1 answer
  1. May 14, 10:17 PM

    Hi @Adams Ali

     

    Tableau Server stores master data, meta data and events within its own internal Postgres Repository. 

    Access this database is allowed if enabled. So you can mimic the admin views or create your own custom views. Here is the help page.  

    https://help.tableau.com/current/server/en-us/perf_collect_server_repo.htm

     

    For example you can look at table public.historical_events to the most recent activity using a type of your choosing. You can also join with workbooks, views, projects tables etc... 

    it is a pretty common topic so you will find also lot of additional information online. 

    Have a look. 

     

     

0/9000