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!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.