DATA Step, Macro, Functions and more

How find last 3 days of month

Accepted Solution Solved
Reply
Contributor
Posts: 34
Accepted Solution

How find last 3 days of month

How to find according to month which also contains Hollidays.

Accepted Solutions
Solution
‎12-01-2016 04:12 AM
Super User
Posts: 17,905

Re: How find last 3 days of month

Post all your rules please and a few examples. 

View solution in original post


All Replies
PROC Star
Posts: 552

Re: How find last 3 days of month

what about saturdays/sundays? Smiley Happy

Super User
Posts: 17,905

Re: How find last 3 days of month

Calendar days, weekdays, or working days? 

 

And what countries holidays? 

 

Have you you looked at INTNX()?

Contributor
Posts: 34

Re: How find last 3 days of month

Code required according to indian holiday
If last day is Saturday or Sunday or any holiday then they don't consider as last day else last day(only last 3 days of months)
Solution
‎12-01-2016 04:12 AM
Super User
Posts: 17,905

Re: How find last 3 days of month

Post all your rules please and a few examples. 

Contributor
Posts: 34

Re: How find last 3 days of month

Rules
1) only last 3 days of each month ,monthend flag get 1 and rest of dates it will be 0

2) if it's Saturday,Sunday,Hollyday (or combination of those ) then monthend flag get 1
Super User
Posts: 17,905

Re: How find last 3 days of month

Data want; 

do year=2006 to 2016;

do month=1 to 12;

 

date=MDY(month, 1, year);

 

do i=1 to 3;

date=intnx('month', date, 0, 'e') + 1 - i;

if weekday(date) in (1,7) or date in ( list of holidays) then not_working=1;

else not_working=0;

 

if i=1 then month_end =1; else month_end=0;

end;

end;

end;

 

run; 

 

You will need to have a list of your holidays to verify holiday dates. 

Contributor
Posts: 34

Re: How find last 3 days of month

Thanks Reeza u r the best...
Grant salute
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 7 replies
  • 280 views
  • 0 likes
  • 3 in conversation