Forum Discussion

gjloureiro's avatar
gjloureiro
Frequent Visitor
8 years ago
Solved

Compare value between two dates

I need two compare two value between two date.

I have a list with customers, product, price and sell date, and i need to know when the price by customer was readjusted.

 

  • Hi gjloureiro

     

    Try these MEASURES

     

    Actual Price =
    CALCULATE (
        VALUES ( TableName[PRICE] ),
        FILTER (
            ALLEXCEPT ( TableName, TableName[CLIENT] ),
            TableName[DATE] = MAX ( TableName[DATE] )
        )
    )
    Date of Actual Price =
    CALCULATE (
        LASTDATE ( TableName[DATE] ),
        ALLEXCEPT ( TableName, TableName[CLIENT] )
    )
  • Zubair_Muhammad's avatar
    Zubair_Muhammad
    8 years ago

    gjloureiro

     

    Following MEASURES for the previous/last DATE and VALUE

     

    lastdate =
    VAR last_price = [Actual Price]
    RETURN
        CALCULATE (
            MAX ( TableName[DATE] ),
            FILTER (
                ALLEXCEPT ( TableName, TableName[CLIENT] ),
                TableName[Actual Price] <> last_price
            )
        )

     

    lastvalue =
    VAR priordate = [LastDate]
    RETURN
        CALCULATE (
            VALUES ( TableName[PRICE] ),
            FILTER (
                ALLEXCEPT ( TableName, TableName[CLIENT] ),
                TableName[DATE] = priordate
            )
        )
  • Anonymous's avatar
    Anonymous
    8 years ago

    Hi gjloureiro,

     

    You can try to use below table formula to get the analysed table.

     

    Original table:

    Formula:

    Table = 
    ADDCOLUMNS (
        SUMMARIZE (
            'Sample',
            [CLIENT],
            [ITEM],
            "Min", MIN ( 'Sample'[PRICE] ),
            "Max", MAX ( 'Sample'[PRICE] )
        ),
        "Last Min Price Date", MAXX (
            FILTER (
                'Sample',
                [CLIENT] = EARLIER ( [CLIENT] )
                    && [ITEM] = EARLIER ( [ITEM] )
                    && [PRICE] = EARLIER ( [Min] )
            ),
            [DATE]
        ),
        "Last Max Price Date", MAXX (
            FILTER (
                'Sample',
                [CLIENT] = EARLIER ( [CLIENT] )
                    && [ITEM] = EARLIER ( [ITEM] )
                    && [PRICE] = EARLIER ( [Max] )
            ),
            [DATE]
        )
    )
    

     

     

     

    Regards,

    Xiaoxin Sheng

5 Replies

  • Zubair_Muhammad's avatar
    Zubair_Muhammad
    Community Champion

    Hi gjloureiro

     

    Try these MEASURES

     

    Actual Price =
    CALCULATE (
        VALUES ( TableName[PRICE] ),
        FILTER (
            ALLEXCEPT ( TableName, TableName[CLIENT] ),
            TableName[DATE] = MAX ( TableName[DATE] )
        )
    )
    Date of Actual Price =
    CALCULATE (
        LASTDATE ( TableName[DATE] ),
        ALLEXCEPT ( TableName, TableName[CLIENT] )
    )
    • Zubair_Muhammad's avatar
      Zubair_Muhammad
      Community Champion

      gjloureiro

       

      Following MEASURES for the previous/last DATE and VALUE

       

      lastdate =
      VAR last_price = [Actual Price]
      RETURN
          CALCULATE (
              MAX ( TableName[DATE] ),
              FILTER (
                  ALLEXCEPT ( TableName, TableName[CLIENT] ),
                  TableName[Actual Price] <> last_price
              )
          )

       

      lastvalue =
      VAR priordate = [LastDate]
      RETURN
          CALCULATE (
              VALUES ( TableName[PRICE] ),
              FILTER (
                  ALLEXCEPT ( TableName, TableName[CLIENT] ),
                  TableName[DATE] = priordate
              )
          )
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi gjloureiro,

     

    You can try to use below table formula to get the analysed table.

     

    Original table:

    Formula:

    Table = 
    ADDCOLUMNS (
        SUMMARIZE (
            'Sample',
            [CLIENT],
            [ITEM],
            "Min", MIN ( 'Sample'[PRICE] ),
            "Max", MAX ( 'Sample'[PRICE] )
        ),
        "Last Min Price Date", MAXX (
            FILTER (
                'Sample',
                [CLIENT] = EARLIER ( [CLIENT] )
                    && [ITEM] = EARLIER ( [ITEM] )
                    && [PRICE] = EARLIER ( [Min] )
            ),
            [DATE]
        ),
        "Last Max Price Date", MAXX (
            FILTER (
                'Sample',
                [CLIENT] = EARLIER ( [CLIENT] )
                    && [ITEM] = EARLIER ( [ITEM] )
                    && [PRICE] = EARLIER ( [Max] )
            ),
            [DATE]
        )
    )
    

     

     

     

    Regards,

    Xiaoxin Sheng