Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! 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 @Lebron45 ,
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 @Lebron45 ,
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 @Lebron45 , Let me know if this helps
@Lebron45 , 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! |
|
@Lebron45 , 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
User | Count |
---|---|
105 | |
69 | |
48 | |
47 | |
47 |