BookmarkSubscribeRSS Feed
Marcate
Calcite | Level 5

I would like to calculate the working days interval between two columns of a working table.

The idea is to create a table that will use informations from two other tables as follow: one with the list of the holidays of the year and another that contains the dates that must be compared. How do I have to proceed? 

2 REPLIES 2
Shmuel
Garnet | Level 18

I did it in two steps:

 

1) using table of non working dates - create a format (NWD.) with

     each non working date translated to 0 and OTHER translated to 1.
    Do it once, for the whole period of years including some future years.

 

2) calculate working days (WDS) from given dates: from FDT to UDT by:

         WDS = 0;

         do date = FTD to UDT;

              WDS = WDS + input(put(date,NWD.),1.);

         end;

Patrick
Opal | Level 21

SAS offers quite a few very useful calendar functions like intnx() and intck() which allows you get such calculations done.

 

If you have your own holiday calendar then you must first create a "custom interval" though. Have a look into the Custom Intervals section under the following link: http://www.sascommunity.org/wiki/Generating_Holiday_Lists 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

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
  • 2 replies
  • 1577 views
  • 1 like
  • 3 in conversation