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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.