|
> -----Original Message-----
> From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On
> Behalf Of dc353@hotmail.com
> Sent: Wednesday, March 26, 2008 8:04 AM
> To: SAS-L@LISTSERV.UGA.EDU
> Subject: RETAIN Statement --> strange behavior
>
> Hi,
>
> Could someone explain why the first set of code here works with the
> retain statement but the second example does not?
>
> First Example:
>
> data d9;
> set d8;
> retain endshare;
> retain cash;
> by ticker;
>
> if first.ticker then do;
> if ticker = '*$$$' then do;
> startshare=9617604;
> endshare=startshare+trade;
> cash=endshare;
> mv=endshare*price;
> cost = endshare*price;
> avecost=1;
> end;
> end;
> else
> if ticker = '*$$$' then do;
> startshare=startshare+cash;
> endshare= startshare + trade;
> cash = endshare;
> mv = endshare*price;
> cost=endshare*price;
> avecost=1;
> end;
> run;
>
>
>
> SECOND EXAMPLE:*****************************************
>
>
> data d9;
> set d8;
> retain endshare;
>
> by ticker;
>
> if first.ticker then do;
> if ticker = '*$$$' then do;
> startshare=9617604;
> endshare=startshare+trade;
>
> mv=endshare*price;
> cost = endshare*price;
> avecost=1;
> end;
> end;
> else
> if ticker = '*$$$' then do;
> startshare=startshare+endshare;
> endshare= startshare + trade;
>
> mv = endshare*price;
> cost=endshare*price;
> avecost=1;
> end;
> run;
>
What does "doesn't work" mean?
Dan
Daniel J. Nordlund
Research and Data Analysis
Washington State Department of Social and Health Services
Olympia, WA 98504-5204
|