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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
ricardo9
New Member

Cumulative that reset

Hey everyone,

I need to sum a cumulative way that will stop at some point and reset the sum:
Example:

Product          idorder       repeat       new column *
Product A          1                                     0
Product B          1                                     0
Product A          2                1                   1
Product A          3                1                   2
Product C          3                                     0
Product C          4                1                   1
Product A         5                                      0
Product A         6                 1                   1

 

So if the same products repeat in the next id order it wil give 1 and if repeats again 2... But if the next one the product is not there and repeats again, the cumulative will reset and start over.

 

I try this one but only generetas cumulative by the sequence, i don't know how to reset:

CALCULATE(sum(m[repeat]),FILTER(m,m[product]=EARLIER(m[product])),m[idorder] <=EARLIER(m[idorder]))

1 ACCEPTED SOLUTION

13 REPLIES 13
lbendlin
Super User
Super User

So if the same products repeat in the next id order

That's too vague.   Did you mean to say "if any product repeats across orders"?  What if order 2 had product C as well?

it can't, the id order doesn't repeat the product

lbendlin_0-1727721125036.png

 

not correct, i need to create New Column* that i put there

as I said, the requirement is too vague. What if Product C is part of idOrder 2 ?  What would be the expected result?

As i said it wont happen because de order does not accept the same product

I don't know what that means.  Both orders 1 and 3 have two products. why can order 2 not have two products?

Just can't be the same product, a order can have a lot of products

What is the expected outcome for 

 

Product      idorder

Product A   1
Product B   1
Product A   2
Product C   2
Product A   3
Product C   3
Product C   4
Product A   5
Product A   6

Product idorder New column

Product A 1 0
Product B 1 0
Product A 2 1
Product C 2 0
Product A 3 2
Product C 3 1
Product C 4 2
Product A 5 0
Product A 6 1

lbendlin_1-1727727595682.png

 

Kaviraj11
Super User
Super User

Hi,

 

Here’s the DAX formula you can use:

NewColumn = 
VAR CurrentProduct = m[Product]
VAR CurrentOrder = m[idorder]
VAR PreviousOrder = 
    CALCULATE(
        MAX(m[idorder]),
        FILTER(
            m,
            m[Product] = CurrentProduct && m[idorder] < CurrentOrder
        )
    )
VAR PreviousValue = 
    CALCULATE(
        MAX(m[NewColumn]),
        FILTER(
            m,
            m[Product] = CurrentProduct && m[idorder] = PreviousOrder
        )
    )
RETURN
IF(
    ISBLANK(PreviousOrder),
    0,
    IF(
        ISBLANK(PreviousValue),
        1,
        PreviousValue + 1
    )
)



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





it doesn't work the New Column does not exist yet so the MAX  can't have it, i'm trying to create this new column

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors