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?
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.
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.
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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.