Forum Discussion

kwpbi's avatar
kwpbi
Icon for Helper II rankHelper II
7 years ago
Solved

Conditional formatting with rules... base maximum off of table value?

Again, I am trying to do something that should be simple, but I cannot figure out how to do it in Power BI. I am using a gauge-style visual with conditional formatting for the data color. I want to set it up with two rules: for values between zero and the "target value", I want it red. For values above the "target value", I want it green. Seems pretty straight-forward for this type of visual.

However, those fields for min/max seem to only accept numerical inputs. I need to drive these formatting rules with the "target value" from my table, because it changes from day to day.

Is this possible?

 

Thank you.

  • kwpbi  create a measure for color like

     

    KPI Color = IF( [Value] < [Target] , "Red", "Green" )

    in conditional formatting, choose field value and select kpi color measure

6 Replies

  • kwpbi  create a measure for color like

     

    KPI Color = IF( [Value] < [Target] , "Red", "Green" )

    in conditional formatting, choose field value and select kpi color measure

    • kwpbi's avatar
      kwpbi
      Icon for Helper II rankHelper II

      Thanks, Parry2k, this is almost what I need... I think we need to take one step further?

       

      The [value] that I am reporting is a sum from a visual-level, relative-date filter. Can you think of a way to make this work when that [value] is not coming from a table?

      • parry2k's avatar
        parry2k
        Icon for Super User rankSuper User

        kwpbi you can create measure and use that in this if condition. Am I missing something here?

    • kwpbi's avatar
      kwpbi
      Icon for Helper II rankHelper II

      It took some trial and error, but I got this to work using a series of measures for each scenario. Here is what I came up with for my final code:

       

      WEEK-TAR =
      VAR WETAR =
          SUM('Sales Visuals Data'[Weekly Target])
      RETURN WETAR
       
      WEEK-COLOR =
      VAR WECOL =
          IF(SUM(YTD_Invoices[INVOICEAMOUNT])>='Sales Visuals Data'[WEEK-TAR],"GREEN","RED")
      RETURN WECOL

       

      MONTH-TAR =
      VAR MOTAR =
          SUM('Sales Visuals Data'[Monthly Target])
      RETURN MOTAR
       
      MONTH-COLOR =
      VAR MOCOL =
          IF(SUM(YTD_Invoices[INVOICEAMOUNT])>='Sales Visuals Data'[MONTH-TAR],"GREEN","RED")
      RETURN MOCOL

       

      2019-YTD-TAR =
      VAR YTDTAR =
          SUM('Sales Visuals Data'[2019 YTD Target])
      RETURN YTDTAR
       
      YTD-COLOR =
      VAR YTDCOL =
          IF(SUM(YTD_Invoices[INVOICEAMOUNT])>='Sales Visuals Data'[2019-YTD-TAR],"GREEN","RED")
      RETURN YTDCOL
       
      Thanks again for your help!

       

  • v-frfei-msft's avatar
    v-frfei-msft
    Icon for Community Support rankCommunity Support

    Hi kwpbi ,

     

    We can set condiftional formatting by filed value based on measure like this.

    Measure 2 = var a = SUM('FACT TABLE'[value])
    return
    IF(a>='target table'[Target var],"#01B8AA","#FD625E")

    Before that, we can create a target measure as below.

     

     

    Target var = var maxd = CALCULATE(MAX('target table'[date]),ALLSELECTED('target table'))
    return
    CALCULATE(MAX('target table'[target]),FILTER('target table','target table'[date] = maxd))

     

    Then we can get the result as below by table visual.