Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello Everyone, I have one that has stumped me.
I have written a switch statement that will change the UNICODE values of in a calculated column. I would like it to display the LAST value in a card visual to indicate the last state. What I am finding is that it is showing the UNICODE value with the highest value.
I have attached a screen shot
I was hoping for it to select the face at the 0.75 value (128531 unicode value) instead it picks the 0.5 value (128532) as the Last Value. If I pick a higher UNICODE value (128533 for example) then the card will display this value.
Here is the source code for the switch statement. I will attatch the BI file if I can figure out how.
Face Changer Column =
VAR WUCL=UNICHAR(128531)
VAR UCL=UNICHAR(128530)
VAR sigma=UNICHAR(128532)
VAR good=UNICHAR(128513)
VAR UCLV=0.875
VAR WUCLV=0.625
VAR sigmaV=0.5
Var goodV=0.3
VAR SWITCHER=
Switch(TRUE(),
'Example Data'[Value]>=UCLV,UCL,
'Example Data'[Value]>=WUCLV,WUCL,
'Example Data'[Value]>=sigmaV,sigma,good)
Return SWITCHER
Solved! Go to Solution.
This appears to be working now. I did two things.
1. I moved it to a measure.
2. I changed the code, adding the MAX function.
FCMES =
VAR WUCL=UNICHAR(128531)
VAR UCL=UNICHAR(128530)
VAR sigma=UNICHAR(128532)
VAR good=UNICHAR(128513)
VAR UCLV=0.875
VAR WUCLV=0.625
VAR sigmaV=0.5
Var goodV=0.3
VAR SWITCHER=
Switch(TRUE(),
Max('Example Data'[Value])>=UCLV,UCL,
MAX('Example Data'[Value])>=WUCLV,WUCL,
Max('Example Data'[Value])>=sigmaV,sigma,good)
Return SWITCHER
Moved this to a reply
@UNICODE , You need to create this face change measure on the measure, I doubt you are creating a column based on column
example
Switch(TRUE(),
sum('Example Data'[Value]) >=UCLV,UCL,
sum('Example Data'[Value])>=WUCLV,WUCL,
sum('Example Data'[Value])>=sigmaV,sigma,good)
Initially I had did this as a calculated column.
Using the Sum makes sense to conver it over to a measure, ie it needing a single value to compute. The problem with using SUM is it starts adding the Example Data'[Value] together and gives the incorrect results.
MIN returns the UNICODE with the smallest code value.
MAX always returns the one with the largest code value
This appears to be working now. I did two things.
1. I moved it to a measure.
2. I changed the code, adding the MAX function.
FCMES =
VAR WUCL=UNICHAR(128531)
VAR UCL=UNICHAR(128530)
VAR sigma=UNICHAR(128532)
VAR good=UNICHAR(128513)
VAR UCLV=0.875
VAR WUCLV=0.625
VAR sigmaV=0.5
Var goodV=0.3
VAR SWITCHER=
Switch(TRUE(),
Max('Example Data'[Value])>=UCLV,UCL,
MAX('Example Data'[Value])>=WUCLV,WUCL,
Max('Example Data'[Value])>=sigmaV,sigma,good)
Return SWITCHER
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
11 | |
9 | |
8 | |
8 | |
8 |
User | Count |
---|---|
13 | |
12 | |
11 | |
10 | |
9 |