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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
David-Menacho
Frequent Visitor

Cumulative Sum with condicion

Hi i want to implement the next measure, which is similar to a cumulative sum but with a Max conditional

 

DavidMenacho_0-1707338894045.png

 

The formula for the measure is:

- first value is 0

- for the rest: value is Max Between the prev measure plus actual value minus a constant (in this case 1) And 0

 

Adding an example in text format

 

DateValueMeasure
30/06/202110
01/07/202121
02/07/202155
03/07/2021610
06/07/2021413
07/07/2021214
08/07/2021518
09/07/2021118
10/07/2021421
11/07/2021222

 

¿Someone has a solution for this?

¡Thanks for your help!

 

Regards

 

1 ACCEPTED SOLUTION
Daniel29195
Super User
Super User

@David-Menacho 

output : 

Daniel29195_0-1707339488326.png

use the meaure below : 

this measure assume that you are reading the date from the same table , 

if not,  then simply change allselected(tbl_name[date])  to allselected(dimdate[date]) and orderby(dimdate[date], asc)

Measure 10 = 
var prev_value = 
CALCULATE(
    SUM('tbl_name'[Value]),
    OFFSET(
        -1,
        ALLSELECTED('tbl_name'[date]),
        ORDERBY('tbl_name'[date] , asc)
    )
)

return 
MAX(0,SUM('tbl_name'[Value]) - 1 + prev_value)

 

 

let me know if it works for you .

 

 

 

If my answer helped sort things out for you, i would appreciate a thumbs up 👍 and mark it as the solution
It makes a difference and might help someone else too. Thanks for spreading the good vibes! 🤠

 

View solution in original post

4 REPLIES 4
Daniel29195
Super User
Super User

@David-Menacho 

output : 

Daniel29195_0-1707339488326.png

use the meaure below : 

this measure assume that you are reading the date from the same table , 

if not,  then simply change allselected(tbl_name[date])  to allselected(dimdate[date]) and orderby(dimdate[date], asc)

Measure 10 = 
var prev_value = 
CALCULATE(
    SUM('tbl_name'[Value]),
    OFFSET(
        -1,
        ALLSELECTED('tbl_name'[date]),
        ORDERBY('tbl_name'[date] , asc)
    )
)

return 
MAX(0,SUM('tbl_name'[Value]) - 1 + prev_value)

 

 

let me know if it works for you .

 

 

 

If my answer helped sort things out for you, i would appreciate a thumbs up 👍 and mark it as the solution
It makes a difference and might help someone else too. Thanks for spreading the good vibes! 🤠

 

thanks! it was what i needed

vanessafvg
Super User
Super User

so are you saying you want the max value please provide an example of what right looks like and supply the data in text format.





If I took the time to answer your question and I came up with a solution, please mark my post as a solution and /or give kudos freely for the effort 🙂 Thank you!

Proud to be a Super User!




thanks for your time, i edited my question

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.