Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
jpjust
Specialist
Specialist

Add column to table as on-demand

Hi All,

I use qliksense.

I have an long table with many columns which don't fit into one page.

Is there a way that we can have users  (analyzers) pick themselves add / remove columns to the table according to their needs? I used to see this in qlikview with some marco code some thing like that..

Thanks

 

1 Solution

Accepted Solutions
rubenmarin

If you don't have the column id you need to use the title in the expression:

 Index(Concat(ColumnTitle,','),'Site')

 Index(Concat(ColumnTitle,','),'Year Month')

But as I said before you can keep the Id to use in expression and only show the title for the user

View solution in original post

9 Replies
rubenmarin

Hi, you can create a column selector something like:

LOAD * Inline [
IdColumn, Column
11,Column1Title
12,Column2Title
...
];

And  use the show condition of each expression like:

Index(Concat(IdColumn,','),'11') //For column 1
Index(Concat(IdColumn,','),'12') //For column 2

 

jpjust
Specialist
Specialist
Author

Thanks Ruben, will give it a try and let you know.

Jayavignesh
Contributor III
Contributor III

There are also many extensions available - e.g. https://developer.qlik.com/garden/578fc358ba99b7951dee28a9 

jpjust
Specialist
Specialist
Author

Hi Ruben,

I have the inline and the expression on "Show column if" on the table.

Now the column is always visible on the table. How this works? Where would I list the columns for the users to select and which chart I should use?

Thanks

jpjust
Specialist
Specialist
Author

Hi Ruben - I got it to work. I have an field selection table with 2 fields, IDColumn and Column (Column title)

And then I have an conditional expression on  "Show column if" for each fields on the actual data table. When I select / deselect  an field from the field selection table , the column appears / disappears from the actual data table.

Is it possible to have inline table with column name instead of the numerical value, then modify the expression accordingly on  "Show column if" for each fields on the actual data table, then I can display the values in the filter pane (Column title) instead of field selection table for the users to select?

Thanks

rubenmarin

Hi, you can use an inline table with just the title, the numerical value is to separate index and text.

You can keep both, numerical and text, and only show the text (column title) in the filter panel for the user, when the user selects a text the expression uses the index related to that text, you don't need to show both.

jpjust
Specialist
Specialist
Author

Unfortunately, having just the column title did not work. May be I am missing some thing.

I have this field selection table below and if I remove ColumnID and then just selecting on ColumnTitle did not work. Only if I select ColumID field, the other data table works. Same with the filter pane as well.

ColumnID       ColumnTitle

  1                           Site

 2                            Year  Month

This is my expression on each fields- Index(Concat(IdColumn,','),'1')

Index(Concat(IdColumn,','),'2')  and so on...

Below is my inline table.

LOAD * Inline [
IdColumn, Column
1 , Site
2 , Year Month
3, UNIT Count

];

Can you please let me know how to make it work just by using title instead of the columnID?

Thanks

rubenmarin

If you don't have the column id you need to use the title in the expression:

 Index(Concat(ColumnTitle,','),'Site')

 Index(Concat(ColumnTitle,','),'Year Month')

But as I said before you can keep the Id to use in expression and only show the title for the user

jpjust
Specialist
Specialist
Author

Thanks Ruben, everything worked as expected.