Skip to main content

#Tableau Cloud65 discussing

I have a use case where I need to calculate Market Share % without relying on a Context Filter + Dimension Filter approach.

For example, Sub-Category Market Share should be calculated as:

Sales for the selected Sub-Category ÷ Total Market Sales (across all Sub-Categories), while still respecting the other filters applied by the user.

The conventional approach is to keep Sub-Category as a Dimension Filter and make all other relevant filters Context Filters. The Total Market can then be calculated using:

{ SUM([Sales]) }

While this approach works, it does not meet our business requirement. We have additional filters that need to be applied after the Sub-Category selection. Due to Tableau's order of operations, a Dimension Filter on Sub-Category does not make these downstream Context Filters dynamically relevant based on the selected hierarchy.

We therefore explored the usual explicit LOD approach, where the denominator for Total Market is defined using a FIXED LOD, for example:

{ FIXED [Dim 1], [Dim 2], ... : SUM([Sales]) }

However, we are facing an issue with this approach: as soon as a Sub-Category is selected, the Total Market value unexpectedly decreases, instead of remaining at the total market level across all Sub-Categories.

There is more detail on the specific scenario and expected behavior in the sheet caption within the attached workbook

Kindly help me in getting the LOD method working... 

#Tableau Cloud #Tableau Desktop & Web Authoring

 

#Tableau Community Updates

5 answers
  1. Today, 7:56 AM

    Opened your workbook, Avishek - and it isn't the context, it's the AGGREGATION on the denominator. Solid setup otherwise. 

     

    Your _SubCatMktShr%WithContext is SUM([Sales]) / SUM([_SubCatTotalWithContext]), and _SubCatTotalWithContext is { FIXED : SUM([Sales]) } - the grand total. A FIXED like that puts the SAME grand-total value on every row. When you wrap it in SUM(), Tableau adds that constant up once per underlying row, so the denominator becomes grand-total x row-count (huge), the share collapses to a tiny number, AND it shifts every time you change the Sub-Category selection - because deselecting sub-cats removes rows, which changes the multiplier. That is the 'it moves / doesn't work' behaviour you're seeing. 

     

    The fix is basically one word - aggregate that FIXED denominator with MIN (or AVG / ATTR), never SUM: 

     

    _SubCatMktShr%WithContext = SUM([Sales]) / MIN([_SubCatTotalWithContext]) 

     

    MIN of a constant just returns the constant, so the denominator stays the fixed, context-scoped market total, your multi-select Sub-Category filter only trims the numerator, and your context filters keep cascading. That is exactly the multi-select market share you're after. 

     

    Two more notes: you can retire the nested _SubCatTotal (the EXCLUDE { FIXED ... }) - it hits the same SUM-of-a-FIXED trap plus more complexity than you need; the MIN version above is enough. And if you want the share PER sub-category instead of combined, drop Sub-Category on Rows - the same calc holds. 

     

    Give that MIN swap a shot. If it finally behaves, a Best Answer mark would be great - and shout if the numbers still look off after it. 🙂

0/9000

I have 3 custom SQL's , they are all same queries but due to some filter conditions , i need to separate them into 3 custom SQL's rather than a single Custom SQL,. Is it possible to Union these 3 custom SQLs in tableau  Desktop?  They are from  the same database connection. Thanks

5 answers
  1. Aug 12, 4:23 AM

    You can do the Union in your first Custom SQL script itself as shown below 

    SELECT A,B,C 

    FROM XYZ 

    WHERE Condition1  

    UNION ALL 

    SELECT A,B,C 

    FROM XYZ 

    WHERE Condition2 

    UNION ALL 

    SELECT A,B,C 

    FROM XYZ 

    WHERE Condition3  

     

0/9000

Hi all, hoping someone who's been through this can sanity-check our approach before we provision more infrastructure. 

What we're trying to do 

We have 10+ existing production dashboards on Tableau Cloud that currently point at a publicly-accessible Redshift cluster. We're migrating them to a new Redshift cluster that sits inside a private AWS VPC. The dashboards have to stay exactly as they are - same layout, calcs, filters. Rebuilding from scratch isn't an option at the moment. 

What's working 

Bridge is set up and healthy: 

  • Dedicated pool created (not the default pool), status Ready
  • Bridge client installed on an EC2 inside the VPC, connected, assigned to the pool
  • Redshift host in the Private Network Allowlist, mapped to that pool
  • Security group on the cluster allows 5439 from the Bridge instance
  • Credentials verified — can browse schemas and tables through the connection

 

