Skip to main content

#Tableau Cloud106 discussing

Hi, 

 

I have a graph which shows an evolution of 2 measures based on month of date. In that same visual I also want to show a reference band with a max and min value  per month. The values are always the same: f.e. the first shown month is always 50, 2nd is 30,... 

For those values I've worked with an index: if index=1 then 50,... 

 

Per index I have a max and a min value, so 2 different calculations. Now I want to add those to my graph using a reference band, but Tableau is showing this as a constant and not a max or min per cell.  

I believe that the problem lays with the use of the index, but I don't see any other solution. 

 

 

#Tableau Cloud  #Tableau Desktop & Web Authoring

9 answers
  1. Apr 16, 12:30 PM

    Hi,  @Tessa Vandendriessche 

    I'm not sure if this is what you're looking for, but please take a look if you'd like. 

    Here’s a workaround idea for filling the area between the Max and Min values. 

    By using an area chart with some white coloring, you can achieve the effect shown in the example. 

    (Since transparency doesn’t work well in this case, it needs to be expressed using solid colors.) 

     

    <sample>Hi, @Tessa Vandendriessche I'm not sure if this is what you're looking for, but please take a look if you'd like. Here’s a workaround idea for filling the area between the Max and Min values.

0/9000

I have a connected app with embedded dashboards in a web app with an embedded connection. Users can sign in to the web app to see the embedded dashboards. This works perfectly on desktops -- but on mobile devices (both Chrome and Safari) the dashboards are replaced with a Tableau login screen, and the dashboard embed requests throw a 401 (Not Authorized). This doesn't make sense to me -- has anyone else had this problem?

3 answers
0/9000

When I duplicate a sheet and make changes to the new sheet, it changes the information/data that I have in the original tab. Is there a way to avoid this?   

3 answers
  1. Apr 13, 9:51 PM

    Greetings, @Breyah Atkinson

     

    Yes - duplicate the sheet, then check whether you are editing a shared calc, parameter, set, or data source. A duplicated sheet keeps the same underlying workbook objects, so changing something like a calculated field or parameter will update everywhere those objects are used. Right-click your data source in the Data pane and select "Duplicate" to create a separate copy for the new sheet, or create new calculated fields with different names instead of editing existing ones. 

     

    Kind regards

0/9000

Hello, 

 

I hope you're all good. 

For my organisation, i need to migrate a site Tableau Cloud to a new Tableau Cloud site. 

Is this possible ?  

If this is possible how did you do that ?  

 

Can someone help me ? 

 

Thank you, 

Bruno 

 

#Tableau Cloud

2 answers
  1. Apr 13, 2:49 PM

    @Bruno Astudillo Rojas

     

    Hi, you may try with: 

    https://www.tableau.com/cloud-migration-app

     

     

    I know the app is intended to be used from Server to Cloud. If I remember, once I did a test to migrate from Tableau Cloud site to Tableau Cloud site, and it worked. 

     

    Note, that it won't migrate flows or Virtual Connections. 

     

    Finally, this tool uses in the background the migration sdk: 

    https://help.tableau.com/current/api/migration_sdk/en-us/index.html

     

     

    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

Hello everyone,

I hope you're all doing well. 

 In my organization, the database we use is Snowflake. 

 I’m having some difficulties writing to and reading from the database. 

 I always have to reconnect, even though the connection is supposed to remain active once it has been established — otherwise the data doesn’t refresh!

 

If you'd like, I can also help you troubleshoot the Snowflake connection issue. 

 

Thank you, 

Bruno 

 

#Tableau Cloud

2 answers
  1. Apr 13, 8:16 AM

    Hi, 

     

    Thank you for your return. 

     

    I've already set up OAuth with credentials when connecting and i always have to reconnect every week. I see with my IT service to up the duration of the tokkens(90 days tokkens). So i don't understand why that don't stay connected. 

     

    Thank you, 

    Bruno

0/9000

Background

We are building an embedded analytics application that embeds Tableau Cloud dashboards. We chose the Connected Apps with OAuth 2.0 Trust (External Authorization Server)

 approach specifically because it provides an IdP-verified identity guarantee — meaning the sub claim in the JWT is vouched for by the IdP (Microsoft Entra ID), not by our application backend. This is a hard security requirement for us. 

 

Our Setup

  • Tableau Cloud site (10ax.online.tableau.com)
  • Microsoft Entra ID (Azure AD) as the Identity Provider
  • App Registration configured in Entra with: 
    • views.embed scope defined under "Expose an API"
    • App ID URI: api://tableau.<site_luid>
    • upn optional claim added to Access Token
    • Issuer URL registered in Tableau Connected App: https://login.microsoftonline.com/<tenant_id>/v2.0
    • Trust Type: OAuth 2.0
    • Status: Enabled

 

