Data have;
input Date:mmddyy10. time:time5. Count;
format date date9. time time5.;
cards;
5/11/2017 1:50 2
5/11/2017 2:30 3
5/11/2017 2:50 8
5/11/2017 1:10 4
;
proc sql;
create table want as select distinct hour(time) as hour, sum(count) as count from have group by hour(time);
quit;
data have;
input _date :ddmmyy10. time :time5. count;
date = _date * 86400 + time;
format date datetime19.;
drop _date time;
cards;
5/11/2017 1:50 2
5/11/2017 2:30 3
5/11/2017 2:50 8
5/11/2017 1:10 4
;
run;
data int;
set have;
hour = intnx('hour',date,0,'begin');
format hour datetime19.;
run;
proc summary data=int nway;
class hour;
var count;
output out=want (keep=hour count) sum(count)=count;
run;
proc print data=want noobs;
run;
Result:
hour count 05NOV2017:01:00:00 6 05NOV2017:02:00:00 11
I used datetime values because you never can be sure that you'll only deal with one day.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.