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

Hi,

I am trying to compute the difference in days between two dates that are located in two different rows and in different columns by id. For example,

 

id     date1               date2               diff

1      03/01/1991     08/31/1992      09/01/1992 - 08/31/1992    (or 08/31/1992 - 09/01/1992)

1      09/01/1992     07/31/1992      08/01/1996 - 07/31/1992

1      08/01/1996     06/30/1997      07/01/1997 - 06/30/1997

1      07/01/1997     07/31/1997

2     09/01/1993     01/15/1994     

3     01/01/1994     01/01/1995       01/01/1995 - 01/01/1995

3     01/01/1995     05/02/1999    

 

I will appreciate your help. Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
Opal | Level 21

It's not necessarily simple, but it doesn't take a lot of code.  Assuming your dates are SAS dates, not character strings:

 

data want;

set have;

by id;

set have (firstobs=2 keep=date1 rename=(date1=next_date)) have (drop=_all_);

if last.id=0 then diff = next_date - date2;

drop next_date;

run;

View solution in original post

1 REPLY 1
Astounding
Opal | Level 21

It's not necessarily simple, but it doesn't take a lot of code.  Assuming your dates are SAS dates, not character strings:

 

data want;

set have;

by id;

set have (firstobs=2 keep=date1 rename=(date1=next_date)) have (drop=_all_);

if last.id=0 then diff = next_date - date2;

drop next_date;

run;

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

Discussion stats
  • 1 reply
  • 697 views
  • 1 like
  • 2 in conversation