Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello I would like to obtain this result
I want to make a cumulative sum each in relation to my previous value, my base value is that of B
| index | A | B |
| 1 | 10 | 15 |
| 2 | 20 | =15+20=35 |
| 3 | 30 | =35+30=65 |
| 4 | 40 | =65+40=105 |
Result:
| Index | A | B |
| 1 | 10 | 15 |
| 2 | 20 | 35 |
| 3 | 30 | 65 |
| 4 | 40 | 105 |
Solved! Go to Solution.
Hi @Anonymous ,
powerbidev123's reply could return the result you want. However if A1 is not 10, it will not work. I don't suggest you to use EARLIER() function, it may cause bad performance if you have large size of data.
You can also try my code to create a calculated column.
B =
VAR _B1 = 15
VAR _CurrentIndex = 'Table'[index]
RETURN
IF (
'Table'[index] = 1,
_B1,
_B1
+ CALCULATE (
SUM ( 'Table'[A] ),
FILTER ( 'Table', 'Table'[index] > 1 && 'Table'[index] <= _CurrentIndex )
)
)
Result is as below.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
powerbidev123's reply could return the result you want. However if A1 is not 10, it will not work. I don't suggest you to use EARLIER() function, it may cause bad performance if you have large size of data.
You can also try my code to create a calculated column.
B =
VAR _B1 = 15
VAR _CurrentIndex = 'Table'[index]
RETURN
IF (
'Table'[index] = 1,
_B1,
_B1
+ CALCULATE (
SUM ( 'Table'[A] ),
FILTER ( 'Table', 'Table'[index] > 1 && 'Table'[index] <= _CurrentIndex )
)
)
Result is as below.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous , Let me know if this helps
@Anonymous , Try using
Cumulative B =
CALCULATE(
SUM(test[A]),
FILTER(
ALL(test),
test[Index] <= MAX(test[Index])
)
) + MIN(test[B])
Proud to be a Super User! |
|
@Anonymous , Try using
B =
IF (
test[Index] = 1,
test[B],
test[A] +
CALCULATE(
MAX(test[B]),
FILTER(
test,
test[Index] = EARLIER(test[Index]) - 1
)
)
)
Proud to be a Super User! |
|
hi @bhanu_gautam thank you for your feedback, but I would like to fill my column B from the second and each time by making my value from the current line of my column A + my last value from the previous line of column B
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 36 | |
| 33 | |
| 32 | |
| 29 |
| User | Count |
|---|---|
| 129 | |
| 88 | |
| 79 | |
| 68 | |
| 63 |