Forum Discussion

Daniel_Derbin's avatar
Daniel_Derbin
Frequent Visitor
4 years ago
Solved

Conditional formatting (background color) each cell separately in matrix

Hello, 

 

Im trying to apply logic into matrix but based on different rule for almost each cell in a row.
I'm using currently only one measure to give me percentage result.

 

What i have so far:


What the result of formatting should look like:

 

Appreciate your help, Dan 🙂

  • Hi Daniel_Derbin,

     

    For this you need to create a metric similar to this:

     

     

    Formating =
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Critical"
            && [% of vuln wo Sev] >= 0.92, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "31-60 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Critical"
            && [% of vuln wo Sev] <= 0.08
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "High"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
            && SELECTEDVALUE ( Table[Severity] ) = "High"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
                || SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "Medium"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "91-180 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Medium"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
                || SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
                || SELECTEDVALUE ( Table[Record age] ) = "91-180 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "Low"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "180-360 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Low"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        "Red"
    )

    This may need some adjustments, there is also an option to create a table with the values of your maximum and minimun values if you want I can try and setup that table that would allow you to give you a better editing option in the future.

     

2 Replies

  • Hi Daniel_Derbin,

     

    For this you need to create a metric similar to this:

     

     

    Formating =
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Critical"
            && [% of vuln wo Sev] >= 0.92, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "31-60 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Critical"
            && [% of vuln wo Sev] <= 0.08
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "High"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
            && SELECTEDVALUE ( Table[Severity] ) = "High"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
                || SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "Medium"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "91-180 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Medium"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        (
            SELECTEDVALUE ( Table[Record age] ) = "0-30 days"
                || SELECTEDVALUE ( Table[Record age] ) = "31-61 days"
                || SELECTEDVALUE ( Table[Record age] ) = "61-90 days"
                || SELECTEDVALUE ( Table[Record age] ) = "91-180 days"
        )
            && SELECTEDVALUE ( Table[Severity] ) = "Low"
            && [% of vuln wo Sev] >= 0.95, "Green",
        SELECTEDVALUE ( Table[Record age] ) = "180-360 days"
            && SELECTEDVALUE ( Table[Severity] ) = "Low"
            && [% of vuln wo Sev] <= 0.05
            && [% of vuln wo Sev] > 0, "Yellow",
        "Red"
    )

    This may need some adjustments, there is also an option to create a table with the values of your maximum and minimun values if you want I can try and setup that table that would allow you to give you a better editing option in the future.

     

    • Daniel_Derbin's avatar
      Daniel_Derbin
      Frequent Visitor

      Hi MFelix, 

       

      That worked as a charm after smal adjustments.
      Thank you a lot!! 🙂