Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
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 number | open count | close count | backlog |
| 30 | 30 | 32 | 40 |
| 31 | 25 | 15 | |
| 32 | 55 | 60 | |
| 33 | 45 | 40 | |
| 34 | 32 | 28 | |
| 35 | 20 | 26 | |
| 36 | 26 | 24 |
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
Solved! Go to Solution.
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
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
)
)
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
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
)
)
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 5 | |
| 5 | |
| 4 |
| User | Count |
|---|---|
| 25 | |
| 16 | |
| 8 | |
| 7 | |
| 7 |