Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi,
All the examples of a switch include a very simple structure...
For example:
= SWITCH([Month], 1, "January", 2, "February", 3, "March", 4, "April" , 5, "May", 6, "June", 7, "July", 8, "August" , 9, "September", 10, "October", 11, "November", 12, "December" , "Unknown month number" )
I have two blocks of code, and I only want to run one, depending on a condition. How do I run a BLOCK of code within a SWITCH()?
MEASURE_NAME =
SWITCH(
TRUE(),
SELECTEDVALUE(grouping[group]) = "all",
var total = CALCULATE(sum(data[value]), FILTER(data, [sex] <> "Persons" && ALL(grouping)))
var females = calculate(sum(data[value]), FILTER(data, [sex] = "Female" && ALL(grouping)))
,
SELECTEDVALUE(grouping[group]) <> "all",
var total = CALCULATE(sum(data[value]), FILTER(data, [sex] <> "Persons" ))
var females = calculate(sum(data[value]), FILTER(data, [sex] = "Female"))
)
RETURN
format(DIVIDE(females, total), "0.0%")
It seems to complain about the ',' in between the blocks, indicating to me that it struggles to evaluate multiple rows when the condition in the switch is true. I tried to put the blocks (in bold) in ( ) but that does not help.
Any suggestions?
Solved! Go to Solution.
Try writing them as two seperate measures then using the measures in the switch.
Measure_Name =
VAR _Seletcion =
SELECTEDVALUE ( grouping[group] )
RETURN
SWITCH (
TRUE (),
_Selection = "all", [All Measure],
_Selection <> "all", [Other Measure]
)
Yeah, this solution works and I have implemented this. I am not a big fan of it though, because I dont really like creating so many measures. I have a relatively simple app, and have created over 100 measures already...
It works, but its not neat.
Thanks for the guidance!
Try writing them as two seperate measures then using the measures in the switch.
Measure_Name =
VAR _Seletcion =
SELECTEDVALUE ( grouping[group] )
RETURN
SWITCH (
TRUE (),
_Selection = "all", [All Measure],
_Selection <> "all", [Other Measure]
)
Yeah, this solution works and I have implemented this. I am not a big fan of it though, because I dont really like creating so many measures. I have a relatively simple app, and have created over 100 measures already...
It works, but its not neat.
Thanks for the guidance!
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.