Visual button to apply filter to sheet

I have been researching dashboards relating to our business needs to write up and create a mock design, which we will implement in QuickSight. Many of these dashboard designs i looked at included buttons which would filter the page onto that group/data.

For example - This sheet is filtered to ‘Sales’ so all the visuals and data shown (excluding metrics) is relating to sales

And then i can press on ‘Profit’ which is a button, which then changes all the data and labels etc. to profit

Is it possible to implement this button feature, or do i need to look into conditionally formatting all visuals to hide/show, so when an employee goes onto the dashboard and selects an area to look at, it hides what is shown, and unhides what they selected.
Source - https://public.tableau.com/app/profile/p.padham/viz/SuperstoreDashboard_16709573699130/SuperstoreDashboard

Hope this makes sense

2 Likes

Hello @HarveyB-B, so there would be 2 distinct options I can think of to make this work.

First, to create a visual that looks and functions like a button, I’ll normally use a table visual that contains a simple calculated field. For Sales, you can create a calculated field that just contains “Sales”. Use that in your table, hide the title, header, and just display a single formatted cell. Now you have something that can use Navigation actions which can set a parameter value. Navigations can be set to take you to the same sheet, but they also let you set a parameter value. The calculated field you created should have a string that matches the string you would want to set the parameter to.

Create a single value string parameter, give it the default value that you want to display between Sales, Profit, and Orders. Now, to display this, you can either use the parameter value in conjunction with Conditional Rules in Free Form layout. This would mean that you have 3 sheets worth of visuals layered on top of each other. Each set of visuals will be linked to 1 of the 3 metrics. Then conditional rules will determine when they appear.

The benefit to this is you don’t have to build calculated fields to determine which values will be returned, but the layering visuals on an analysis can be a little tedious.

Alternatively, you can use the parameter value that you are setting with calculated fields to return the corresponding value depending on the select. Something like this:

ifelse(
${ViewMetric} = "Sales", {sales},
${ViewMetric} = "Profit", {profit},
${ViewMetric} = "Orders", {orders},
NULL
)

Then instead of using your field for Sales directly in the visual, you will utilize the calculated field instead. This will be manipulated by the buttons.

One of these 2 options will provide the functionality you are looking for! I’ll mark this as the solution, but let me know if you have any follow-up questions. Thank you!