Please supply your data as a datastep, like this (also do it for the data you want as output):
data ppp;
input id var;
cards;
1 100
1 500
1 -300
1 -500
1 -200
1 100
1 -800
1 -200
2 500
2 -700
2 -200
2 500
;run;
I think that what you want can be accomplished like this:
data want;
set ppp;
by id;
if first.id then
var_cum=var;
else var_cum+var;
if var_cum<0 then do;
var2=0;
var_cum=var_cum-var;
end;
else
var2=var;
run;
... View more