Forum Discussion
Running Total
- 10 years ago
Eyy, I think I got it. Try this:
RunningTotal2 = MAXX(Table1, SUMX( FILTER( SUMMARIZE(CALCULATETABLE(Table1, ALLEXCEPT(Table1, Table1[Building]), ALLSELECTED(Table1[Building])), Table1[MachineName], "NetVal", SUM(Table1[Fabrication Net Value])), [NetVal] >= SUMX(FILTER(CALCULATETABLE(Table1, ALLEXCEPT(Table1, Table1[Building]), ALLSELECTED(Table1[Building])), Table1[MachineName]= EARLIER(Table1[MachineName], 2)), Table1[Fabrication Net Value])) , [NetVal]))
Hopefully you can see how that would scale out to other columns if you had multiple filters.
It is the total of several rows per machine.
If you have the ranking created already, you can probably just replace the Fabrication Net Value with Ranking everywhere but in the SUM, and it should work.
I could write a new measure but this seems like the easiest way.
MAXX(vwScalesDataFabricationNetValue, CALCULATE(SUM(vwScalesDataFabricationNetValue[Fabrication Net Value]), vwScalesDataFabricationNetValue[Ranking] >= EARLIER(vwScalesDataFabricationNetValue[Ranking]), ALL(vwScalesDataFabricationNetValue)))
- Lucy6410 years agoAdvocate II
Tried it but got an error :
A function 'CALCULATE' has been used in a True/False expression that is used as a table filter expression. This is not allowed.
The ranking is a measure not a calculated column, does that make a difference? I have underlined the section highlighted for error.
Running Total = MAXX(vwScalesDataFabricationNetValue, CALCULATE(SUM(vwScalesDataFabricationNetValue[Fabrication Net Value]), vwScalesDataFabricationNetValue[Ranking] >= EARLIER(vwScalesDataFabricationNetValue[Ranking]), ALL(vwScalesDataFabricationNetValue)))
- jahida10 years agoImpactful Individual
Ok, yeah the fact that it's a measure does make a difference, but I should have guessed that, my bad. Anyway, try this:
RunningTotal2 = MAXX(Table1, SUMX( FILTER( SUMMARIZE(ALL(Table1), Table1[MachineName], "NetVal", SUM(Table1[Fabrication Net Value])), [NetVal] >= SUMX(FILTER(ALL(Table1), Table1[MachineName]= EARLIER(Table1[MachineName], 2)), Table1[Fabrication Net Value])) , [NetVal]))
Works on my local, although my testing data might not be perfect (obviously it wasn't the first time).
- Lucy6410 years agoAdvocate II
Thanks, well that worked for all the data, now what if I want to filter. The Machines are alocated to Buildings so when I filter on building it does not recalc, is this where I need to use ALLEXCEPT instead of ALL?
By the way I am very greatful for your help.