<?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 How do I iterate using a do loop to merge a one-to-many? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607259#M176473</link>
    <description>&lt;P&gt;I have the following datasets which I want to match data from have_a with have_b by the id name.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have_a&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name :&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456 Detroit
134567 Bordeaux&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have_b&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name :&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; parent_id parent_name :&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456  Detroit             123450  Wayne County
123450  Wayne County        123400  Michigan
123400  Michigan            123000  USA
123000  USA                 120000  North America
120000  North America       100000  Earth
134567  Bordeaux            134560  Gironde
134560  Gironde             134500  Nouvelle-Aquitaine&lt;BR /&gt;123456  Detroit             100000  Earth &lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/CODE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="sas"&gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want it to iterate a one-to-many merge so that the final output will be something like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; final&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name id1 name1 id2 name2 :&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456 Detroit    &lt;CODE&gt;123450  Wayne County    123400  Michigan    123000  USA&lt;BR /&gt;&lt;BR /&gt;123456 Detroit    100000 Earth&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;134567 Bordeaux &lt;CODE&gt;134560  Gironde    134500  Nouvelle-Aquitaine &lt;/CODE&gt;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; &amp;nbsp;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;</description>
    <pubDate>Tue, 26 Nov 2019 11:58:38 GMT</pubDate>
    <dc:creator>jungjein</dc:creator>
    <dc:date>2019-11-26T11:58:38Z</dc:date>
    <item>
      <title>How do I iterate using a do loop to merge a one-to-many?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607259#M176473</link>
      <description>&lt;P&gt;I have the following datasets which I want to match data from have_a with have_b by the id name.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have_a&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name :&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456 Detroit
134567 Bordeaux&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have_b&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name :&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; parent_id parent_name :&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456  Detroit             123450  Wayne County
123450  Wayne County        123400  Michigan
123400  Michigan            123000  USA
123000  USA                 120000  North America
120000  North America       100000  Earth
134567  Bordeaux            134560  Gironde
134560  Gironde             134500  Nouvelle-Aquitaine&lt;BR /&gt;123456  Detroit             100000  Earth &lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/CODE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="sas"&gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want it to iterate a one-to-many merge so that the final output will be something like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; final&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt; name id1 name1 id2 name2 :&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;40&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;123456 Detroit    &lt;CODE&gt;123450  Wayne County    123400  Michigan    123000  USA&lt;BR /&gt;&lt;BR /&gt;123456 Detroit    100000 Earth&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;134567 Bordeaux &lt;CODE&gt;134560  Gironde    134500  Nouvelle-Aquitaine &lt;/CODE&gt;&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt; &amp;nbsp;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Tue, 26 Nov 2019 11:58:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607259#M176473</guid>
      <dc:creator>jungjein</dc:creator>
      <dc:date>2019-11-26T11:58:38Z</dc:date>
    </item>
    <item>
      <title>Re: How do I iterate using a do loop to merge a one-to-many?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607276#M176482</link>
      <description>&lt;P&gt;Just to be clear, your wanted data set looks like this, right?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data final;
input id name :&amp;amp;$40. id1 name1 :&amp;amp;$40. id2 name2 :$40.;
cards;
123456 Detroit    123450 Wayne County  123400 Michigan           
123000 USA        123456 Detroit       100000 Earth              
134567 Bordeaux   134560 Gironde       134500 Nouvelle-Aquitaine 
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;What is the logic here?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Nov 2019 11:25:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607276#M176482</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-11-26T11:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: How do I iterate using a do loop to merge a one-to-many?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607290#M176494</link>
      <description>&lt;P&gt;Hi, sorry, I think the formatting was screwed.&lt;/P&gt;&lt;P&gt;It should be like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data final;
input id name :&amp;amp;$40. id1 name1 :&amp;amp;$40. id2 name2 :$40. id3 name3 :$40.;
cards;
123456 Detroit    123450 Wayne County  123400 Michigan           123000 USA        
123456 Detroit       100000 Earth              
134567 Bordeaux   134560 Gironde       134500 Nouvelle-Aquitaine 
;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;The id in have_a and id in have_b are used to match to find the id1 and name1.&lt;/P&gt;&lt;P&gt;After which, I want to merge id1 with id in have_b and the iteration continues.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Nov 2019 12:02:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607290#M176494</guid>
      <dc:creator>jungjein</dc:creator>
      <dc:date>2019-11-26T12:02:25Z</dc:date>
    </item>
    <item>
      <title>Re: How do I iterate using a do loop to merge a one-to-many?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607321#M176506</link>
      <description>&lt;P&gt;Why do you stop at 123000 USA in the first record? This has parent 120000 North America?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Nov 2019 13:07:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-iterate-using-a-do-loop-to-merge-a-one-to-many/m-p/607321#M176506</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-11-26T13:07:55Z</dc:date>
    </item>
  </channel>
</rss>

