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":

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.

Bummer!

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!

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)
  • we can extend Tableau’s capabilities, using the Javascript API
  • 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:

3. Javascript API

For those who need the full power of the JS API, you can set hideTabs as "true" within the options object.

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!

Conclusion

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!

Worried that a portal is too challenging or time-consuming to set up? ZUAR can spin one up for you within a day!
Please reach out if you need help!