I have variables in my data set for both the week number and year number. I am looking for a way to convert them to a date column (MM/DD/YYYY or similar format). I know how to convert from a date to week/year, but not vice versa. Does anyone have any ideas?
You might be able to use date math to get to the first day of the week
FirstOfWeek = mdy(1,1,yearnum) + (7 * ( weeknum - 1));
or
intnx('week',mdy(1,1,yearnum),weeknum-1);
WeekW. informat
Here's one way, but probably not the neatest:
(EDIT: I've assumed the day to be 1, the first of the week, but you could change that by changing the 01 and the end of week_year)
data have;
input year week ;
cards;
2001 23
2001 24
2003 45
2014 5
2005 36
2006 45
2007 3
;
run;
data want;
set have;
week_year=compress(year||"W"||put(week, z2.)||"01");
date_want=input(week_year, weekw9.);
format date_want date9.;
run;
You might be able to use date math to get to the first day of the week
FirstOfWeek = mdy(1,1,yearnum) + (7 * ( weeknum - 1));
or
intnx('week',mdy(1,1,yearnum),weeknum-1);
That was really helpful. Thanks to both of you!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.