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;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.