Filter Actions are a super useful Tableau feature. You can click on an element (like a bar or a dot), and Tableau filters specific parts of your dashboards.
But they are sometimes buggy. In particular, when used across different dashboards or worksheets.
Even though they might work well on Desktop, their functionality breaks when the workbook is uploaded to Tableau Server or Online.
Apparently, there are lots of people struggling with it. Quite a few forum questions are popping up when we search Google for "tableau action filter not working on server":
The Problems in Action
Example 1: Navigational Filter Actions
As Tableau evolves, we have more and more flexibility. And we want to use that to offer a better user experience.
The dashboard buttons and go-to-sheet actions (available since version 2018.3) take care of a lot of our navigational needs.
But sometimes we need more than that. We want to click on a button and move to a dashboard that gets filtered by our selection.
And if we end up using more than one filter action on the same dashboard this is what could happen on the server:
Yes, it opens up the new dashboard in a new browser tab/window event though it’s in the same workbook.
Imagine if this dashboard was embedded: it would have taken our users right out of their portal.
Note that this occurred for me when more than one filter action was present at the same time.
Example 2: Drill-down to an independent view
The filter actions are working correctly on Desktop, but on the server, they don’t show up at all.
This one happened to me when the worksheet I was clicking on was hidden.
Yet another "pleasant" surprise!
Drop us a comment if you find more bugs like these! It would be interesting to see what other problems you are running into.
Now let’s see how we can deal with some of these issues!
The Popular Solution
There’s a simple trick that fixes all problems in most cases. And that is to "Show Sheets as Tabs" when publishing.
But you might not always want to do that!
Possible reasons could include:
- sometimes you don’t want the user to have access to all the tabs
- if you are using dashboards with different dimensions, they get moved around
- you want to set up your navigation path for the user
- you simply don’t like the look and feel of it
Have a look at this screenshot to see how it might look on the server with the tabs activated:
For those of you in this position, I have a workaround which I hope you’ll enjoy.
If you are sharing content through Tableau Server or Online, you’re somewhat stuck with the default navigation. But if you are embedding the content within a portal or a web application, there’s a simple trick to hide it.
The Elegant Way: Embedded Analytics
Portals: more than Tableau
Before we dig into the actual problem, let’s take a second and talk about web portals.
They are a method of sharing content that is growing in popularity within the Tableau ecosystem.
Here’s a glance at a demo Zuar rapid portal:
Why is this so important for some people?
Here are a bunch of reasons:
- you get your look and feel, not Tableau’s (you can even hide the fact that you’re using Tableau from your users)
- placing the dashboards within the bigger picture and adding more content around the visuals (as much as I love data visualization, there is always value in having additional context)
- security: the portal acts as a web application firewall (WAF) in front of your Tableau Server
- single sign-on (SSO): your users don’t have to log in to Tableau Server/Online once they are securely authenticated in your portal
To see how easy it can be, here’s a blog post from Justin showing not one, not two, but three quick ways to embed a Tableau dashboard into a webpage.
Not let’s get back to our headache!
The easy fix
We still need to upload the workbook with the "Show sheets as tabs" option checked. We just need to set a parameter that hides the tabs, and the world order will be restored.
The parameter is called tabs, and we have to set it to no.
Let’s have a look at how we can do this for each of the three embedding methods!
1. Embed code
If you are using the embed code add the following tag inside the embedded object’s code
<param name='tabs' value='no' />
Here’s how it should look:
2. Link in iframe
If iframe is your cup of tea, add
&:tabs=no at the end of the URL like in the screenshot below:
For those who need the full power of the JS API, you can set
hideTabs as "true" within the
Here’s a screenshot of how that should be set up:
And that's all there is to it.
The wrong way to go about it
You might be tempted to try and set a parameter like
linktarget=_self to force Tableau to open everything in the same window.
This is a mistake!
You will most likely run into an error like
Refused to display 'URL' in a frame because it set 'X-Frame-Options' to 'sameorigin' as you can see below:
So try to avoid that!
Remember that you still need to publish the workbook with the option "Show sheets as tabs" checked.
The users won’t see any difference on the front end of the web application. The will only get a splendid experience!
Hiding the tabs can lead to all kinds of weird behavior. Even if Tableau fixes every single bug, we don’t have the time to wait around for that. We need to make things happen today!
So let’s do it!