<?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 Simple Question About Merging and Matching Data in SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285086#M58210</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#1. Merging Two Data Sets that contains common and unique&amp;nbsp;values for each&amp;nbsp;data set&amp;nbsp;into one single data set.&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;data passenger_group1;&lt;/P&gt;
&lt;P&gt;input ID;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&lt;/P&gt;
&lt;P&gt;1002&lt;/P&gt;
&lt;P&gt;1003&lt;/P&gt;
&lt;P&gt;1006&lt;/P&gt;
&lt;P&gt;1007&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data passenger_group2;&lt;/P&gt;
&lt;P&gt;inputID;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&lt;/P&gt;
&lt;P&gt;1002&lt;/P&gt;
&lt;P&gt;1003&lt;/P&gt;
&lt;P&gt;1004&lt;/P&gt;
&lt;P&gt;1005&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data passenger_group1and2;&lt;/P&gt;
&lt;P&gt;set passenger_group1 passenger_group2;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=passenger_group1and2 out=passenger_want nodupkey; by ID; run;&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-&amp;gt; This seems to be working, but is there an efficient way to do this by using PROC SQL?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#2. Merging and Matching Two Data Sets&lt;/P&gt;
&lt;P&gt;-----------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;data passenger_group1;&lt;/P&gt;
&lt;P&gt;input ID Class$;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp;&amp;nbsp; A&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp;&amp;nbsp;&amp;nbsp;A&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp;&amp;nbsp; B&lt;/P&gt;
&lt;P&gt;1006&amp;nbsp;&amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1007&amp;nbsp;&amp;nbsp; C&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data annual_fee;&lt;/P&gt;
&lt;P&gt;input Class$ Annual_Fee;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;A&amp;nbsp; 800&lt;/P&gt;
&lt;P&gt;B&amp;nbsp; 600&lt;/P&gt;
&lt;P&gt;C&amp;nbsp; 400&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I match and merge these two data sets so that I can get the result like the following?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;---------------------------------------------&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Class&amp;nbsp;&amp;nbsp; Annual_Fee&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp;&amp;nbsp; A&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; 800&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp;&amp;nbsp;&amp;nbsp;A&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; 800&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp;&amp;nbsp; B&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;600&lt;/P&gt;
&lt;P&gt;1006&amp;nbsp;&amp;nbsp; C&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; 400&lt;/P&gt;
&lt;P&gt;1007&amp;nbsp;&amp;nbsp; C&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;400&lt;/P&gt;
&lt;P&gt;-------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help or advice would be really appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;</description>
    <pubDate>Sun, 17 Jul 2016 03:56:02 GMT</pubDate>
    <dc:creator>sasworker16</dc:creator>
    <dc:date>2016-07-17T03:56:02Z</dc:date>
    <item>
      <title>Simple Question About Merging and Matching Data in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285086#M58210</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#1. Merging Two Data Sets that contains common and unique&amp;nbsp;values for each&amp;nbsp;data set&amp;nbsp;into one single data set.&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;data passenger_group1;&lt;/P&gt;
