|
Non-SQL approach:
data temp;
set first_obs;
timea = put(rawtime,z6.);
time = hms(substr(timea,1,2),substr(timea,3,2),substr(timea,5,2));
format date1 date9. time time8.;
run;
proc sort;by date1 time;
data temp;
retain basetime;
set temp;
by date1 time;
if first.date1 then basetime=time;
diff = floor ( ( abs( (basetime - time) / 60 ) ) / 5 ) ;
format basetime time8.;
run;
proc sort;by date1 time diff;
data temp;
set temp;
by date1 diff time ;
if first.diff;
keep date1 time price;
run;
proc print;
var date1 time price;
|