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.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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
  • 1945 views
  • 0 likes
  • 3 in conversation