data Months;
do i ='01JAN2022'd to '31DEC2022'd;
FirstDayMonth = intnx('month', i,0,'b');
output;
do j= '01JAN2022'd to '31DEC2022'd;
EndDayMonth = intnx('month',j,0, 'e'); ;
output;
drop firstdaycurrmonth enddaycurrmonth;
end;
end;
format _ALL_ weekdate9.;
run;
proc print data=Months noobs;
run;
Here i want start weekname and end weekname of each month in a given date range
Are you looking for something like this? The INTNX function can give you the first/last date of a given period.
data want;
do month = 1 to 12;
someDate = mdy(month, 15, 2022);
startDay = intnx("month", someDate, 0, "B");
endDay = intnx("month", someDate, 0, "E");
output;
end;
format
somedate date9.
startDay endDay weekdate.
;
run;
proc print data=want noobs;
run;
Weeks have no names, only numbers. Or do you mean the weekday of a given date?
WEEKS DO NOT HAVE NAMES.
So the word "weekname" makes no sense.
Please show which value(s) you have, and what you want to get from it
Are you looking for something like this? The INTNX function can give you the first/last date of a given period.
data want;
do month = 1 to 12;
someDate = mdy(month, 15, 2022);
startDay = intnx("month", someDate, 0, "B");
endDay = intnx("month", someDate, 0, "E");
output;
end;
format
somedate date9.
startDay endDay weekdate.
;
run;
proc print data=want noobs;
run;
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
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.