Couple of ways of doing it, you could assign a group (rather than 1-sec mark, increase it to 1 se, 2 sec etc.) then means by the group variable. Or you could have a retained value in a datastep, e.g. (not tested, post test data in the form of a datastep in future):
data want (drop=tot_trade);
set have;
by group;
retain tot_trade;
if first.group then tot_trade=0;
if type="Trade" then tot_trade=sum(tot_trade,volume);
if type="1-sec mark" and not first.group then do;
volume=tot_trade;
tot_trade=0;
end;
run;
Couple of ways of doing it, you could assign a group (rather than 1-sec mark, increase it to 1 se, 2 sec etc.) then means by the group variable. Or you could have a retained value in a datastep, e.g. (not tested, post test data in the form of a datastep in future):
data want (drop=tot_trade);
set have;
by group;
retain tot_trade;
if first.group then tot_trade=0;
if type="Trade" then tot_trade=sum(tot_trade,volume);
if type="1-sec mark" and not first.group then do;
volume=tot_trade;
tot_trade=0;
end;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.