Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Comparing Current Price to Previous PRice

Hi,    I need to compare any price changes in our purchase data per SKU. I've figured out to create a measure for the Current price, but need help to create a measure for Previouse price (=The last...
  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Anonymous 

    My Sample:

    Try measure codes as below.

    Current Price = 
    VAR _LastDate =
        MAXX (
            FILTER ( ALL ( 'Table' ), 'Table'[Product] = MAX ( 'Table'[Product] ) ),
            'Table'[Date]
        )
    VAR _CurrentPrice =
        CALCULATE (
            MAX ( 'Table'[List Price] ),
            FILTER (
                ALL ( 'Table' ),
                AND ( 'Table'[Product] = MAX ( 'Table'[Product] ), 'Table'[Date] = _LastDate )
            )
        )
    RETURN
        _CurrentPrice
    
    Previous Price =
    VAR _LastDate =
        MAXX (
            FILTER ( ALL ( 'Table' ), 'Table'[Product] = MAX ( 'Table'[Product] ) ),
            'Table'[Date]
        )
    VAR _PreviousDate =
        CALCULATE (
            MAX ( 'Table'[Date] ),
            FILTER (
                ALL ( 'Table' ),
                'Table'[Product] = MAX ( 'Table'[Product] )
                    && 'Table'[Date] < _LastDate
                    && 'Table'[List Price] <> [Current Price]
            )
        )
    VAR _PreviousPrice =
        CALCULATE (
            MAX ( 'Table'[List Price] ),
            FILTER (
                ALL ( 'Table' ),
                AND (
                    'Table'[Product] = MAX ( 'Table'[Product] ),
                    'Table'[Date] = _PreviousDate
                )
            )
        )
    RETURN
        _PreviousPrice

    Then create a matrix add Product in Column field in Matrix and add measures in Value field. Then use Show on row function in Matrix format. Result is as below.

    Best Regards,
    Rico Zhou

     

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