Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi All,
I am trying to output multiple results depending on the selected field.
These multiple results are an average, an upper bound and lower bound standard deviation:
This works well as I have put every field into the lines, but I am trying to toggle to share of volume and get the wrong values
These bounds and averages are calculations for the previous metric. So I am trying to make a switch statement for the lines in this visual to select the proper bounds and average depending on the selected metric with the following formula:
Bounds =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[YMax CRT],
"CRT", 'Verizon Call Reason'[YMin CRT],
"CRT", 'Verizon Call Reason'[Avg CRT],
"% Share Volume",'Verizon Call Reason'[YMax V%],
"% Share Volume", 'Verizon Call Reason'[YMin V%],
"% Share Volume", 'Verizon Call Reason'[Avg V%],
0
)
But this only gives me an aggregate of the upper, lower, and average line as something I do not need.
How can I keep these bounds depending on the filter measure I select?
Solved! Go to Solution.
The logic behind switch is this:
if value equals X than "show me this", otherwise
if value equals Y than "show me that", ...
What you've wrote is this:
if value equals X than "show me this", otherwise
if value equals X than "show me that", ...
However this cannot work since X cannot equal 2 conditions at the same time. You cannot have "CRT" 3 times and "% Share Volume" also 3 times.
You need to create 3 separate switch functions:
Upper Bound =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[YMax CRT],
"% Share Volume",'Verizon Call Reason'[YMax V%],
0
)
Lower Bound =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[YMin CRT],
"% Share Volume", 'Verizon Call Reason'[YMin V%],
0
)
Average =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[Avg CRT],
"% Share Volume", 'Verizon Call Reason'[Avg V%],
0
)
The logic behind switch is this:
if value equals X than "show me this", otherwise
if value equals Y than "show me that", ...
What you've wrote is this:
if value equals X than "show me this", otherwise
if value equals X than "show me that", ...
However this cannot work since X cannot equal 2 conditions at the same time. You cannot have "CRT" 3 times and "% Share Volume" also 3 times.
You need to create 3 separate switch functions:
Upper Bound =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[YMax CRT],
"% Share Volume",'Verizon Call Reason'[YMax V%],
0
)
Lower Bound =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[YMin CRT],
"% Share Volume", 'Verizon Call Reason'[YMin V%],
0
)
Average =
switch(
SELECTEDVALUE(Range[Metric]),
"CRT", 'Verizon Call Reason'[Avg CRT],
"% Share Volume", 'Verizon Call Reason'[Avg V%],
0
)
This worked like a charm!
User | Count |
---|---|
15 | |
9 | |
8 | |
6 | |
5 |
User | Count |
---|---|
31 | |
18 | |
15 | |
7 | |
5 |