Forum Discussion

vivran22's avatar
vivran22
Community Champion
7 years ago
Solved

Customized Conditional Formatting (Using DAX)

Hi,

 

I am working on designing a solution and need help.

 

There are two facts table: Data and Target.

 

For certain KPIs, I need to compare Yearly/Monthly/Daily actual vs target. I am looking for applying conditional formatting using DAX. I am partial successful in the case if all the target comparision are either "Higher the better" or "Lower the Better". But if I want to dynamically apply the conditional formatting based on the filter selection, then how should I do it?

 

At present, I am using following DAX for conditional formating:

 
Revenue KPI Color (HTB) = SWITCH(
     TRUE()
     ,SUM(Data[KPI_Value]) > SUM(Target[KPI_Value]) , "#f44242"
     
     ,SUM(Data[KPI_Value]) < SUM(Target[KPI_Value]), "#5ff442",
     "#f44242"
)
Revenue KPI Color (LTB) = SWITCH(
     TRUE()
     ,SUM(Data[KPI_Value]) < SUM(Target[KPI_Value]) , "#f44242"
     
     ,SUM(Data[KPI_Value]) > SUM(Target[KPI_Value]), "#5ff442",
     "#f44242"
)

I have created a KPI table with the list of all available KPIs categories and sub-categories. I have included another column for flag for Lower the better. Using this table, I would like to drive the KPI color selection for Higher the Better or Lower the better.

 

Enclosing the sample pbix file here

 

Any help in this regard will be highly appreciated.

 

Thanks,

Vivek

  • MFelix's avatar
    MFelix
    7 years ago
    I had the same issue, forgot to mention you need to transform your column where you define lower is better to number.

    Referring to the column on the measures selection.

    Regards,
    MFelix

4 Replies

Replies have been turned off for this discussion
  • hI vivran22 ,

     

    You can use one of the two measure below to make your condittional formatting:

     

    Conditional Low and High =
    SWITCH (
        TRUE ();
        SUM ( Data[KPI_Value] ) > SUM ( Target[KPI_Value] )
            && SELECTEDVALUE ( 'KPI'[Lower The Better] ) = 0; "#f44242";
        SUM ( Data[KPI_Value] ) < SUM ( Target[KPI_Value] )
            && SELECTEDVALUE ( 'KPI'[Lower The Better] ) = 0; "#5ff442";
        SUM ( Data[KPI_Value] ) < SUM ( Target[KPI_Value] )
            && SELECTEDVALUE ( 'KPI'[Lower The Better] ) = 1; "#f44242";
        SUM ( Data[KPI_Value] ) > SUM ( Target[KPI_Value] )
            && SELECTEDVALUE ( 'KPI'[Lower The Better] ) = 1; "#5ff442";
        "#f44242"
    )
    
    Conditional Low and High = 
    IF(SELECTEDVALUE('KPI'[Lower The Better]) = 1 ; [Revenue KPI Color (LTB)]; [Revenue KPI Color (HTB)]
    )
    

    Not sure if the order is correct based on your file but the colours change when compared to the visuals you have on your report.

     

    Regards,

    MFelix

    • vivran22's avatar
      vivran22
      Community Champion

      MFelix 

       

      Hi,

       

      Thank you for your response. I have tried using both the DAX shared but I am not able to select the DAX under Format by - Field Value option (Conditional Formating). The DAX appears to be greyed out or something like that.

       

      Please advise.

       

      Thanks,

      Vivek

      • MFelix's avatar
        MFelix
        Super User
        I had the same issue, forgot to mention you need to transform your column where you define lower is better to number.

        Referring to the column on the measures selection.

        Regards,
        MFelix