09-08-2013 07:32 AM
Based on the data set below, I would like to have another col (Commence_Day) getting the date of first day of the week col(Week).
09-08-2013 08:03 AM
The SAS calendar function intnx() will allow you to shift a week to wherever you want to. BUT: You need a SAS date value as starting point for this.
intnx('week',<sas date value>,0,'b') would give you the Sunday the week starts, intnx('week.2',<sas date value',0,'b') would give you the Monday.
The issue with your data is: You don't have a SAS date value. Your variable "Week" doesn't even say in which year this week is - which is kind of important to come up with the correct date. So to get from your data containing a string for a week number to a date some coding will be required. The data you've provided is not sufficient to do this. We need at least the year as well.
Just as an idea:
- Create a new variable with has the year and week in it, eg. WeekYear with values like '2013Week1'
- Create a data set to be used to create an informat (look up in docu: Proc Format with cntlin). The data set would have the WeekYear values in the Start variable and the SAS date values as label.
- Apply the informat on your WeekYear variable to populate a new variable containing SAS date values as required