LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (April 2008, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 8 Apr 2008 22:26:39 -0400
Reply-To:     "Howard Schreier <hs AT dc-sug DOT org>"
              <schreier.junk.mail@GMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         "Howard Schreier <hs AT dc-sug DOT org>"
              <schreier.junk.mail@GMAIL.COM>
Subject:      Re: Simple LAG Data Step

On Tue, 8 Apr 2008 16:41:43 -0500, Tom White <tw2@MAIL.COM> wrote:

>Hi everyone, > >The following problem looks like a simple LAG issue. >It doesn't work for me when I do a BY PROV_ID. > >I wish to create the DIFF variable as shown below. > >Thank you. >T > > > >PROV_ID ID MYDATE >01 111111111 24Feb2003 >01 111111111 24Feb2003 >01 111111111 24Feb2003 >01 111111111 24Feb2003 > >02 222222222 24Sep2004 >02 333333333 07Sep2003 > >03 444444444 10Jul2003 >03 444444444 03May2004 >03 444444444 07Dec2005 > > >PROV_ID ID MYDATE DIFF >01 111111111 24Feb2003 . >01 111111111 24Feb2003 0 >01 111111111 24Feb2003 0 >01 111111111 24Feb2003 0 > >02 222222222 24Sep2004 . /* or 0 doesn't matter*/ > >02 333333333 07Sep2003 . /* or 0 doesn't matter*/ > >03 444444444 10Jul2003 . >03 444444444 03May2004 N1 >03 444444444 07Dec2005 N2 > >N1= 03May2004 - 10Jul2003 >N2= 07Dec2005 - 03May2004

Since Tom did not present his code and did not define "doesn't work for me", I'll just start from scratch.

DIF is actually a bit better than LAG here. My preferred solution is

data need; set have; by prov_id id mydate; diff = ifn( first.id , . , dif(mydate) ); run;


Back to: Top of message | Previous page | Main SAS-L page