<?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 Big Merge Help in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29380#M6903</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MERGE is not suited for your situation. but SQL cartesian product .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 Mar 2012 02:32:03 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2012-03-20T02:32:03Z</dc:date>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29373#M6896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I normally don't have trouble with merges, but I am usually doing it with simpler datasets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to merge two datasets (DAILY_PAR_MRG and IPARF_MRG) to create 5,640 unique entries based on the PAR_periods.&amp;nbsp; The DAILY_PAR_MRG file is data from a meteorlogical station.&amp;nbsp; Depending on which measurement period (PAR_PERIOD) the day falls in, a different factor (IPARf) needs to be applied to the variables DAILY_PAR and DAILY_MJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thought this would be staight-forward merge, but the successful dataset will have 5,640 lines; each CLONE (N=15) and REP (N=4) will have 94 values of DAILY_PAR and DAILY_MJ for the dates from June-29 to Sept-30 with the IPARf that corresponds to the PAR_PERIOD for that date.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; When I do a merge, I only get 600 lines.&amp;nbsp; I'm not sure what I'm missing.&amp;nbsp; Is this something for SQL?&amp;nbsp; I've never used that before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=IPARf_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=Daily_PAR_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data cPAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mergeDaily_PAR_mrg IPARf_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know why the above is different than the simple case below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;data one;&lt;BR /&gt;&amp;nbsp; input id $ fruit $12.;&lt;BR /&gt;datalines;&lt;BR /&gt;a apple&lt;BR /&gt;a apricot&lt;BR /&gt;b banana&lt;BR /&gt;c coconut&lt;BR /&gt;c cherry&lt;BR /&gt;c crabapple&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;data two;&lt;BR /&gt;&amp;nbsp; input id $ color $;&lt;BR /&gt;datalines;&lt;BR /&gt;a amber&lt;BR /&gt;b brown&lt;BR /&gt;b black&lt;BR /&gt;c cocoa&lt;BR /&gt;c cream&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;data both; &lt;BR /&gt;&amp;nbsp; merge one two;&lt;BR /&gt;&amp;nbsp; by id;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc print data=both;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 13:52:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29373#M6896</guid>
      <dc:creator>iiibbb</dc:creator>
      <dc:date>2012-03-13T13:52:47Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29374#M6897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This part here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data cPAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mergeDaily_PAR_mrg IPARf_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is just a typo and is really:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data cPAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; merge Daily_PAR_mrg (in=a) IPARf_mrg (in=b);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if a;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;right?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 15:32:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29374#M6897</guid>
      <dc:creator>HB</dc:creator>
      <dc:date>2012-03-13T15:32:28Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29375#M6898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, that just generates the same 600 line dataset I got with my statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 16:44:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29375#M6898</guid>
      <dc:creator>iiibbb</dc:creator>
      <dc:date>2012-03-13T16:44:50Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29376#M6899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think I've done it in SQL.&amp;nbsp; Found a good tutorial at the UCLA website.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the looks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.IPARf_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.Daily_PAR_mrg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table work.cPAR_sql as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select A.PAR_Period, A.Clone, A.Rep, A.IPARf, &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;&amp;nbsp; B.LUE_Period, B.Date, B.Daily_PAR, B.Daily_MJ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; From IPARf_mrg as A, Daily_PAR_mrg as B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where A.PAR_Period=B.PAR_Period;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.cPAR_sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by rep clone date;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=work.cPAR_sql;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 17:17:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29376#M6899</guid>
      <dc:creator>iiibbb</dc:creator>
      <dc:date>2012-03-13T17:17:00Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29377#M6900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The nature of the difference is due to the many-to-many matching .&amp;nbsp; MERGE handles that differently than SQL.&amp;nbsp; Try running your final program with ONE, TWO, and BOTH and you'll see that the results are not necessarily what you expected especially when ID=C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 22:57:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29377#M6900</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-03-13T22:57:15Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29378#M6901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The IF-statement is NOT quite correct. Se below:!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data cPAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; merge&amp;nbsp; Daily_PAR_mrg (in=a)&amp;nbsp;&amp;nbsp;&amp;nbsp; IPARf_mrg (in=b);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by PAR_Period;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if a or b;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;------------------------------&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;data both; &lt;BR /&gt;&amp;nbsp; merge one two;&lt;BR /&gt;&amp;nbsp; by id;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the same as:&lt;BR /&gt;&lt;CODE&gt;data both; &lt;BR /&gt;&amp;nbsp; merge one(in=in_one) two (in= in_two);&lt;BR /&gt;&amp;nbsp; by id;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&amp;nbsp; if in_one=1&amp;nbsp; or&amp;nbsp; in_two=1&amp;nbsp; then output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp; if in_one or in_two;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Mar 2012 21:50:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29378#M6901</guid>
      <dc:creator>AndersS</dc:creator>
      <dc:date>2012-03-19T21:50:35Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29379#M6902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It would be good if you could explain more what you want to do: e.g. when PAR_Period= 2 you have a lot of values in DAILY_PAR_MRG&amp;nbsp; and a lot of values in PARF_MRG.&lt;/P&gt;&lt;P&gt; You can combine these by using SQL&amp;nbsp; - then for each PAR_Period value you get&amp;nbsp; #(DAILY_PAR_MRG) times #(PARF_MRG).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or - you can use merge. Then for each PAR_Period value you get&amp;nbsp; MAX(#(DAILY_PAR_MRG), #(PARF_MRG))&amp;nbsp; - which is smaller than the value above.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Your text "&lt;SPAN lang="EN-US" style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;Dependingon which measurement period (PAR_PERIOD) the day falls in, a different factor(IPARf) needs to be applied to the variables&amp;nbsp; " indicates that some information is missing in your description.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I think you need more&amp;nbsp; by-variables.&lt;BR /&gt;Br Anders&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Mar 2012 23:23:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29379#M6902</guid>
      <dc:creator>AndersS</dc:creator>
      <dc:date>2012-03-19T23:23:29Z</dc:date>
    </item>
    <item>
      <title>Big Merge Help</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29380#M6903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MERGE is not suited for your situation. but SQL cartesian product .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Mar 2012 02:32:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Big-Merge-Help/m-p/29380#M6903</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-03-20T02:32:03Z</dc:date>
    </item>
  </channel>
</rss>

