How to create 'apply button' for control

Hello, :wave:
I want to create Quicksight Dashboard about Cloudtrail Log.
And I created many controls for searching cloudtrail events.
(like eventname, username, eventtime …)

Every time I press one control, it keeps getting updated. It’s very complicated. :exploding_head:
I need “apply button” that allows to apply multiple controls at once.
The table must change at once if I press “apply button”.

1 Like

Hi @jung,
Welcome to the QuickSight community! Would you be able to share a couple screenshots of the controls in discussion and the visual being updated so that we have some additional context?

Thank you!

Hello @Brett,
As shown in the picture below, the graph is updated whenever I modify one control when there are multiple controls.
I want to modify several controls and update the graph when I press the Apply button at the end.

Hi @jung,
Thanks for the additional explanation! While there is no simple setting feature, there is a work around that could be used in this scenario. There are quite a few steps but please see below for a walkthrough:

Start by creating a parameter that will return True or False
image

Next, you’ll create 2 calculated fields that will be used in making a dynamic button:
‘Apply Filter’: ifelse(${ApplyFilter} = 'False', 'True', 'False')

  • Note: You’ll hide this field

‘Filter Button’: concat('Click to ', ifelse(${ApplyFilter} = 'False', 'apply ', 'remove '), 'filters')
image

Next, you’ll create a table visual (for the button). Hide the header, hide the value for Apply Filter Param field and format as a button.
Create a navigation action to set the ApplyFilter param to the value field:
image

image

Now, to filter the visual, check the value of the Apply Filter parameter and the value selected in the dropdown.
IsNull($Parameter) to check for select all in a single value, in(NULL, ${Parameter}) to check for select all in a multi value.
So you’ll need to create this calculated field for each of your control values:

`ifelse(`
`    ${ApplyFilter} = 'True' AND (${EventName} = EventName OR isNull(${EventName})), EventName,`
`    ${ApplyFilter} = 'False', EventName,`
`NULL    `
`)`

Then, replace the field in the visual with the new calculated field(s) and apply a filter to exclude nulls when necessary
image

Last, remove any filters that are linked directly t othe controls, otherwise this will not work.

Let me know if you have any additional questions!

1 Like

Did this solution work for you? I am marking this reply as, “Solution,” but let us know if this is not resolved. Thanks for posting your questions on the QuickSight Community!

@Brett Thank you for your reply.
I made it as simple as you said.
If I drop down through the EventName control at the top and select it, it will not be filtered directly into the table, but will be applied when I press “Click to apply filters”.
If I select the EventName control without pressing “Click to apply filters”, the result is not applied after the table has been loaded.
Can’t you make it so that the table doesn’t load when I don’t press the button?

Hi @jung,
I just want to make sure I understand the question correctly. Are you looking for the table to not be present at all until you hit ‘click to apply filters’?

If that’s the case, you would need to use the free-form layout for the sheet, and utilize conditional rules to display the visual when the ApplyFilter Parameter is set to true.

@Brett Hello
No.
To be precise, I want the table to remain in its previous state without being updated until I press the Apply button.
The method you told me has the same result, but I don’t even want the table to be loaded.
The key is that the table doesn’t load.

Hi @jung,
Is your dataset running on Direct Query? If so, that is why you are seeing the visual load since it’s actively pulling data from your database.

You can hide the visual from view (with the conditional rules logic), set your dataset to spice, or apply some type of static default value that will load no data. Otherwise, this will happen every time you launch the dashboard since it needs to query your data.

This Apply button feature has been requested by various users since 2021 three year since then still Apply Button requirement is relevant but why QuickSight development team has not released this? @Xclipse @Brett

1 Like

I just started working on quicksight and amazed that this functionality is missing. If there are multiple input parameters you dont want the query to hit the database everytime until all the selections have been made.Think about the number of calls if its an operational report.
Other issue i see is if i have single filter selection in the report the Apply function is only available when its multi listed there is no apply option if its a single selection
Had to convince leadership that this basic functionality is missing…