Forum Discussion

yuhkao's avatar
yuhkao
Icon for Microsoft Employee rankMicrosoft Employee
6 years ago
Solved

Conditional format on each row with different criteria

Hi Expert

 

I have matrix and would like to setup conditional formating with different criteria on each row. can i do that?

 

for example

                            Jan-2020  Feb-2020  Mar-2020  Apr-2020

commodity1         data         data          data          data

commodity2         data         data          data          data

commodity3         data         data          data          data

 

data greater than 500 on commodity1

data greater than 1000 on commodity2

data greater than 1500 on commodity3

 

as you can see above, each row has different criteria, not sure power bi has this feature or not. thanks 

 

  • dax's avatar
    dax
    6 years ago

    Hi yuhkao , 

    Did you mean below part show red, then others show the same? You could use "||" , which represent "or" (you could follow my logic, switch(true(), condition1, color code, condition2 , color code, color code(this part is used for other conditions except above conditions))

    c1> 3000

    c2> 5000

    c3......c10> 500

    Measure 3 = var c1= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c1"))   var c2= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c2"))   var c3= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c3"))   return switch(TRUE(), c1>3000||c2>5000||c3>500||c4>500||c5>500 , "#ff0019", "#42dfed")

     

    Best Regards,
    Zoe Zhi

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

8 Replies

  • yuhkao ,

    Create a measure like this

    color =
    switch ( true(),
    FIRSTNONBLANK(Table[commodity],"NA") ="commodity1" && sum(Table[Value]) >500,"lightgreen",
    FIRSTNONBLANK(Table[commodity],"NA") ="commodity2" && sum(Table[Value]) >1000,"lightgreen",
    /// Add more conditions
    "red"
    )

     

    And use that in conditional formatting after choosing the field value

    https://radacad.com/dax-and-conditional-formatting-better-together-find-the-biggest-and-smallest-numbers-in-the-column

    https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-by-color-values

     

    • yuhkao's avatar
      yuhkao
      Icon for Microsoft Employee rankMicrosoft Employee

      can i have all red color with commodity1 reach 500 and commodity2 reach 1000?

  • dax's avatar
    dax
    Icon for Community Support rankCommunity Support

    Hi yuhkao , 

    You could refer to my sample for details

    Best Regards,
    Zoe Zhi

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

    • yuhkao's avatar
      yuhkao
      Icon for Microsoft Employee rankMicrosoft Employee

      dax  seems work now, thanks

      one more quick question for Measure3 formula, i got several commodities, only c1, c2 are different criteria, others are the same, can i have formular of it? thanks 

       

      for example,

      c1> 3000

      c2> 5000

      c3......c10> 500

       

      can you help? thanks 

      • dax's avatar
        dax
        Icon for Community Support rankCommunity Support

        Hi yuhkao , 

        Did you mean below part show red, then others show the same? You could use "||" , which represent "or" (you could follow my logic, switch(true(), condition1, color code, condition2 , color code, color code(this part is used for other conditions except above conditions))

        c1> 3000

        c2> 5000

        c3......c10> 500

        Measure 3 = var c1= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c1"))   var c2= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c2"))   var c3= CALCULATE(SUM(T2[amount]), FILTER('T2',T2[name]="c3"))   return switch(TRUE(), c1>3000||c2>5000||c3>500||c4>500||c5>500 , "#ff0019", "#42dfed")

         

        Best Regards,
        Zoe Zhi

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