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.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.