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.
Solved! Go to Solution.
Hi @robbertl !
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!
Hi @robbertl !
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!
Thanks a lot, was able to solve the issue with your advice.
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
Hi @robbertl ,
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
Hi, no not yet solved. trying to find a workaround myself. Will update here once applicable
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.