Forum Discussion
Dynamic column selection for matrix visual
- 7 years ago
Hi Anonymous ,
To what I can understand you want to have an option for users to select columns that they see on the matrix table that is not an option you have on PBI by default however you can create a workaround.
Create an unrelated table with all your Columns Names that you want to have as on off on your matrix.
In my case I created a table named Selector:
Columns selection
Quantity Value Then add the following measures:
Column selection = MAX(Selector[Columns selection]) Totals Columns = SWITCH([Column selection];"Quantity";[Quantity total];"Value";[Value total])
On the second measure you should add all the related measure that you have for each column you want to show.
Now create your matrix in the following way:
Rows: Category (this are the columns that you want to have the details (keep the ones you have)
Columns: Selector[Columns Selection]
Values: [Totals Columns]
Should give the result below:
See attach PBIX.
Regards,
MFelix
Hi Anonymous ,
To what I can understand you want to have an option for users to select columns that they see on the matrix table that is not an option you have on PBI by default however you can create a workaround.
Create an unrelated table with all your Columns Names that you want to have as on off on your matrix.
In my case I created a table named Selector:
Columns selection
| Quantity |
| Value |
Then add the following measures:
Column selection = MAX(Selector[Columns selection]) Totals Columns = SWITCH([Column selection];"Quantity";[Quantity total];"Value";[Value total])
On the second measure you should add all the related measure that you have for each column you want to show.
Now create your matrix in the following way:
Rows: Category (this are the columns that you want to have the details (keep the ones you have)
Columns: Selector[Columns Selection]
Values: [Totals Columns]
Should give the result below:
See attach PBIX.
Regards,
MFelix
- ttt5 years agoRegular Visitor
Hi MFelix ,
Thanks! This works well for me. However, I'd like to add month columns on top of the columns selection (New Budget and Rolling Forecast columns). When I did that, the columns selection did not show up.
Before I added month columns
After I added month columns
Would it be possible to do multiple headers in this case? The month columns don't need to be dynamic. It would be a plus if it can be.
Thank you in advance!
- MFelix5 years agoSuper User
Hi ttt,
When you add more than one column on a row or columns part of a matrix you get an hierarchy and you can drill down to lower levels, if you check the header of the table you have a arrow that splits into two if you click it you will go to the lowest level showing the months and the the measures.
- Anonymous4 years agoNot applicable
Hello MFelix,
thanks for your solution. Is it also possible to do this when the columns are not measures but "normal" columns? So I have a table with many columns and i want my users to choose which columns to display in the matrix visual. I am not sure if its possible and what to change in your solution. Could you please help me with this? Thanks.
- Anonymous5 years agoNot applicable
Thanks MFelix , this makes sense a lot. However I do not have any of the values in Columns, I have it as measure instead
Example, Volume, Margin, Unit Margin i dont have it as column, i have it as measures. So how do I have a dynamic column selections like you said.
I won't be able to create a unrelated table with all those columns as suggested in your earlier reply!
Hope i did not confuse you much!
- MFelix5 years agoSuper User
Hi Anonymous ,
The idea is the same because in this one we exchange the column values by measures:
Totals Columns = SWITCH([Column selection];"Quantity";[Quantity total];"Value";[Value total])
As you can see in the syntax above the [Quantity total] not having a name before it means its a measure, so in your case you need to create a disconnected table with your measures names and then adjust the formula above with the measure names, be aware that if the measure have different formats you must use the format, to make the correct formatting.
- Anonymous5 years agoNot applicable
Hey MFelix ,
I tried that and unfortunately didn't work for me. I used the same formulas as you did, same field names, but I get a matrix like this.
- Anonymous4 years agoNot applicable
Hello Miguel,
We can create a matrix without having anything in the "columns" section. However for the dynamic column logic which you demonstrated here, when i remove "Selector[Columns Selection]" from the columns section, the matrix gives error. Can you please help me by explaning this behavior.
Regards,
Rajnish Singh
Regards,
Rajnish Singh
- MFelix4 years agoSuper User
Hi Anonymous,
When you use the normal fields on a matrix you don't need to have values on the columns or rows, however that won't mae it dinamic since the value is on the matrix or not.
In this case since the need is to show/hide selected values there is a need of context and that is given by that column of the Selectors table.
If you notice the first part of the measure is SELECTEDVALUE that forces the context transition to show or hide the column so if you take it out the measure does not work.