Forum Discussion

cristianml's avatar
cristianml
Post Prodigy
4 years ago
Solved

Switch Color Dax

Hi,

 

I'm trying to use SWITCH Function for font color but it doesn't work.  Only works With IF Function but is limited the quantity of variables to use. I want to use SWITCH or other function that can work with unlimited quantity of values/measures.

 

SWITCH not working:

 

 

IF function working but Limited:

 

if I try to use more than 6 then it shows an error:

 

 

_Colors =
SWITCH(TRUE(),
[_Actual Rev],"#000000", //BLACK
[_Actual CI],"#000000", //BLACK
[_Actual CI%],"#000000", //BLACK
[_Backlog Rev],"#A100FF", //PURPLE
[_Backlog CI],"#A100FF", //PURPLE
[_Backlog CI %],"#A100FF", //PURPLE
[_CBP Rev],"Red",
[_CBP Rev],"Red",
[_CBP Rev],"Red")

 

Any idea why is not working ?

  • cristianml , What [_Actual Rev] here, just a measure, then all non zero will be true are you looking for

     

    selectedvalues(measure[measure]) = "_Actual Rev","#000000"

     

    refer examples

     

     

    Colour =
    SWITCH(TRUE(),
    'Table'[Date] < TODAY(), "red",
    'Table'[Date] = TODAY(), "orange",
    "green")

     

    Colour =
    SWITCH(TRUE(),
    max('Table'[Month Year]) = "Jan-2020", "red",
    Max('Table'[Month Year]) < "Feb-2020", "orange",
    //keep on adding
    "green")

    Measure =
    Switch(true(),
    max(Table[Column]) = "R1" , "Red" ,
    max(Table[Column]) = "R2" , "Green" ,
    max(Table[Column]) = "R3" , "Pink "
    )

     

     

1 Reply

  • cristianml , What [_Actual Rev] here, just a measure, then all non zero will be true are you looking for

     

    selectedvalues(measure[measure]) = "_Actual Rev","#000000"

     

    refer examples

     

     

    Colour =
    SWITCH(TRUE(),
    'Table'[Date] < TODAY(), "red",
    'Table'[Date] = TODAY(), "orange",
    "green")

     

    Colour =
    SWITCH(TRUE(),
    max('Table'[Month Year]) = "Jan-2020", "red",
    Max('Table'[Month Year]) < "Feb-2020", "orange",
    //keep on adding
    "green")

    Measure =
    Switch(true(),
    max(Table[Column]) = "R1" , "Red" ,
    max(Table[Column]) = "R2" , "Green" ,
    max(Table[Column]) = "R3" , "Pink "
    )