Forum Discussion

samcasce's avatar
samcasce
New Member
7 years ago
Solved

Conditional Formatting basede on previous values the Matrix columns

Hi, can someone tell me if we can format the values of the Matrix as required:

The Icon un each row depends of value on the previous column on that same row.

  • You can create this measure:

     

    Icon =
    VAR _val =
     CALCULATE ( SUM (  Sales[Sales] ) )
    -
     CALCULATE (  SUM ( Sales[Sales] ),
            PREVIOUSMONTH ( 'DateTime'[Date] )    )
            
    RETURN
        SWITCH ( TRUE (),
     
    _val < 0-1
    _val = 00,
     _val > 
    01 )

     Change the RED to match your columns!

     

    Then, on your matrix, go to the format properties.
    Under conditional formatting, select the column and turn on icons, then click advanced editor:

     

    In advanced controls, select the following options:

     

     

    Want even more help with icons?! Check this awesome blog!

    https://powerbi.tips/2019/07/icons-upon-icons/

     

    Happy icon-ing :catlol: :womantongue: :robotlol:

6 Replies

  • SteveCampbell's avatar
    SteveCampbell
    Memorable Member

    You can create this measure:

     

    Icon =
    VAR _val =
     CALCULATE ( SUM (  Sales[Sales] ) )
    -
     CALCULATE (  SUM ( Sales[Sales] ),
            PREVIOUSMONTH ( 'DateTime'[Date] )    )
            
    RETURN
        SWITCH ( TRUE (),
     
    _val < 0-1
    _val = 00,
     _val > 
    01 )

     Change the RED to match your columns!

     

    Then, on your matrix, go to the format properties.
    Under conditional formatting, select the column and turn on icons, then click advanced editor:

     

    In advanced controls, select the following options:

     

     

    Want even more help with icons?! Check this awesome blog!

    https://powerbi.tips/2019/07/icons-upon-icons/

     

    Happy icon-ing :catlol: :womantongue: :robotlol:

    • samcasce's avatar
      samcasce
      New Member

      Hi Steve, This solution is perfect!!

      Thank's

    • MarlonK's avatar
      MarlonK
      Helper I

      Is there a way to do this comparison against the previous week instead of the previous month?

      I noticed there is no PREVIOUSWEEK() function...

       

      Thanks!

    • lewisdjl's avatar
      lewisdjl
      Frequent Visitor

      Hi - when I follow this solution all my formatting is returning an increase from the previous month - even when there's a decrease in value. I added the measure to a matrix and all the values are 1. 

      My date field is in Date format and I've also tried when set to DateTime.
      Can you help please?

      Many thanks

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi SteveCampbell 

     

    How does this work for colums with weeknumbers? There is no "previousweek" formula in PBI 😞 

    I use this formula:

    Icon =
    VAR _val =
    CALCULATE ( SUM ( Datagrunnlag[Antall solgt]) )
    -
    CALCULATE ( SUM ( Datagrunnlag[Antall solgt] ),
    Dates[Weeknumber]-1)
     
    RETURN
    SWITCH ( TRUE (),
    _val < 0, -1,
    _val = 0, 0,
    _val > 0, 1 )


    See screenshot

     

    • SteveCampbell's avatar
      SteveCampbell
      Memorable Member

      Use a date table with an index (Example here) 

       

      The week index is rolling, with current week being 0, last week -1 and so on. So whatever week you need, you can get the week index and subtract 1 to always get the previous. This way, it doesn't matter if you week falls in a different year.

       

      You need to assign this to a variable and filter the dates table on it:

       

      Icon =
      VAR _lastweek = SELECTEDVALUE('Dates'[week index]) - 1
      VAR _val =
      CALCULATE ( SUM ( Datagrunnlag[Antall solgt]) )
      -
      CALCULATE ( SUM ( Datagrunnlag[Antall solgt] ),
      Dates[week index] = _lastweek )
       
      RETURN
      SWITCH ( TRUE (),
      _val < 0, -1,
      _val = 0, 0,
      _val > 0, 1 )