Changing the connection and creating an extract from within the Tableau Cloud workbook editor works fine, and the job details confirm it routed through Bridge. 

  

What's failing

 

  

Every scheduled or manual extract refresh fails with: 

 

This server violates the ip allowlist/blocklist restrictions

Unable to connect to the Amazon Redshift server "<our-cluster>.<our-region>.redshift.amazonaws.com"

 

We tried deleting and recreating the schedule, reassigning the Bridge client to the pool, and reverifying the allowlist mapping. Same result every time. 

  

What we think is going on

 

 

From the Limitations section of the embedded data sources doc (

help.tableau.com/current/online/en-us/to_bridge_eds.htm

), workbooks published via the REST API or uploaded through the Tableau Cloud web interface don't support Bridge refreshes when data sources are embedded. Ours was published using "Publish As" from web authoring, so we think that's the cause. The documented workarounds are to publish from Tableau Desktop, or publish the data source separately and connect the workbook to it. 

 

Where we've got stuck

 

  

We hit three walls trying to follow those workarounds: 

 

  1. Repointing an existing workbook to a published data source is a Replace Data Source operation, and per the docs that's Tableau Desktop only, not available in Tableau Cloud.
  2. We can't publish one of our two data sources separately (for one of our workbooks but there are some other as well in similar structure) anyway, Desktop greys it out with "Data sources with calculations that reference other data sources must be embedded."
  3. We installed Tableau Desktop and the Amazon Redshift ODBC 2.x driver locally and tried connecting directly. It times out. An nslookup shows the hostname resolves to a private IP via a VPC endpoint, so the cluster genuinely isn't reachable from outside the VPC. No firewall or SG change fixes that, if I am not wrong.

 

Our workbook is also 63 MB, over the 50 MB web upload limit, so uploading through the web UI isn't an option regardless. 

  

Questions

 

 

  1. Has anyone confirmed that publishing a workbook from Tableau Desktop actually resolves the embedded-data-source Bridge refresh issue when the source is in a private VPC specifically? The docs say it should, but we haven't validated it end-to-end yet and don't want to build infrastructure on an assumption.
  2. Is running Tableau Desktop on a VM inside the VPC the normal approach for this, or is there a cleaner pattern we're missing? 
  3. Is there any supported way to repoint an existing workbook from an embedded data source to a published data source without Desktop? 
  4. More generally, if you've migrated a set of existing workbooks to a private VPC data source, what did your process actually look like? Trying to settle on the right pattern before repeating it 10+ times.

 

Happy to share more detail if useful. Thanks in advance. 

 

#Tableau Cloud

3 answers
  1. Aug 18, 3:31 PM

    @Suryavamshi Sirigadhi

     

    Well it seems your workbook was published using REST API or the upload function. Then, I suggest you to: 

     

    a. Change the server name in the workbook connections in Tableau Cloud. 

    b. Download Tableau Desktop (it could be in  your machine) 

    b. Open Tableau Desktop and Sign in into Tableau Cloud (Server Menu -> Sign in) 

    c. Then Open the workbook (server menu -> Open Workbook) 

    d. Save the workbook 

    e. Publish with a different name, don't embed credentials 

    f. In Tableau Cloud, go to the workbook, and then to the datasources tab, edit the connection and add the credentials. 

    g. Try refreshing the workbook datasources in Tableau Cloud. 

     

    Note that the steps involving Tableau Desktop did not need any refresh step, just download, save, and publish without embedding credentials. 

     

    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

I have a use case on priority where I am facing issue while downloading an excel file from Tableau Cloud. I am creating some manual sheets and attaching them in the dashboard as a header. Below a particular header, I have 3 sub-headers. When I download the excel, the manually added sheets are not appearing properly as shown in my dashboard because it is added manually so it is not coming in excel, but I tried by adding the created fields in the sheet I am downloading but still it is not coming in a way I want.  Suggest me some possible ways to achieve it.    Regards,  Abhishek Tiwari   

4 answers
  1. Aug 13, 12:07 AM

     The crosstab export only pulls data from a single worksheet's grid — those text sheets you added as visual headers have no data behind them, so they don't make it into the export. 

     

    What works is putting the header text into the actual data sheet as a calculated field. Something like: 

     

    'Main Header Name' 

     

    Drop it on Rows above your dimensions, same for the sub-headers. Then they're part of the data structure and will export. 

     

    If you need merged cells or visual formatting though, the export won't preserve that — you'd have to format in Excel after. 

