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! Learn more
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]))
Solved! Go to Solution.
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
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
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
)
)
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
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.