<?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: what is the best - merge or set in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764148#M242018</link>
    <description>Actually never mind. I know my mistake now. I merged by PID.&lt;BR /&gt;</description>
    <pubDate>Thu, 26 Aug 2021 11:11:15 GMT</pubDate>
    <dc:creator>Stalk</dc:creator>
    <dc:date>2021-08-26T11:11:15Z</dc:date>
    <item>
      <title>what is the best - merge or set</title>
      <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764085#M241980</link>
      <description>&lt;P&gt;What is the best statement SET or Merge to get the desired PE output. I need to join the tables by PID and retain only the records from table P. Also need to have a field called source in PE to identify if the record is in both or P.&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 240pt;" border="0" width="320" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD width="64" height="19" style="height: 14.5pt; width: 48pt;"&gt;Table P&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;Table E&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;124&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;43&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;33&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;26&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;Table PE&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID1&lt;/TD&gt;
&lt;TD&gt;SID2&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;123&lt;/TD&gt;
&lt;TD align="right"&gt;124&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;43&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;26&lt;/TD&gt;
&lt;TD align="right"&gt;23&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Thu, 26 Aug 2021 02:51:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764085#M241980</guid>
      <dc:creator>Stalk</dc:creator>
      <dc:date>2021-08-26T02:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: what is the best - merge or set</title>
      <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764095#M241989</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/358432"&gt;@Stalk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;What is the best statement SET or Merge to get the desired PE output. I need to join the tables by PID and retain only the records from table P. Also need to have a field called source in PE to identify if the record is in both or P.&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 240pt;" border="0" width="320" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD width="64" height="19" style="height: 14.5pt; width: 48pt;"&gt;Table P&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;Table E&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;124&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;43&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;33&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;26&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;Table PE&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" style="height: 14.5pt;"&gt;PID&lt;/TD&gt;
&lt;TD&gt;SID1&lt;/TD&gt;
&lt;TD&gt;SID2&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;123&lt;/TD&gt;
&lt;TD align="right"&gt;124&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD align="right"&gt;24&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;43&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.5pt;"&gt;
&lt;TD height="19" align="right" style="height: 14.5pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;26&lt;/TD&gt;
&lt;TD align="right"&gt;23&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When you want to MATCH records from two (or more) data sets based on the value of a common variable then you want a Merge with a By;&lt;/P&gt;
&lt;PRE&gt;data p;
  input Pid sid1;
datalines;
1 1
2 2
;

data e;
  input enrolid sid2;
datalines;
1  11
3  33
;

data merged;
  merge p (in=in1)
        e (in=in2)
  ;
  /* the first IF keeps records that match the id field
     in the first set
  */
  if in1; 
  If in1 and in2 then source='Both';
  else if in1 then source='P';
run;
&lt;/PRE&gt;
&lt;P&gt;The data set option IN= creates a temporary variable valued 1 or 0 if the data set contributes to the current record. SAS uses 1 for true and 0 for false so can be used in If as above.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Aug 2021 03:17:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764095#M241989</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-08-26T03:17:01Z</dc:date>
    </item>
    <item>
      <title>Re: what is the best - merge or set</title>
      <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764147#M242017</link>
      <description>I did the exact same thing. But I am getting Cartesian product.&lt;BR /&gt;Suppose my Table P has 17K records and table E has 16500 records. My merged dataset has 20684 records, even after keeping the records from P. &lt;BR /&gt;I want my output to have 17K records with SID from both tables. How?</description>
      <pubDate>Thu, 26 Aug 2021 11:08:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764147#M242017</guid>
      <dc:creator>Stalk</dc:creator>
      <dc:date>2021-08-26T11:08:23Z</dc:date>
    </item>
    <item>
      <title>Re: what is the best - merge or set</title>
      <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764148#M242018</link>
      <description>Actually never mind. I know my mistake now. I merged by PID.&lt;BR /&gt;</description>
      <pubDate>Thu, 26 Aug 2021 11:11:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764148#M242018</guid>
      <dc:creator>Stalk</dc:creator>
      <dc:date>2021-08-26T11:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: what is the best - merge or set</title>
      <link>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764166#M242027</link>
      <description>&lt;P&gt;what is the best - merge or set?&lt;/P&gt;&lt;P&gt;&amp;nbsp;NO, SQL Left join !&lt;BR /&gt;&lt;BR /&gt;data p;&lt;BR /&gt;input Pid sid1;&lt;BR /&gt;datalines;&lt;BR /&gt;1 123&lt;BR /&gt;2 24&lt;BR /&gt;3 43&lt;BR /&gt;5 26&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;data e;&lt;BR /&gt;input pid sid2;&lt;BR /&gt;datalines;&lt;BR /&gt;1 124&lt;BR /&gt;2 24&lt;BR /&gt;4 33&lt;BR /&gt;5 23&lt;BR /&gt;6 15&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table PE as&lt;BR /&gt;select p.pid, sid1, sid2&lt;BR /&gt;from p left join e&lt;BR /&gt;on p.pid=e.pid;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Aug 2021 12:26:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/what-is-the-best-merge-or-set/m-p/764166#M242027</guid>
      <dc:creator>AndreaVianello</dc:creator>
      <dc:date>2021-08-26T12:26:17Z</dc:date>
    </item>
  </channel>
</rss>

