Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Score big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount

Reply
chaitanya2487
New Member

DAX previous value calculate row value

Hi 

 I'm in need of your assistance with a DAX function.

I'm facing challenges when it comes to calculating a column value based on the previous row's value.

Here's a sample dataset I'm working with:

week numberopen countclose countbacklog
30303240
312515 
325560 
334540 
343228 
352026 
362624 

In the dataset, I want to calculate the "backlog" column, which should be determined by the formula:

backlog = previous week's backlog + opencount - closecount.

For example, for week 31, the backlog should be calculated as the backlog of week 30 + opencount of week 31 - closecount of week 31.

I've attempted to create several DAX expressions, but I keep encountering circular dependency issues. Your assistance in resolving this matter would be greatly appreciated.

Thanks 
Chaitanya D

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi, 

I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

 

Jihwan_Kim_0-1698643086651.png

 

 

 

Backlog measure: =
VAR _startweeknumber =
    CALCULATE ( MIN ( Data[week number] ), REMOVEFILTERS () )
VAR _currentrowweeknumber =
    MAX ( Data[week number] )
VAR _startbacklog = 40
RETURN
    IF (
        HASONEVALUE ( Data[week number] ),
        SWITCH (
            TRUE (),
            MAX ( Data[week number] ) = _startweeknumber, _startbacklog,
            CALCULATE (
                SUMX ( Data, Data[open count] - Data[close count] ),
                FILTER (
                    ALL ( Data ),
                    Data[week number] > _startweeknumber
                        && Data[week number] <= _currentrowweeknumber
                )
            ) + _startbacklog
        )
    )

 


If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

View solution in original post

1 REPLY 1
Jihwan_Kim
Super User
Super User

Hi, 

I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

 

Jihwan_Kim_0-1698643086651.png

 

 

 

Backlog measure: =
VAR _startweeknumber =
    CALCULATE ( MIN ( Data[week number] ), REMOVEFILTERS () )
VAR _currentrowweeknumber =
    MAX ( Data[week number] )
VAR _startbacklog = 40
RETURN
    IF (
        HASONEVALUE ( Data[week number] ),
        SWITCH (
            TRUE (),
            MAX ( Data[week number] ) = _startweeknumber, _startbacklog,
            CALCULATE (
                SUMX ( Data, Data[open count] - Data[close count] ),
                FILTER (
                    ALL ( Data ),
                    Data[week number] > _startweeknumber
                        && Data[week number] <= _currentrowweeknumber
                )
            ) + _startbacklog
        )
    )

 


If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.