0/9000
2 answers
  1. Jun 27, 2022, 11:07 PM

    You have to contact Tableau to do this. They can do it, I've moved a client from 10ay to Australia pod previously. We can't help you here though, you have to talk to your account rep.

0/9000

We’re evaluating an architecture for embedding Tableau Cloud views in Salesforce Experience Cloud, where portal users need to access Tableau content without having individual Tableau site accounts. 

 

Our preferred approach is to use the Tableau View LWC with token-based SSO. However, the Tableau documentation we’ve found appears to document On-Demand Access (ODA) primarily for the Embedding API/JWT approach, and it’s unclear whether ODA is also supported when using the Tableau View LWC.

 

Can anyone from Tableau confirm:

  • Does Tableau View LWC support On-Demand Access when using token SSO?
  • If so, what is the supported configuration or required setup?
  • If not, what is the recommended/supported approach for embedding Tableau Cloud in Salesforce Experience Cloud for users who should not require Tableau site accounts?

#Tableau Cloud

1 answer
  1. Aug 10, 7:05 PM

    @Nicole Chang

     

    From what I see the LWC component does not have a checkbox to enable the oda (on demand access) access or to pass the oda groups claim.  These JWT claims are needed so you can give access to the ODA access:

    From what I see the LWC component does not have a checkbox to enable the oda (on demand access) access or to pass the oda groups claim.As I said, I don't see a switch or options for these claims in the LWC:image.pngWhat would I do next?

     

    You may confirm with Salesforce support creating a case: 

    https://help.salesforce.com/s/cases

     

     

    Final remarks:

     

    Take into account ODA (On demand access) is only available for Tableau Cloud tenants with Usage Based Licensing or the newly introduced Capacity Based Licensing 

    https://help.tableau.com/current/online/en-us/license_product_keys.htm#usagebased-license-model

     

    https://help.tableau.com/current/online/en-us/license_product_keys.htm#capacitybased-license-model

     

     

    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

I am reaching out to inquire about the possibility of connecting to Tableau Cloud using a REST API. Specifically, I am interested in understanding if there is a REST API available for Tableau Cloud, and if so, whether you could provide any well-known libraries or documentation that support this integration.

I have been unable to find comprehensive documentation on this topic and would greatly appreciate any guidance or resources you can provide.

2 answers
  1. Aug 10, 6:00 PM

    I can confirm Tableau Cloud has a REST API 

    The official docs cover everything you need to get started 

    Use the link provided

0/9000

Hey 🛑 Tableau #datafam#datafam and Salesforce  #Tableau_next#Tableau_next

 users -  

 Want to level-up your mapping game or not certain which chat type to use with your data? Help is on the way at our September 2nd virtual meeting - you just need to save a spot at 

https://lnkd.in/gkb5kNXS

 and we'll see you there -- 

All are welcome 

#Tableau Cloud #Tableau Server #Tableau Public 

 

Hey 🛑 Tableau and Salesforce users - Want to level-up your mapping game or not certain which chat type to use with your data?

0/9000
3 answers
0/9000

Hello - I am not able to extract refreshes as the Jobs are failing immediately, One program completed success without any errors and rest of the programs are NOT.  It is connecting to the Tableau Bridge but it is failing.  We are live on Tableau Cloud today and none of the data sources are refreshing with the exception of one data source.  All these data sources are connected to Oracle Database.   

 

#Tableau Cloud

3 answers
  1. Aug 9, 1:14 PM

     @Rajashekar Atmakuri

     

       

    As Mr.Diego mentioned, it would be helpful if you could share the exact error message first, but here are a few possible reasons why this might be happening:  

     

    1. The owner of the failed workbooks was changed

     

       

    As explained in the documentation below, when you change the owner of a workbook on Tableau Cloud, the embedded credentials used to connect to the data source are cleared/lost. This could be causing the data source connection to fail.   

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

     

    If this is the case, you should be able to resolve the issue by editing the data source connection and re-embedding the credentials (the Oracle ID and password).  

     

    2. Multiple Oracle environments/networks are being used

     

       

    While this might be less likely, if you are using two or more Oracle databases located on different networks, you will need to set up a dedicated Tableau Bridge server for each network/pool.  

    https://help.tableau.com/current/online/en-us/to_enable_bridge_live_connections.htm 

0/9000