EDIT: This post is less relevant than in Jun 2011, when it was first written. Tableau filters now offer much more flexibility. In 2011 this wasn’t the case, it was complicated!

 

Often in tableau you’ll find you need a filter that’s neither local of global, you will want a dashboard level filter. Local filters are often too restrictive on a dashboard as they only alter 1 worksheet. To have 2 identical local filters on a dashboard also isn’t a valid option.

To overcome that problem filters can also be global. This also comes with problems; every worksheet using that data source then has to use that filter. Perhaps it’s not always appropriate to filter every dashboard using that data source.

Duplicating data sources is a workaround – however that could significantly bloat your workbook.

Currently there isn’t a dashboard level filter – i.e. a filter that’s local to everything on the dashboard only without affecting any other dashboards created from the same data source.

In some circumstances in Tableau 6 it’s possible to create a dashboard level filter using parameters as a substitute filter. Note using a parameter removes some of the built-in filter functionality. The parameter is only a valid substitute when selecting a single value. Parameters don’t support multi-select.

To create the dashboard level filter first of all create a parameter based on a field. For this example I want to be able to filter for a specific month. I’m going to create a parameter with Data Type ‘Date and time’ and format the month with a Custom format of ‘mmmm’. This gives a display of January, February, etc. The parameter will be a List based on a Field called StartOfMonth.

Next create a calculated field to act as out filter. This is setting the month of the value selected in the parameter to be the same as the month in your dataset.

You need to drag this calculated field, MonthFilter, into the Filters area on the worksheet and set the value to True.

To use the parameter to filter all worksheets on your dashboard simply drag this MonthFilter field into the Filters section of all worksheets on the dashboard and set the value to True. Now create your dashboard. When you change the value in the parameter it will change all of the worksheets. In other words it’s a dashboard level filter.

NOTE: When published on to the server this didn’t work properly, perhaps due to a Tableau server bug, but I’m really not sure. Anyway, the work around is here.