My reply is like Pradosh's.
Maybe something like this
if(Date=peek('Date') and Area = peek('Area') and Program = peek('Program'),
Rangesum(WIP,Processed,peek('WIP'))) as [WIP Inbound],
order by Area,Program,Date;
rename Temp to Yo
can you try this
1:sort say table A by Area,date such that area 'a' with all dates comes first then 'b' then the next area and so on.
2:use the above table as resident load or preceding load and add an extra column "yesterday's WIP" useing peek('WIP',ROWNO()-1,'A')
3: Then calculate the new column (WIP-(yesterday's WIP-Processed) as the new column "WIP inbound"