Let's say I have this kind of data:
Year | Month | Day | Hour |
2009 | 1 | 12 | 23 |
2009 | 1 | 13 | 22 |
2009 | 2 | 16 | 13 |
2010 | 3 | 4 | 11 |
Is there a way I can make a new variable called Weekday where 1=Monday 2=Tuesday etc.?
data have;
input Year Month Day Hour;
datalines;
2009 1 12 23
2009 1 13 22
2009 2 16 13
2010 3 4 11
;
data want;
set have;
date=mdy(Month, Day, Year);
WeekDay=weekday(date)-1;
format date date9.;
run;
EDIT: Subtracted 1 when using the Weekday Function. Weekday function assumes sunday=1.
data have;
input Year Month Day Hour;
datalines;
2009 1 12 23
2009 1 13 22
2009 2 16 13
2010 3 4 11
;
data want;
set have;
date=mdy(Month, Day, Year);
WeekDay=weekday(date)-1;
format date date9.;
run;
EDIT: Subtracted 1 when using the Weekday Function. Weekday function assumes sunday=1.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.