Forum Discussion

PhilippMer's avatar
PhilippMer
Frequent Visitor
4 years ago
Solved

Dax Function retrieve value from previous entry

Hello, I have come across a problem, and im not able to find the right expression in DAX to solve it so far. 

I have a Table with Data from a LinkedIn profile, there are over 90 different Posts and the corresponding amount of Views on every single day. I would like a Column to have the the Value of the amount of Views from the previews day, so that I can make a simple Calculation of how many new Views per day each post had. My table looks like the following:

I tried going through the LogDate with Earlier...but so far had no success. There is no ID only the PostText as a String. Any recommendations on how I could get to the solution?

 

Thanks in advance!

  • tamerj1's avatar
    tamerj1
    4 years ago

    PhilippMer 

    Sorry my mistake 

    Previous Day Views =
    VAR CurrentDate = TableName[LogDate]
    VAR PostTable =
        CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[PostText] ) )
    VAR PreviousDate =
        MAXX (
            FILTER ( PostTable, TableName[LogDate] < CurrentDate ),
            TableName[LogDate]
        )
    RETURN
        MAXX (
            FILTER ( PostTable, TableName[LogDate] = PreviousDate ),
            TableName[PostViews]
        )

4 Replies

  • tamerj1's avatar
    tamerj1
    Community Champion

    Hi PhilippMer 

    please use

    Previous Day Views =
    VAR CurrentDate = TableName[LogDate]
    VAR PostTable =
        CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[PostText] ) )
    VAR PreviousDate =
        MAXX (
            FILTER ( PostTable, TableName[LogDate] < CurrentDate ),
            TableName[LogDate]
        )
    RETURN
        MAXX (
            FILTER ( PostTable, TableName[LogDate] < PreviousDate ),
            TableName[PostViews]
        )
    • PhilippMer's avatar
      PhilippMer
      Frequent Visitor

      Hi tamerj1 

      thank you so much for your quick reply. The formula almost works as expected. I think for some reason it takes the Numbers 2 entries from before and not the first entrie before of the current date. 

      Screenshot: 

      Do you know why this is happening?

      • tamerj1's avatar
        tamerj1
        Community Champion

        PhilippMer 

        Sorry my mistake 

        Previous Day Views =
        VAR CurrentDate = TableName[LogDate]
        VAR PostTable =
            CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[PostText] ) )
        VAR PreviousDate =
            MAXX (
                FILTER ( PostTable, TableName[LogDate] < CurrentDate ),
                TableName[LogDate]
            )
        RETURN
            MAXX (
                FILTER ( PostTable, TableName[LogDate] = PreviousDate ),
                TableName[PostViews]
            )