<?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 Re: Many to Many Merge in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112201#M23205</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi AncaTilea, &lt;/P&gt;&lt;P&gt;I have to disagree. The &lt;STRONG&gt;NOTE &lt;/STRONG&gt;is merely a reminder: " Wait a sec, are you sure this is what you want?", SAS does &lt;STRONG&gt;KNOW&lt;/STRONG&gt; how to proceed under this scenario, and it does it with decent consistency. The only thing one should be certain is that given the predicable behavior of SAS, you know what you are getting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According this thread, &lt;A __default_attr="7659" __jive_macro_name="thread" class="jive_macro jive_macro_thread" href="https://communities.sas.com/"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;one can manipulate data step to do what they want, regardless what they want makes any common sense or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my 2cents,&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Oct 2012 19:45:01 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2012-10-30T19:45:01Z</dc:date>
    <item>
      <title>Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112189#M23193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi Team,&lt;/P&gt;&lt;P&gt;I am doing a many to many merge and end up with the wrong results. Is there any way we can get it right without using the PROC SQL!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 17:33:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112189#M23193</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-10-30T17:33:19Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112190#M23194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;post some sample data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 17:37:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112190#M23194</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-10-30T17:37:50Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112191#M23195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As long as you have large enough RAM to host one of two merging datasets, Hash() will be among most efficient: &lt;/P&gt;&lt;P&gt;data h1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do id=1 to 3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do var1=1 to 2;&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; data h2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do id=1 to 3;&lt;/P&gt;&lt;P&gt;do var2=3 to 5;&lt;/P&gt;&lt;P&gt;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;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if 0 then set h2;&lt;/P&gt;&lt;P&gt;declare hash h2(dataset:'h2', multidata:'y');&lt;/P&gt;&lt;P&gt;h2.definekey('id');&lt;/P&gt;&lt;P&gt;h2.definedata(all:'y');&lt;/P&gt;&lt;P&gt;h2.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set h1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rc=h2.find();&lt;/P&gt;&lt;P&gt;do rc=0 by 0 while (rc=0);&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;rc=h2.find_next();&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop rc;&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;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 17:43:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112191#M23195</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T17:43:53Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112192#M23196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;While merging i used IF A&amp;nbsp;&amp;nbsp; !!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For each ID the symbol variable spans 35 times in the first dataset. BUT the disease code for that patient ranges from 0-35 meaning he might not have a code or has 35 of the codes.&lt;/P&gt;&lt;P&gt;I am merging this with dataset B which has ID common But has more than 35 count for ID(may be a thousand 101's) because of the splitting of the dollar amount&lt;/P&gt;&lt;P&gt;Also in the Dataset B the dollar amount is broken down for each patient&lt;/P&gt;&lt;P&gt;He might also have less than 35 records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; symbol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; code&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abc&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 &lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 35&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;102&lt;/P&gt;&lt;P&gt;102&lt;/P&gt;&lt;P&gt;102&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; broken dollar amt(to satisfy 500 in all 101's) &lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; so on which totals 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp; 500&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF HE HAS ONLY 11 Records in the B dataset he is getting the dollar amount on the 11th record retained 35 times because of the first dataset having 35 observations for each patient&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When there are 11 in the Dataset B I want only those 11 and not 35&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 18:04:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112192#M23196</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-10-30T18:04:00Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112193#M23197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;You cannot do a many-to-many merge via data steps if you only have one common key variable (in your case, ID) because SAS does not know how to "match" the say 11 records from B to the 35 records in A?&lt;/P&gt;&lt;P&gt;So you need at least another "key" variable that will help you identify &lt;STRONG&gt;uniquely&lt;/STRONG&gt; each record in your data set (s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, it would be very helpful if the dollar amt breakdown would have a code associated with it. Then you could sort both data sets by ID Code, then merge them by ID Code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL would work very well on your problem.:smileycool:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 18:27:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112193#M23197</guid>
      <dc:creator>AncaTilea</dc:creator>
      <dc:date>2012-10-30T18:27:15Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112194#M23198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if I am thinking what you are thinking, you probably need something from this thread: (Pay attention to Ksharp's solution):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="7659" __jive_macro_name="thread" class="jive_macro jive_macro_thread" href="https://communities.sas.com/"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 18:36:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112194#M23198</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T18:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112195#M23199</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would categorize Hash() as part of Datastep implementation, and with Hash() and enough memory, I can hardly see anything that Proc SQL can do while data step can't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just my 2 cents,&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 18:40:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112195#M23199</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T18:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112196#M23200</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks for the detailed information. I would go through the thread and get back with you if I have any more questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 18:54:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112196#M23200</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-10-30T18:54:22Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112197#M23201</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does this NOte means we are doing something wrong???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: MERGE statement has more than one data set with repeats of BY values????&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:18:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112197#M23201</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-10-30T19:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112198#M23202</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I won't worry about it if you do have data sets like that. It basically says that both of your data sets have by variables that are duplicated.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:21:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112198#M23202</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T19:21:20Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112199#M23203</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The &lt;STRONG&gt;NOTE&lt;/STRONG&gt; means that SAS does not know how to "match" the records in the two data sets.&lt;/P&gt;&lt;P&gt;One should never ignore that note and instead perform a correct merge.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:32:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112199#M23203</guid>
      <dc:creator>AncaTilea</dc:creator>
      <dc:date>2012-10-30T19:32:04Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112200#M23204</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ok&lt;/P&gt;&lt;P&gt;I will put it this way.&lt;/P&gt;&lt;P&gt;I said &lt;STRONG&gt;if A&lt;/STRONG&gt; and A dataset has 5000 observations.&lt;/P&gt;&lt;P&gt;I did a merge of A and B and final dataset has 5000 observations?? and I get that NOTE&lt;/P&gt;&lt;P&gt;Do I need to worry abt it??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:43:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112200#M23204</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-10-30T19:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112201#M23205</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi AncaTilea, &lt;/P&gt;&lt;P&gt;I have to disagree. The &lt;STRONG&gt;NOTE &lt;/STRONG&gt;is merely a reminder: " Wait a sec, are you sure this is what you want?", SAS does &lt;STRONG&gt;KNOW&lt;/STRONG&gt; how to proceed under this scenario, and it does it with decent consistency. The only thing one should be certain is that given the predicable behavior of SAS, you know what you are getting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According this thread, &lt;A __default_attr="7659" __jive_macro_name="thread" class="jive_macro jive_macro_thread" href="https://communities.sas.com/"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;one can manipulate data step to do what they want, regardless what they want makes any common sense or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my 2cents,&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:45:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112201#M23205</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T19:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112202#M23206</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Karun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At this stage, I think it is better for you to lay out what exact outcome you are expecting, preferably with&amp;nbsp; sample tables( both incoming and outcoming).&amp;nbsp; Then we can start from there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:47:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112202#M23206</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-30T19:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112203#M23207</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Understood.&lt;/P&gt;&lt;P&gt;&lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.sas.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:51:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112203#M23207</guid>
      <dc:creator>AncaTilea</dc:creator>
      <dc:date>2012-10-30T19:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112204#M23208</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's a note letting you know that your by variables are not unique, so you may be ending up with more records than you started. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should verify for some of the records with multiple values that its giving you what you want.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Usually having the same amount of records means that everything is OK, but once I've had the record count match but there were multiples of some and missing of others so it wasn't what I wanted but the counts just happened to balance out, so now I always check.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 19:52:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112204#M23208</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-10-30T19:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: Many to Many Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112205#M23209</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I used to have this problem as well but then read a SAS paper a few months ago where the author came up with a novel approach to do a many-to-many merge in a data step. I will post a link to the paper but also show code that I've created and explain how I use it as an extra example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Many to Many Merge, Without SQL?&lt;/SPAN&gt; By David Franklin&lt;/P&gt;&lt;P&gt;&lt;A class="active_link" href="http://www.pharmasug.org/proceedings/2011/TU/PharmaSUG-2011-TU05.pdf" title="http://www.pharmasug.org/proceedings/2011/TU/PharmaSUG-2011-TU05.pdf"&gt;http://www.pharmasug.org/proceedings/2011/TU/PharmaSUG-2011-TU05.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My sample code is attached. I am merging a data set that has a daily forecast over two weeks (each day of the week then appears multiple times) to a data set that contains an hourly expected percentage of the total daily volume for each week day-- this is how we get to an hourly forecast. So the data sets are merged by the variable in each data set called 'day' which is the name of&amp;nbsp; the weekday (Monday, Tuesday, etc.). The "merge" is indicated by the "if day=_day" inside the first do loop level.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Forecast, the daily number, is multiplied by the pct from the second table and then explicitly outputted only when the days match. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result is a new data set that has, instead of one record per day, a record for each hour of each day with the hourly forecast.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Nov 2012 14:32:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Many-to-Many-Merge/m-p/112205#M23209</guid>
      <dc:creator>cau83</dc:creator>
      <dc:date>2012-11-02T14:32:12Z</dc:date>
    </item>
  </channel>
</rss>

