How do I identify dates that fall in the last week of the month?
How do I identify dates that fall in the last week of the month? DATA dates; INPUT startdt :mmddyy10.; FORMAT startdt mmddyy10.; DATALINES; 12/01/2000 09/30/2012 06/01/2001 09/01/2001 09/30/2018 09/30/2018 04/30/2017 ; RUN;
DATA dates;
INPUT startdt :mmddyy10.;
first=nwkdom(5,2,month(startdt),year(startdt));
in_last_week=(startdt>=first);
FORMAT first startdt mmddyy10.;
DATALINES;
12/01/2000
09/30/2012
06/01/2001
09/01/2001
09/30/2018
09/30/2018
04/30/2017
;
RUN;
Please let us know how you define "week". Does it start on Saturday, or Sunday, or Monday? Or do you mean last 7 days? Or do you mean something else?
Please be specific and detailed.
If you mean the last 7 days of the month, here's a way:
data want;
set have;
if (intnx('month', startdt, 1) -7) <= startdt < intnx('month', startdt, 1);
run;
Assuming last 7 days.
data want;
set dates;
in_last_7days = startdt >= intnx('month', startdt, 0, 'e') - 7;
run;
DATA dates;
INPUT startdt :mmddyy10.;
first=nwkdom(5,2,month(startdt),year(startdt));
in_last_week=(startdt>=first);
FORMAT first startdt mmddyy10.;
DATALINES;
12/01/2000
09/30/2012
06/01/2001
09/01/2001
09/30/2018
09/30/2018
04/30/2017
;
RUN;
Thanks you so much @Ksharp Ksharp. This is exactly what I was looking for. To be able to identify the start date of the last week of the month. I wasn't aware of the NWKDOM function. Than you for bringing it to our attention!!!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.