The Flow We Are Attempting

  1. User authenticates with Entra via Authorization Code flow
  2. Entra issues a signed Access Token
  3. That token is passed directly into <tableau-viz token=""> (Embedding API v3)
  4. Tableau validates the token against the registered EAS (Entra) using its JWKS URI

 

The Problem

Tableau's documentation states that the aud (Audience) claim in the JWT must be:

tableau:<site_luid>

 

However, Microsoft Entra ID's v2.0 token endpoint 

always sets aud to the application's Client ID:

some-random-client-id-here

 

This is fixed, standard OAuth 2.0 behavior for Entra v2.0 tokens. It cannot be changed through optional claims, token configuration, or any standard Entra portal setting.

The result is error 10084 (JWT_PARSE_ERROR)

 on every authentication attempt. 

 

What We Investigated

1. Entra audienceOverride via Claims Mapping Policy

Entra does have an audienceOverride property in Claims Mapping Policies that can override the aud claim. However, this only works when a custom signing key is configured on the service principal. When a custom signing key is used, Entra no longer signs the token with its standard tenant private key — meaning Tableau's JWKS verification against Entra's standard JWKS URI (/discovery/v2.0/keys) will fail, because the kid in the token won't match any key at that endpoint.

 

2. Direct Trust as an alternative

Direct Trust was evaluated but rejected on security grounds. With Direct Trust, our application backend sets the sub claim directly using a Tableau-issued shared secret. There is no IdP-verified identity — our backend decides who the user is. This is an unacceptable security risk for our use case, as it opens the door to accidental or malicious user impersonation.

 

3. Token exchange middleware

