Forum Discussion

lightsaberluke's avatar
lightsaberluke
Regular Visitor
1 year ago
Solved

Shift Data by one row down

Hi, I am trying to create a new measure where I have my data from another row just shifted down one. I found a video that used the following formula but it did not work: 

Previous Year = Calculate (distinctcount('Sheet1' [Order ID]), DATEADD(Sheet1' [Order Date].[Date], -1, YEAR))

What I have: 

What I expect: 

 

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi lightsaberluke 

     

    Please try this:

    Here's a sample:

    Table:

    Then add an index column in powerquery:

    Next add a measure:

     

    MEASURE =
    VAR _currentIndex =
        MAX ( 'Table'[Index] )
    VAR _previousIndex =
        CALCULATE (
            MAX ( 'Table'[Index] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Index] < _currentIndex )
        )
    RETURN
        CALCULATE (
            SUM ( 'Table'[Values] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Index] = _previousIndex )
        )
    

     

    The result is as follow:

     

    Or if you have an date column:

    You can try this measure without an index column:

     

    MEASURE 2 =
    VAR _currentDate =
        MAX ( 'Table'[Date] )
    VAR _PreviousDate =
        CALCULATE (
            MAX ( 'Table'[Date] ),
            FILTER ( ALL ( 'Table' ), 'Table'[Date] < _currentDate )
        )
    RETURN
        CALCULATE (
            SUM ( 'Table'[Values] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Date] = _PreviousDate )
        )
    

     

     The result is as follow:

     

     

    Best Regards

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

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi lightsaberluke 

     

    Please try this:

    Here's a sample:

    Table:

    Then add an index column in powerquery:

    Next add a measure:

     

    MEASURE =
    VAR _currentIndex =
        MAX ( 'Table'[Index] )
    VAR _previousIndex =
        CALCULATE (
            MAX ( 'Table'[Index] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Index] < _currentIndex )
        )
    RETURN
        CALCULATE (
            SUM ( 'Table'[Values] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Index] = _previousIndex )
        )
    

     

    The result is as follow:

     

    Or if you have an date column:

    You can try this measure without an index column:

     

    MEASURE 2 =
    VAR _currentDate =
        MAX ( 'Table'[Date] )
    VAR _PreviousDate =
        CALCULATE (
            MAX ( 'Table'[Date] ),
            FILTER ( ALL ( 'Table' ), 'Table'[Date] < _currentDate )
        )
    RETURN
        CALCULATE (
            SUM ( 'Table'[Values] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Date] = _PreviousDate )
        )
    

     

     The result is as follow:

     

     

    Best Regards

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