DATA Step, Macro, Functions and more

Counting Dates Question

Accepted Solution Solved
Reply
Contributor
Posts: 23
Accepted Solution

Counting Dates Question

So I have two sets of dates one is Start_Date the other Closed_Date.  Start_Date is always populated, however Closed_Date can be null.  I have a formula in Excel that does the job, but I wanted to migrate this into SAS.

 

Excel Formula: =IF(I5="", TODAY() - H5,I5-H5)

 

So what I am trying to do is if Closed_Date is null then take today's date and subtract the Start_Date which will give me days open.  However if the Closed_Date has a value, subtract that value from the Start_Date to give me days open.

 

How would I transform this excel code into SAS code?


Accepted Solutions
Solution
‎04-12-2017 07:50 AM
Super User
Posts: 5,080

Re: Counting Dates Question

Something like this in a DATA step should work:

 

if closed_date > . then days_open = closed_date - start_date;

else days _open = today() - start_date;

 

There are minor efficiency considerations that could avoid calling the TODAY() function so many times.  But that would be way down the list of priorities.

View solution in original post


All Replies
Solution
‎04-12-2017 07:50 AM
Super User
Posts: 5,080

Re: Counting Dates Question

Something like this in a DATA step should work:

 

if closed_date > . then days_open = closed_date - start_date;

else days _open = today() - start_date;

 

There are minor efficiency considerations that could avoid calling the TODAY() function so many times.  But that would be way down the list of priorities.

Contributor
Posts: 23

Re: Counting Dates Question

Thank you this is perfect.  I had to play around with the dates a little, but once I did the count worked perfectly.

 

 

data work.test;
 set work.extract;
  format closed_date start_date date9.;
 
   closed_date=datepart(closed_date);
   start_date=datepart(start_date);


    if closed_date > . then days_open = closed_date - start_date;
    else days_open = today() - start_date;
run;
☑ This topic is SOLVED.

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

Discussion stats
  • 2 replies
  • 124 views
  • 1 like
  • 2 in conversation