Hey guys,
I hope anyone can help me on this.
I have a data set, which is continuously updated. For each observation, I have the time and date when the observations entered the data set. Currently I am calculating a number of metrics (means etc.) for the whole data set using a proc tabulate, which is working fine. However, I would like to perform my analysis not on the entire data set but only on the observations of the last 20 or 30 minutes from the moment, I request my metrics (System Time). Is there a way to include this restriction into a WHERE statement in the proc tabulate or is there a simple way to extract this time interval (last 20 min.) and create a new data set and then run the analysis?
Thank you guys.
Kind regards
One possibility is to put WHERE condition as a data set option, somewhere like:
PROC TABULATE data=foo (WHERE=);
CLASS ...;
VAR ...;
TABLE ...;
RUN;
Sort to a new dataset by descending time, then retain the time from _n_ = 1, and use a subsetting if with reference_time - 20*60 (as SAS time is stored in seconds)
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.