Control to hide column

Hi,

How can I setup a control filter to show or hide columns

using the screenshot above, if my user do not want to see “industry field”, they can uncheck “Industry” checkbox and QS will remove that column altogether. I have searched a few thread that it’s possible but doesn’t have any detailed step to arrive at this outcome.

Greatly appreciate any advice. thanks!

1 Like

Hi @LeonardLai QuickSight doesn’t support allowing users to dynamically change the chart, but if you use free form layout you could create 2 charts and show one or the other depending on their selection.
There is an example of this on Demo Central for Interactivity - Dynamic Dimensions and Measures. If you click the blue analysis button on the left of the screen you can see how it has been implemented.

1 Like

Hi @Steph ,
thanks for the reply.
would it mean potentially I will need to have 8-10 charts if i want to cater this behavior for 8-10 columns in the sample screenshot?

Hi,

unfortunately yes.
I used a slider as a control and depending on the selection in the slider, I show the corresponding table.

When you start creating all the tables, start by having every table under each other, so you can edit them more easily.
When you are done, you can edit the position of every table in the table settings to the same x and y coordinates.

I sent in a feature request to hide columns with only null values. Then we could do this with only one table.

Gruß
Thomas

1 Like

Thanks @thomask ,
would you have any reference guide on how to configure your setup?

I have been thinking about the same thing.

The route i’m taking is to have a 0/1 value in the dataset which I can use as headers, add the filter header into a pivot with the named headers underneath. Then hide the 0/1 header but control with a parameter through a filter.

When filtering it then hide or displays 1 and 0 columns.

1 Like

@widnie can you please explain more about this solution

Hi, could you explain a little bit more please?

If I am understanding it right, you just want the column to change the values to either Industry or Product when user select one of these.

  1. Create a parameters “selection” and give it a static default “Industry”
  2. Create a drop down control (single selection) and give this control 2 values i.e. Industry and Product
  3. Create a new calculation “Industry or Product” and use an ifelse condition based on parameter value… ifelse($selection = ‘Industry’, {Industry}, {Product}). This will dynamically change the column values every time the “selection” parameter value changes
  4. Add the new calculation “Industry or Product” to the table.
  5. To change the name of the column dynamically based on user selection, click the format option for the table and in the Group-by Column Names section, under “Industry or Product” column add the parameter <<$selection>>

The same approach can be used to dynamically change any widget. You just used a column which is controlled based on a parameter value and every time the parameter value changes, the widget gets updated. This is quite helpful where you want to run multiple combination of calculations based on user selection on the same widget.

3 Likes

Hey Zerry00,

you solution works only with single columns right ? not with group of columns right ?

for example - if i select c1 I want 3 columns but if i select c2 - i want other 4 columns to appear. Do you know if you have done something similar to this ?

I already have a solution - which is overlappting visuals and select visuals with the filter drop down. but for this it makes the analysis very cluttered and heavy with multiple visuals. henc ei wanted something like above. Let me know if you have any thoughts on this.

Hi karvsha,

As far as the column count is same in the View-A & View-B you can utilize this solution. E.g. having 3 column in View-A and 3 columns in View-B. Each column value gets changed based on the user selection.

In your case, you’re trying to show 3 columns in View-A and 4 columns in View-B which is not possible using this approach. To my knowledge, the only solution to this is to use 2 visuals and show/hide based on selection as you’ve implemented already.