## Desktop

Frequent Visitor
Posts: 3
Registered: ‎09-06-2018

# Calculate sum on higher level - unexpected result

Hi,

maybe you can help me by solving the following issue. I want calculate the total sum of some products. If the total sum for each product is lower than zero, it shall get the value zero. On product level this works properly with the formula below, but not on higher aggregated level.

 Product Stock Dispatch Total Reality A 1000 -800 200 200 B 0 -100 -100 0 C 200 -100 100 100 D 200 -300 -100 0 100 100

Instead of the red marked 100 pcs, I expect a value of 300 pcs.

Currently I use the following formula / measure, to calculate the value along the time:

CumStockQty =
VAR Reality = CALCULATE(StockData_Stock[Stock Qty] - StockData_Dispatch[Total Dispatch Qty1];
FILTER(all(StockData_Date); [Date] >= max(StockData_Date[Date]) - 365 && [Date] <= max(StockData_Date[Date])))

VAR z = if(Total>0;Total;0)
Return z

Any idea what I can adjust to get a figure of 300 pcs on the highest aggregation level?

Super User
Posts: 10,446
Registered: ‎07-11-2015

## Re: Calculate sum on higher level - unexpected result

This looks like a measure totals problem. Very common. See my post about it here: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

Also, see The Final Word on Measure Totals:

https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Proud to be a Datanaut!

Highlighted
Frequent Visitor
Posts: 3
Registered: ‎09-06-2018

## Re: Calculate sum on higher level - unexpected result

Hi Greg,

CumStockQty_real =
VAR single = CALCULATE(StockData_MasterData[Stock Qty] + StockData_Receipt[Total Receipt Qty] + StockData_Dispatch[Total Dispatch Qty1];
FILTER(all(StockData_Date); [Date] >= max(StockData_Date[Date]) - 365 && [Date] <= max(StockData_Date[Date])))

VAR total = SUMMARIZE(StockData_Date;StockData_Date[Date];"Qty";if(single > 0; single;0))

RETURN if(HASONEVALUE(StockData_MasterData[ItemNumber]);if(single > 0; single;0);SUMX(total;[Qty]))

But at the end, I get out the same result:

Do you have an idea, what I'm doing wrong?

Thx