Forum Discussion
Changing multiple (two) field parameters with one button/slicer
Hi there!
Is it possible to change multiple (in my case two) field parameters using only one button/slicer in Power BI.
In my case, I am creating a sort of dynamic Sankey diagram with Weights and Source being dependent on two different field parameters relating to different timeframes. The Destination remains stable.
Currently I have 2 different field parameters, see example below:
SankeyColumn_Parameter = {
("Timeframe 1", NAMEOF('Table1'[a]), 0),
("Timeframe 2", NAMEOF('Table1'[b]), 1),
("Timeframe 3", NAMEOF('Table1'[c]), 2)
}
SankeyCount_Parameter = {
("Timeframe 1", NAMEOF('_Measures'[SankeyCount_timeframe1]), 0),
("Timeframe 2", NAMEOF('_Measures'[SankeyCount_timeframe2]), 1),
("Timeframe 3", NAMEOF('_Measures'[SankeyCount_timeframe3]), 2)
}
If I set both field parameters to the same value (see picture), everything works fine.
I however, would like to have 1 button/slicer that would set both field parameters to the corresponding values and not two separate slicers.
Something like this (I do understand that this does not work at all, but maybe it helps clarify things):
SankeyCount_Parameter = {
("Timeframe 1", NAMEOF('_Measures'[SankeyCount_timeframe1]) && NAMEOF('Table1'[a]), 0),
("Timeframe 2", NAMEOF('_Measures'[SankeyCount_timeframe2]) && NAMEOF('Table1'[b]), 1),
("Timeframe 3", NAMEOF('_Measures'[SankeyCount_timeframe3]) && NAMEOF('Table1'[c]), 2)
}
Is this possible in some way? I was thinking of maybe using SWITCH( TRUE(), ) but not really sure how.
- Anonymous3 years ago
Hi Anonymous !
I know this is a old topic, but I had the same problem, and your topic was top indexed on google, so I'll post how I solved it here, so it may help other people.
instead of using the code you thought of, you can use this one:New_Parameter = { ("Timeframe 1", NAMEOF('Table1'[a]), 0, "TF 1"), ("Timeframe 2", NAMEOF('Table1'[b]), 1, "TF 2"), ("Timeframe 3", NAMEOF('Table1'[c]), 2, "TF 3"), ("Timeframe 1", NAMEOF('_Measures'[SankeyCount_timeframe1]), 3, "TF 1"), ("Timeframe 2", NAMEOF('_Measures'[SankeyCount_timeframe2]), 4, "TF 2"), ("Timeframe 3", NAMEOF('_Measures'[SankeyCount_timeframe3]), 5, "TF 3") }It will create a new column in the parameter, and you'll be able to put this new column on the segment, as will return only the group values.
It should work!
12 Replies
- AnonymousNot applicable
Hi Anonymous !
I know this is a old topic, but I had the same problem, and your topic was top indexed on google, so I'll post how I solved it here, so it may help other people.
instead of using the code you thought of, you can use this one:New_Parameter = { ("Timeframe 1", NAMEOF('Table1'[a]), 0, "TF 1"), ("Timeframe 2", NAMEOF('Table1'[b]), 1, "TF 2"), ("Timeframe 3", NAMEOF('Table1'[c]), 2, "TF 3"), ("Timeframe 1", NAMEOF('_Measures'[SankeyCount_timeframe1]), 3, "TF 1"), ("Timeframe 2", NAMEOF('_Measures'[SankeyCount_timeframe2]), 4, "TF 2"), ("Timeframe 3", NAMEOF('_Measures'[SankeyCount_timeframe3]), 5, "TF 3") }It will create a new column in the parameter, and you'll be able to put this new column on the segment, as will return only the group values.
It should work!- AnonymousNot applicable
Thanks for your reply. I am going to try this out and mark your answer as solution if it works :D.
Thanks again in any case since the question was still relevant and open for me - AnonymousNot applicable
Thanks a lot, was able to solve the issue with your advice.
- ravisharora003Frequent Visitor
Perfect Solution 🙂
- johnt75Super User
If the timeframes are the same for each parameter you could maybe use a calculation group, with a calculation item for each timeframe, instead of a field parameter.
- v-yanjiang-msftCommunity Support
Hi Anonymous ,
Is your problem solved? If so, would you mind accept the helpful replies as solutions? Then we are able to close the thread. More people who have the same requirment will find the solution quickly and benefit here, thank you!
Best Regards,
Community Support Team _ kalyj