Forum Discussion
Calculating the SUM based on another table
Hi All,
I have the above tables and I would like to Calculate the sum of all back orders that can be filled where the IN SHIP stock can fill, per each x and y table.
I tried the Calculate(sum(x[back orders), IN SHIP[state]="x", USERELATIONSHIP(x[title],IN SHIP[title])).
I think I may have to use Filter instead of userelationship, but not sure how to.
Could you please help?
Thank you!
- Anonymous3 years ago
Hi Krupture ,
According to your description, here are my steps you can follow as a solution.
(1) My test data is the same as yours.
(2) We can create a measure.
Measure = SWITCH(TRUE(), MAX('IN SHIP'[State])="x",CALCULATE(SUM('x state Back Orders'[Back Orders]),FILTER(ALL('x state Back Orders'),'x state Back Orders'[State]=MAX('IN SHIP'[State])&& 'x state Back Orders'[Title]=MAX('IN SHIP'[Title]))), MAX('IN SHIP'[State])="y",CALCULATE(SUM('y state Back Orders'[Back Orders]),FILTER(ALL('y state Back Orders'),'y state Back Orders'[State]=MAX('IN SHIP'[State]) && 'y state Back Orders'[Title]=MAX('IN SHIP'[Title]))),BLANK())(3) Then the result is as follows.
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
4 Replies
- AnonymousNot applicable
Hi Krupture ,
According to your description, here are my steps you can follow as a solution.
(1) My test data is the same as yours.
(2) We can create a measure.
Measure = SWITCH(TRUE(), MAX('IN SHIP'[State])="x",CALCULATE(SUM('x state Back Orders'[Back Orders]),FILTER(ALL('x state Back Orders'),'x state Back Orders'[State]=MAX('IN SHIP'[State])&& 'x state Back Orders'[Title]=MAX('IN SHIP'[Title]))), MAX('IN SHIP'[State])="y",CALCULATE(SUM('y state Back Orders'[Back Orders]),FILTER(ALL('y state Back Orders'),'y state Back Orders'[State]=MAX('IN SHIP'[State]) && 'y state Back Orders'[Title]=MAX('IN SHIP'[Title]))),BLANK())(3) Then the result is as follows.
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- KruptureFrequent Visitor
Apologies about the delay, due to personal circumstances. I will report back tomorrow.
- KruptureFrequent Visitor
Hi All,
Did I post this in the wrong section? Apologies if I did, any help is hugely appreciated!
Thank you!
- KruptureFrequent Visitor
Anonymous Thank you so much! I will report back on how I go with this