Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

How to do complex conditional formatting

Hello Guys, I have face an issues based on conditional formatting. Hope you can help

What I plan to do know is, when I click on "believe" (shown as 1 below), the highest number in the table should show th darkest red, and smallest number should show lightest red

 

On the other side, when i click on "not believe" (shown as 2 below), the highest number in the table should show darkest green, else, lightest green

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous ,

     

    Gradients in conditional formatting cannot currently change color gradients dynamically.

    As a workaround, You could create a measure, define color intervals, and apply it to conditional formatting.

    For example, here I define three intervals.

    Measure = 
    var _max=MAXX(FILTER(ALLSELECTED('Table'),[Type]=MAX('Table'[Type])),[Value])
    var _value=SUM('Table'[Value])
    var _red=SWITCH(TRUE(),_value>0&&_value<=_max/3,"#FDC2C2",_value>_max/3&&_value<=_max/3*2,"#FD6E6E",_value>_max/3*2&&_value<=_max,"#FD0000")
    var _green=SWITCH(TRUE(),_value>0&&_value<=_max/3,"#CCFECC",_value>_max/3&&_value<=_max/3*2,"#86F986",_value>_max/3*2&&_value<=_max,"#00FF00")
    return SWITCH(SELECTEDVALUE('Table (2)'[Believe or Not believe]),"Believe",_red,"Not Believe",_green)

    Click the "fx" under the cell elements.

    Select Based on the measure I created.

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

     

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Gradients in conditional formatting cannot currently change color gradients dynamically.

    As a workaround, You could create a measure, define color intervals, and apply it to conditional formatting.

    For example, here I define three intervals.

    Measure = 
    var _max=MAXX(FILTER(ALLSELECTED('Table'),[Type]=MAX('Table'[Type])),[Value])
    var _value=SUM('Table'[Value])
    var _red=SWITCH(TRUE(),_value>0&&_value<=_max/3,"#FDC2C2",_value>_max/3&&_value<=_max/3*2,"#FD6E6E",_value>_max/3*2&&_value<=_max,"#FD0000")
    var _green=SWITCH(TRUE(),_value>0&&_value<=_max/3,"#CCFECC",_value>_max/3&&_value<=_max/3*2,"#86F986",_value>_max/3*2&&_value<=_max,"#00FF00")
    return SWITCH(SELECTEDVALUE('Table (2)'[Believe or Not believe]),"Believe",_red,"Not Believe",_green)

    Click the "fx" under the cell elements.

    Select Based on the measure I created.

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.