I came across a dashboard at the client site with a pretty nifty trick. Big thank you to Charlotte Horgan for this innovation đ
Ever found it annoying when you have multiple filters active on many sheets in a dashboard?
You would make your selections in 1 filter… then wait for the dashboard to update, then the next filter would have to update.. and the whole process just takes a little too long especially if you have many marks on your vizzes.
Is there a solution? Yes – with action filters!
Step 1: Establish your Level of Detail to filter your vizzesÂ
Create a new sheet with all the filters you want applied to your dashboard to your sheet as well as having them on detail.
Notice that Tableau has started to draw many circles? There’s exactly 11 marks to reflect the unique combinations of Regions, Subcategory and Segment in the viz.
Step 2: Create the following IF statement
iif(first()=0,”Update Dashboard”,null)
Step 3: Place this calculation on rows and set ‘compute using’ to cell
As I mentioned, each mark represents each unique value of the dimensions in the view. Therefore to create a “one button” experience, we’ll have to figure out how to select all the marks at 1 time.
In this case, I’ve set the table calculation’s partition to “reset” to every new value in the view. This way, the calculation will always return a value of TRUE (which is this case is “Update Dashboard”). So I will always select all the marks at 1 time. We see this is working because we’re only returning 1 header in the view.
Step 4: Start building your viz and set up action filters
Here’s the layout of my dashboard. The filters are from the “Update Dashboard” sheet with no filters on the other visualizations. Make sure the filters are only applying to the “Update Dashboard” sheet.
In mine, I have 2 action filters but only the first one is necessary to make this work.
Step 5: Enjoy and test your viz!
Here’s my example workbook:
[iframely]https://public.tableau.com/views/HowtoUpdateMultipleFilterswith1Click/HowToUpdateMultipleFilterswith1Click?:embed=y&:display_count=yes[/iframely]