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.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.