Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

SWITCH statement not working properly

I have the following SWITCH statement as a new column:

 

teperatureTrendChar =
VAR Down = UNICHAR ( 11167 )
VAR Up = UNICHAR ( 11165 )
VAR equal = UNICHAR ( 61 )

RETURN
SWITCH (
TRUE (),
BMSState[temperatureTrend] = "Down", Down,
BMSState[temperatureTrend] = "Up", Up,
        BMSState[temperatureTrend] = "Steady", equal)
 
This should return a DOWN ARROW, EQUALS SIGN, UP ARROW based on the value of [temperatureTrend].  However, you can see from the image below that regardless of whether the value is "Down" or "Up" it returns the same value. Don't quite know what is going on here?
 
 
  • Hi Anonymous 

    It can work correctly on my side.

    Please check which version you use(there may be an issue with the previous version).

    To make it works on your side, i would suggest you updating the lastest version.

    https://docs.microsoft.com/en-us/power-bi/desktop-latest-update

     

     There is a workaround as below if you use the current version:

    Create measures

    Measure 1 = SWITCH(MAX(Table2[Trend]),"Up",1,"Down",-1,"Steady",0)
    
    Measure 2 = 
    VAR Down = UNICHAR (11167)
    VAR Up = UNICHAR (11165)
    VAR Equal = UNICHAR (61 )
    
    RETURN
    SWITCH (
    TRUE(),
    [Measure 1]<0, Down,
    [Measure 1]>0, Up&" ",
    [Measure 1]=0, Equal)

    or create columns

    Column 1 = SWITCH(Table2[Trend],"Up",1,"Down",-1,"Steady",0)
    
    Column 2 = 
    VAR Down = UNICHAR (11167)
    VAR Up = UNICHAR (11165)
    VAR Equal = UNICHAR (61 )
    
    RETURN
    SWITCH (
    TRUE(),
    [Column 1]<0, Down,
    [Column 1]>0, Up&" ",
    [Column 1]=0, Equal)

    Best Regards
    Maggie

     

    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Anonymous - That looks like it should work - can you provide a sample table or pbix? 

    Thanks,

    Nathan

  • v-juanli-msft's avatar
    v-juanli-msft
    Community Support

    Hi Anonymous 

    It can work correctly on my side.

    Please check which version you use(there may be an issue with the previous version).

    To make it works on your side, i would suggest you updating the lastest version.

    https://docs.microsoft.com/en-us/power-bi/desktop-latest-update

     

     There is a workaround as below if you use the current version:

    Create measures

    Measure 1 = SWITCH(MAX(Table2[Trend]),"Up",1,"Down",-1,"Steady",0)
    
    Measure 2 = 
    VAR Down = UNICHAR (11167)
    VAR Up = UNICHAR (11165)
    VAR Equal = UNICHAR (61 )
    
    RETURN
    SWITCH (
    TRUE(),
    [Measure 1]<0, Down,
    [Measure 1]>0, Up&" ",
    [Measure 1]=0, Equal)

    or create columns

    Column 1 = SWITCH(Table2[Trend],"Up",1,"Down",-1,"Steady",0)
    
    Column 2 = 
    VAR Down = UNICHAR (11167)
    VAR Up = UNICHAR (11165)
    VAR Equal = UNICHAR (61 )
    
    RETURN
    SWITCH (
    TRUE(),
    [Column 1]<0, Down,
    [Column 1]>0, Up&" ",
    [Column 1]=0, Equal)

    Best Regards
    Maggie

     

    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • v-juanli-msft's avatar
    v-juanli-msft
    Community Support

    Hi Anonymous 

    Is this problem sloved? 

    If it is sloved, could you kindly accept it as a solution to close this case?

    If not, please let me know.

     

    Best Regards

    Maggie

    • Anonymous's avatar
      Anonymous
      Not applicable
      Thanks - had to use the workaround as I am running latest version of PowerBI Desktop already. BTW - can you tell me why you add a space for the Up check? Up&" "