BookmarkSubscribeRSS Feed
srinivaschary
Calcite | Level 5
Hi,
I want create hour bocket FROM DDMMYY HH:MM:SS format can you please explain how to do
Data set
Date Count
5/11/2017 1:50 2
5/11/2017 2:30 3
5/11/2017 2:50 8
5/11/2017 1:10 4

Expected
Hour (Bucket) Count
1 6
2 11
2 REPLIES 2
Jagadishkatam
Amethyst | Level 16
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;

Thanks,
Jag
Kurt_Bremser
Super User
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.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

SAS Enterprise Guide vs. SAS Studio

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1687 views
  • 0 likes
  • 3 in conversation