&lt;P&gt;input ID;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&lt;/P&gt;
&lt;P&gt;1002&lt;/P&gt;
&lt;P&gt;1003&lt;/P&gt;
&lt;P&gt;1006&lt;/P&gt;
&lt;P&gt;1007&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data passenger_group2;&lt;/P&gt;
&lt;P&gt;inputID;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&lt;/P&gt;
&lt;P&gt;1002&lt;/P&gt;
&lt;P&gt;1003&lt;/P&gt;
&lt;P&gt;1004&lt;/P&gt;
&lt;P&gt;1005&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data passenger_group1and2;&lt;/P&gt;
&lt;P&gt;set passenger_group1 passenger_group2;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=passenger_group1and2 out=passenger_want nodupkey; by ID; run;&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-&amp;gt; This seems to be working, but is there an efficient way to do this by using PROC SQL?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#2. Merging and Matching Two Data Sets&lt;/P&gt;
&lt;P&gt;-----------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;data passenger_group1;&lt;/P&gt;
&lt;P&gt;input ID Class$;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp;&amp;nbsp; A&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp;&amp;nbsp;&amp;nbsp;A&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp;&amp;nbsp; B&lt;/P&gt;
&lt;P&gt;1006&amp;nbsp;&amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1007&amp;nbsp;&amp;nbsp; C&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data annual_fee;&lt;/P&gt;
&lt;P&gt;input Class$ Annual_Fee;&lt;/P&gt;
&lt;P&gt;cards;&lt;/P&gt;
&lt;P&gt;A&amp;nbsp; 800&lt;/P&gt;
&lt;P&gt;B&amp;nbsp; 600&lt;/P&gt;
&lt;P&gt;C&amp;nbsp; 400&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I match and merge these two data sets so that I can get the result like the following?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;---------------------------------------------&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Class&amp;nbsp;&amp;nbsp; Annual_Fee&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp;&amp;nbsp; A&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; 800&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp;&amp;nbsp;&amp;nbsp;A&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; 800&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp;&amp;nbsp; B&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;600&lt;/P&gt;
&lt;P&gt;1006&amp;nbsp;&amp;nbsp; C&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; 400&lt;/P&gt;
&lt;P&gt;1007&amp;nbsp;&amp;nbsp; C&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;400&lt;/P&gt;
&lt;P&gt;-------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help or advice would be really appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;</description>
      <pubDate>Sun, 17 Jul 2016 03:56:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285086#M58210</guid>
      <dc:creator>sasworker16</dc:creator>
      <dc:date>2016-07-17T03:56:02Z</dc:date>
    </item>
    <item>
      <title>Re: Please Help: Simple Question About Merging and Matching Data in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285087#M58211</link>
      <description>&lt;P&gt;&lt;U&gt;For # 2&amp;nbsp;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table want as select p.*, a.Annual_Fee from passenger_group1 p, annual_fee a where&lt;BR /&gt;a.class=p.class;&lt;BR /&gt;quit;&lt;U&gt;&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 17 Jul 2016 03:38:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285087#M58211</guid>
      <dc:creator>atul_desh</dc:creator>
      <dc:date>2016-07-17T03:38:26Z</dc:date>
    </item>
    <item>
      <title>Re: Simple Question About Merging and Matching Data in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285088#M58212</link>
      <description>&lt;P&gt;&lt;U&gt;For #1&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table combined as&lt;BR /&gt;select * from passenger_group1 a, passenger_group2 b where a.ID=b.ID;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Sun, 17 Jul 2016 04:02:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285088#M58212</guid>
      <dc:creator>atul_desh</dc:creator>
      <dc:date>2016-07-17T04:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: Simple Question About Merging and Matching Data in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285093#M58213</link>
      <description>&lt;P&gt;1. Union in SQL, the Venn diagrams are very helpful here.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/sqlproc/69049/HTML/default/viewer.htm#n0vo2lglyrnexwn14emi8m0jqvrj.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/sqlproc/69049/HTML/default/viewer.htm#n0vo2lglyrnexwn14emi8m0jqvrj.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. You have many options - this is generally called a look up. You can do a SQL join, proc format or a data step merge, or a hash table.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/sqlproc/69049/HTML/default/viewer.htm#p0o4a5ac71mcchn1kc1zhxdnm139.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/sqlproc/69049/HTML/default/viewer.htm#p0o4a5ac71mcchn1kc1zhxdnm139.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 17 Jul 2016 06:54:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285093#M58213</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-07-17T06:54:49Z</dc:date>
    </item>
    <item>
      <title>Re: Simple Question About Merging and Matching Data in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285106#M58220</link>
      <description>&lt;P&gt;Your first example doesn't look to be a "merge". Instead you are concatenating (or in SQL speak UNIONing) the tables.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Data step, assuming data is already sorted ;
data both;
  set group1 group2;
  by id;
run;

* SQL code ;
proc sql ;
  create table both as
    select * from group1
    union
    select * from group2
  ;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The second example looks like a merge. &amp;nbsp;The SAS code is easier than the SQL code, but you need pre-sort the data.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Data step, assuming data is already sorted ;
data both;
  merge group1 fees;
  by class;
run;

* SQL code ;
proc sql ;
  create table both as
    select a.id
         , coalesce(a.class,b.class) as class
         , b.Annual_Fee 
    from group1 a
    full join fees b
    on a.class = b.class
  ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 17 Jul 2016 16:43:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Simple-Question-About-Merging-and-Matching-Data-in-SAS/m-p/285106#M58220</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2016-07-17T16:43:26Z</dc:date>
    </item>
  </channel>
</rss>

