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 2009, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Wed, 1 Apr 2009 14:06:20 -0400
Reply-To:     Chang Chung <chang_y_chung@HOTMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Chang Chung <chang_y_chung@HOTMAIL.COM>
Subject:      Re: Alternative Implementation of the "SAS Terminator"
Comments: To: dynamicpanel@YAHOO.COM

On Wed, 1 Apr 2009 13:42:21 -0400, oloolo (dynamicpanel@yahoo.com) <dynamicpanel@YAHOO.COM> wrote:

>But your solution seems do not work on this more complex sample which I >worked with. ... hi, oloolo, i am not S Lassen, but i am not sure what you mean by Lassen's solution not working. This seems working fine. hth. Cheers, Chang

data main; input id $ lengthkm fromnode tonode startflag branch; datalines; T 0.43 773501327 773500764 0 0 kk 1.19 773501293 773501327 0 1 S 0.82 773500791 773501327 1 0 R 4.53 773500796 773500769 0 0 P 3.47 773500809 773500796 0 0 O 1.02 773500821 773500809 0 0 nn 0.86 773500836 773500821 0 1 N 1.08 773500836 773500821 0 0 M 1.14 773500218 773500836 1 0 hh 0.89 773500807 773500809 0 1 Q 0.29 773500778 773500796 0 0 ll 0.18 773501344 773500778 0 1 L 0.62 773501344 773500778 0 0 K 0.09 773501293 773501344 0 0 J 1.78 773500800 773501293 0 0 H 0.43 773500807 773500800 0 0 ff 0.40 773500830 773500807 0 1 I 0.31 773500814 773500800 0 0 gg 0.42 773500813 773500814 0 1 G 0.56 773500813 773500814 0 0 F 0.17 773500830 773500813 0 0 E 2.10 773500833 773500830 0 0 dd 0.14 773500845 773500833 0 1 D 0.44 773500845 773500833 0 0 C 1.36 773500879 773500845 0 0 B 3.42 773500403 773500879 1 0 A 3.79 773500885 773500879 1 0 ; run;

/* let us get all the ids of S^s decendants using S Lassen^s data step solution */ proc datasets lib=work; modify main; index create fromnode; quit;

data sfamily; set main(where=(id="S")); level = 0; run;

data sfamily; modify sfamily; fromnode = tonode; level + 1; if 100 <= level then stop; do while(1); set main key=fromnode; if _iorc_ | startFlag | branch then leave; output; end; _error_ = 0; run;

proc print data=sfamily noobs; var id fromnode tonode; run; /* id fromnode tonode

S 773500791 773501327 T 773501327 773500764 */


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