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 (May 2006, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Sat, 13 May 2006 10:17:21 -0500
Reply-To:     Jiann-Shiun Huang <Jiann-Shiun.Huang@AMERUS.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Jiann-Shiun Huang <Jiann-Shiun.Huang@AMERUS.COM>
Subject:      Re: Lag Variable creation
Comments: To: Rick <rdbisch@GMAIL.COM>
Content-Type: text/plain; charset=US-ASCII

Here is another approach: use retain statement.

data temp; input Id Year var1; datalines; 1 1999 1000 1 2000 1200 1 2001 1100 2 1998 900 2 1999 800 2 2000 700 ; run;

proc sort data=temp; by Id year; run;

data Result; retain PrevVar1; set temp; by Id; if first.Id then var2=.; else var2=var1-PrevVar1; PrevVar1=var1; drop PrevVar1; run;

proc print data=Result; run;

***** OUTPUT ***** The SAS System 09:56 Saturday, May 13, 2006 14

Obs Id Year var1 var2

1 1 1999 1000 . 2 1 2000 1200 200 3 1 2001 1100 -100 4 2 1998 900 . 5 2 1999 800 -100 6 2 2000 700 -100

J S Huang 1-515-557-3987 fax 1-515-557-2422

>>> Rick <rdbisch@GMAIL.COM> 05/13/06 7:20 AM >>> proc sort data=test; by id year; run;

data test2; set test; by id; var2 = dif(var1); if first.id then var2=.;

put _ALL_; run;


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