BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
twildone
Pyrite | Level 9

Hi...Is there something similiar or equivalent to holiday('labor', year) but rather than producing the first Monday in September, the result would the first Monday in August? Thnaks.

1 ACCEPTED SOLUTION

Accepted Solutions
mohamed_zaki
Barite | Level 11
data null;
year=2016;
month=8;
format monday date9.;
monday=intnx('week.3',(mdy(month,1,year)),0,'e');
run;

View solution in original post

4 REPLIES 4
mohamed_zaki
Barite | Level 11
data null;
year=2016;
month=8;
format monday date9.;
monday=intnx('week.3',(mdy(month,1,year)),0,'e');
run;
advoss
Quartz | Level 8

If you are looking for the same day, one month prior to Labor day, you can do:

data _null_;

 date_labor = holiday('LABOR',year(today()));

 date_1MonthPrior = intnx('MONTH',date_labor,-1,'S');

 format Date_: YYMMDD10.;

 put _all_;

 stop;

run;

date_labor=2016-09-05 date_1MonthPrior=2016-08-05 _ERROR_=0 _N_=1

 

Ksharp
Super User
data _null_;
x=NWKDOM(1, 2, 8, 2016);
put x= date9.;
run;
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1865 views
  • 0 likes
  • 4 in conversation