Forum Discussion
SWITCH function for changing UNICODE values not working correctly.
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
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
4 Replies
- amitchandakSuper User
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)- UNICODEHelper I
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 - UNICODEHelper I
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
- UNICODEHelper I
Moved this to a reply