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":
Before taking a look at how to fix this common and frustrating issue, let’s take a closer look at tableau’s action filters and what they are.
What are Action Filters
Tableau Dashboard action filters are a relatively easy way to send information from one worksheet to another or one dashboard to another dashboard. In general, a action filter sends information from a selected mark to another sheet with related information, hence source sheets and target sheets.
Overall, action filters are a solid way of creating advanced interactive dashboard features and improve user experience. For additional information on how to build an action filter from scratch, view this documentation: https://help.tableau.com/current/pro/desktop/en-us/actions_filter.htm
Types of Action Filters
Tableau continues to roll out new ways of leveraging action filters. Currently (Tableau 2020.2), there are a variety of action filter types:
- Filter actions: leverage worksheet marks to pass data from one worksheet to another. This method is similar to a quick-filter but can be more targeted and enabled through users interacting with a worksheet.
- Highlight actions: leverage on data point on one sheet to highlight other data points on different sheets. Learn how to build advanced highlighting actions.
- Go to URL actions: leverage a data point on a sheet to open a web page or URL with the ability to customize the URL with marks, values, parameters, or data points. Learn how to build Go to URL actions from scratch.
- Go to Sheet actions: navigate from one dashboard to another by selecting a mark on a sheet (See example below). Get started with a Go to Sheet action.
- Change Parameter actions: Change the value of a parameter by selecting a target field on a sheet. Instead of changing a parameter with a filter style UI, users can simply select target fields to pass to the parameter. Parameter actions can be used with reference lines, calculations, filters, and SQL queries, and to customize how you display data in your visualizations. Create a Change Parameter action from scratch.
- Change Set Value actions: Dynamically add or remove members from a set by selecting marks on a sheet. Create a Change Set Value action from scratch.
In the examples below, we explore common problems users have experienced with various types of actions and how to solve those problems.
Tableau Dashboard Action Problems
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!
Add a Filter to Tableau Dashboard: 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.
Adding a Filter to Tableau Dashboard 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!
Add a Filter to Tableau Dashboard: 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 adding a filter to a dashboard
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!