<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Looping through table multiple times in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53678#M14841</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you everyone for your replies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Art's code pointed me in the right direction for what I was trying to do.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again for everyones help.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 Feb 2012 13:58:45 GMT</pubDate>
    <dc:creator>jerry898969</dc:creator>
    <dc:date>2012-02-20T13:58:45Z</dc:date>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53673#M14836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working with someone else data and need some help trying to get all the information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The table I'm working with has a cID, pID, txtLabel fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txtLabel&lt;/P&gt;&lt;P&gt;2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0&lt;/P&gt;&lt;P&gt;2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1&lt;/P&gt;&lt;P&gt;2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2&lt;/P&gt;&lt;P&gt;2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3&lt;/P&gt;&lt;P&gt;2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2&lt;/P&gt;&lt;P&gt;2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2&lt;/P&gt;&lt;P&gt;2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2_2&lt;/P&gt;&lt;P&gt;2-13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have another table that only has a few specific rows with CID.&amp;nbsp; Say I have CID 2-11 and 2-03 I need to work back from this level and get every level till I get to the root.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txtLabel&lt;/P&gt;&lt;P&gt;2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0&lt;/P&gt;&lt;P&gt;2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1&lt;/P&gt;&lt;P&gt;2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2&lt;/P&gt;&lt;P&gt;2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3&lt;/P&gt;&lt;P&gt;2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2&lt;/P&gt;&lt;P&gt;2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since I started from 2-11 I would lose the two levels below it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I apologize if I didn't make it clear what I am trying to do.&amp;nbsp; It is a level based table and each level can have multiple rows.&amp;nbsp; I have specific levels but I need to work back and get the levels above it.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2012 19:01:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53673#M14836</guid>
      <dc:creator>jerry898969</dc:creator>
      <dc:date>2012-02-14T19:01:49Z</dc:date>
    </item>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53674#M14837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure if I correctly understand what you are trying to accomplish but, possibly, the following might be close:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data main;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input (CID PID txtLabel) ($);&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0&lt;/P&gt;&lt;P&gt;2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1&lt;/P&gt;&lt;P&gt;2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2&lt;/P&gt;&lt;P&gt;2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3&lt;/P&gt;&lt;P&gt;2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2&lt;/P&gt;&lt;P&gt;2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2&lt;/P&gt;&lt;P&gt;2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2_2&lt;/P&gt;&lt;P&gt;2-13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3_2&lt;/P&gt;&lt;P&gt;2-14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data lookup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set main;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if PID eq "Root" then Root_Number+1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input (CID PID txtLabel) ($);&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3&lt;/P&gt;&lt;P&gt;2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table find as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select b.root_number,b.cid&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have as a,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lookup as b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; having a.cid=b.cid and&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.pid=b.pid&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table need as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a.*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from lookup as a,find as b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where a.root_number=b.root_number&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and a.cid le b.cid&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2012 19:31:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53674#M14837</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-02-14T19:31:29Z</dc:date>
    </item>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53675#M14838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your problem seems to be structured as a hierarchical tree. If you make your dataset look like the output of &lt;STRONG&gt;proc cluster &lt;/STRONG&gt;(or a subset thereof) then you could feed it to &lt;STRONG&gt;proc tree &lt;/STRONG&gt;for post treatment such as reducing the number of levels or extracting the subtree below a given node. - PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2012 20:19:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53675#M14838</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-02-14T20:19:42Z</dc:date>
    </item>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53676#M14839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another approach using mainly data step, though I can't guarantee more general application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data h1;&lt;/P&gt;&lt;P&gt;input CID $&amp;nbsp;&amp;nbsp; PID $&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txtLabel :$10.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level&lt;/P&gt;&lt;P&gt;1-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1-01&amp;nbsp;&amp;nbsp;&amp;nbsp; level&lt;/P&gt;&lt;P&gt;2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0&lt;/P&gt;&lt;P&gt;2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1&lt;/P&gt;&lt;P&gt;2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2&lt;/P&gt;&lt;P&gt;2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3&lt;/P&gt;&lt;P&gt;2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2&lt;/P&gt;&lt;P&gt;2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2&lt;/P&gt;&lt;P&gt;2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2_2&lt;/P&gt;&lt;P&gt;2-13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3_2&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data h2;&lt;/P&gt;&lt;P&gt;input CID $ ;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;2-03 &lt;/P&gt;&lt;P&gt;2-11 &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=_:);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do until (last1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set h2 (rename=cid=_cid) end=last1;&lt;/P&gt;&lt;P&gt; do until (cid=_cid);&lt;/P&gt;&lt;P&gt; set h1;&lt;/P&gt;&lt;P&gt; if pid='Root' then _n+1;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; do until (cid=_cid);&lt;/P&gt;&lt;P&gt; set h1;&lt;/P&gt;&lt;P&gt; if pid='Root' then _m+1;&lt;/P&gt;&lt;P&gt; if _m=_n then output;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2012 20:24:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53676#M14839</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-02-14T20:24:49Z</dc:date>
    </item>
    <item>
      <title>Re: Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53677#M14840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai.Kou&lt;/P&gt;&lt;P&gt;There is a problem in your code.&lt;/P&gt;&lt;P&gt;If the order of h2 is different from the order of h1, the code will get not right result.&lt;/P&gt;&lt;P&gt;i.e. &lt;/P&gt;&lt;P&gt;2-11 &lt;/P&gt;&lt;P&gt;2-03 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So to optimize Hai.Kou's code &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data h1;
input CID $&amp;nbsp;&amp;nbsp; PID $&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txtLabel :$10.;
cards;
1-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level
1-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1-01&amp;nbsp;&amp;nbsp;&amp;nbsp; level
2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0
2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1
2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2
2-03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3
2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Root&amp;nbsp;&amp;nbsp;&amp;nbsp; level0_2
2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level1_2
2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level2_2
2-13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level3_2
;
run;
 
data h2;
input CID $ ;
cards;
2-11
2-03
; 
run;
data h2(keep=cid);
if _n_ eq 1 then do;
if 0 then set h2;
 declare hash ha(dataset:'h2',hashexp:10);
&amp;nbsp; ha.definekey('cid');
&amp;nbsp; ha.definedone();
end;
set h1;
 if ha.check()=0 then output ;
run;

data want (drop=_:);
do until (last1);
&amp;nbsp; set h2 (rename=cid=_cid) end=last1;
do until (cid=_cid);
set h1;
if pid='Root' then _n+1;
end;

do until (cid=_cid);
set h1;
if pid='Root' then _m+1;
if _m=_n then output;
end;
end;
run;


&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2012 06:53:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53677#M14840</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-02-15T06:53:20Z</dc:date>
    </item>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53678#M14841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you everyone for your replies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Art's code pointed me in the right direction for what I was trying to do.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again for everyones help.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Feb 2012 13:58:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53678#M14841</guid>
      <dc:creator>jerry898969</dc:creator>
      <dc:date>2012-02-20T13:58:45Z</dc:date>
    </item>
    <item>
      <title>Looping through table multiple times</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53679#M14842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Many Thanks, Ksharp! I had this hunch that my code was not good enough.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Feb 2012 14:09:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Looping-through-table-multiple-times/m-p/53679#M14842</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-02-20T14:09:05Z</dc:date>
    </item>
  </channel>
</rss>