A backend that verifies the Entra token and re-mints a Tableau-compatible JWT was considered. While this preserves the identity trust chain (the sub is always derived from Entra's verified upn claim), it reintroduces Direct Trust mechanics at the infrastructure level and adds architectural complexity that the OAuth 2.0 Trust flow was supposed to eliminate. 

 

Expected Behavior

Tableau's OAuth 2.0 Trust should either:

  1. Accept the Client ID as a valid aud value when the registered EAS is Entra, since Entra's v2.0 tokens always set aud to the Client ID by design — OR
  2. Allow a custom JWKS URI to be registered in the Connected App (separate from the issuer's auto-discovered JWKS), so that audienceOverride + custom signing key becomes a viable path

Either of these would make Tableau's OAuth 2.0 Trust genuinely compatible with Microsoft Entra ID's standard token behavior. 

 

Questions for the Community

  1. Has anyone successfully completed a Tableau Cloud + Tableau Connected Apps with Microsoft Entra OAuth 2.0 Trust integration? If so, how did you handle the aud claim?
  2. Is there an Entra configuration we have missed that satisfies both the aud requirement and keeps the standard JWKS intact?
  3. Is there an open Tableau Idea or known product gap tracking this incompatibility?

 

Environment

  • Tableau Cloud (10ax — US West)
  • Microsoft Entra ID (Azure AD), v2.0 token endpoint
  • Tableau Embedding API v3
  • Connected Apps: OAuth 2.0 Trust (EAS)

 

 

 

#Tableau Cloud

1 answer
  1. Apr 12, 2:08 PM

    Hi @Rushi Vaghasiya

     

    You’re not missing anything - this is a known limitation/product gap.

    Tableau OAuth 2.0 Trust requires aud = tableau:<site_luid>, but Entra ID v2.0 tokens always use client ID as aud, and it can’t be changed without breaking JWKS validation.

    So Entra + OAuth 2.0 Trust isn’t fully compatible out-of-the-box. 

     

    Workarounds:

    •  Token exchange (most common) 
    •  Or Direct Trust (less secure)

     

    If you find this helpful feel free to mark it as Best Answer !!!! 😊 

    Thanks and Regards.

0/9000

hi folks,  i have one issue with tableau. I have view like customer-> category-> product name-> sales.   I want to concate 2 columns - Category and product name into single row for each customer. and still user can filter for category, product name and customer and corresponding sales should change as per filter. I am able to concate category and its working fine. But I am not able to get single row for product. It is showing product name as per category.  Could someone check this and let me know how to fix at tableau level.  Thanks,  BS   

2 answers
  1. Apr 2, 7:48 PM

    Hi @basic seeker

     

     

    Here is a solution: 

    1. Calculation for Product concatenation (that's the easy one) - "Product Concat":

    PREVIOUS_VALUE(ATTR([Product Name])) + ", " + ATTR([Product Name])

    2. Helper calculation for Category - "Prev Category":

    LOOKUP(ATTR([Category]), -1)

    3. Calculation for Category concatenation - "Category Concat":

    PREVIOUS_VALUE("") +

    IF [Prev Category] = ATTR([Category]) THEN ""

    ELSE ", " + ATTR([Category])

    END

    Now when I use the calculations I onen "Edit Table Calculation" on each and define the settings: 

    Hi Here is a solution: 1. Calculation for Product concatenation (that's the easy one) -

    But note that the Concat Category field is a nested table calculation and you have two settings - both the same as above, but for both Prev Category and Concat Category: 

    image.png

    The last step (I think you already know this) is to add a LAST() = 0 filter, in order to display just the last row for each customer. 

    The workbook is attached. 

     

    Dan Chissick

    Senior BI Consultant | Tableau Ambassador

0/9000

The BUFFER function is an important element of a dashboard I've created, allowing the user to see accounts within a certain radius of a single location. However, since our Tableau Cloud site updated recently (prod-useast-a), the BUFFER function is causing errors.  

 

I've tested this both in Tableau Desktop 2025.2.3 and in Tableau Cloud. 

 

Apparently, BUFFER works when a data source is live or produced by a Prep flow.

BUFFER Function No Longer Working in Tableau Cloud with Extract DS

 

 

 

But BUFFER throws an error when the data source being used is an extract.

BUFFER with Extract.png

 

Unfortunately, when I tried to convert the data source I'm using in my main radius report from an extract to live, I continued to get this error. 

 

Again, this just started with the recent Tableau Cloud update, but I had been experiencing the same issue in Tableau Desktop 2025.2.3. 

 

Does anyone know why this is happening? I've opened a case with Tableau, but I'm still waiting for a substantial response. 

 

#Tableau Cloud

5 answers
  1. Dec 3, 2025, 10:31 PM

    @Nate Laning

     

    Hi, devs are informed about the issue and they are actively working in the solution. However, I don't have any more information about solution timing.  

     

    It looks like it may be related to an old issue that happenned also in Tableau Desktop 2024.2: 

    https://help.salesforce.com/s/issue?id=a028c00000zL8DPAA0

     

     

    If I get any additional information, I will let you know. 

     

    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 Forums Ambassador

0/9000

Setup 

Iceberg tables on S3, queried via StarRocks (views with joins/aggregations) 

Catalog: Polaris 

Tableau Cloud with Tableau Bridge for extracts 

 

Questions 

1. Connector Recommendation

 

For extracting from StarRocks views, which is preferred: 

MySQL connector, or 

StarRocks connector? 

Are there known limitations for large extracts (e.g., timeouts, fetch size, data type mapping, SQL pushdown)? 

 

2. Extract Reliability (Bridge)

 

Best practices to ensure stable large extract refreshes, specifically around: 

Long-running query timeouts 

Bridge memory usage 

StarRocks concurrency limits 

Iceberg metadata latency 

 

#Tableau Cloud

3 answers
  1. Apr 4, 10:34 AM

    Hi @Praveenkumar Vedamuthu

     

    Connector Recommendation

    • Use the StarRocks connector if available. It's better optimized for StarRocks, so you'll get proper SQL pushdown and more reliable performance.
    • The MySQL connector can work, but may struggle with complex views, large extracts, and data type handling.

    Extract Reliability (Bridge)

    To avoid slow or failed refreshes:

    • Run ANALYZE / keep stats updated for better query planning.
    • Prefer incremental extracts over full refresh.
    • Increase query/connection timeouts.
    • Ensure Bridge machine has sufficient memory & CPU.
    • Limit concurrent queries in StarRocks.
    • Optimize Iceberg tables (compact files, reduce metadata load).
    • Simplify heavy views (joins/aggregations).

    The issue is usually not the connector alone, but how large queries are executed - use the StarRocks connector and optimize queries, resources, and extract strategy for stable performance. 

     

    Hope you find this helpful !!!! 😊 

     

    Thanks and Regards, 

    Pooja Bhattacharya

0/9000

Hi. 

I have a data source which has been fine until today. 

It is connected to Salesforce then also has a sheet linked from OneDrive for permissions. 

Each time I go to edit the data source the following shows:

Forbidden ActionI cannot access the dashboards linked to this data source either:image.png

Does anyone possibly know why this is happening as means there are numerous dashboards which fail to load now. 

Thanks.  

 

 

#Tableau Desktop & Web Authoring  #Tableau Cloud

4 answers
  1. Apr 10, 1:41 PM

    @Nathan Ferris

     

     

    The error is most likely because of a column or a table called 'Ball_Reward__c'. 

     

    Either that column/table has been renamed or the permission to access it is being revoked . 

     

    Fixes: 

    -If Permissions are revoked, get the permission to access that table/column from salesForce admin. This would solve the error most likely 

    -After permission is granted and the name of the column/table is changed to something else in the salesforce dataset. Then you need to change the calculated fields and wherever we used the old field to the new field  

    The error is most likely because of a column or a table called 'Ball_Reward__c'. Either that column/table has been renamed or the permission to access it is being revoked .

     

    If this comment resolves your error then please mark it as helpful 

     

0/9000