<?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: I was trying to merge data only where exists in both datasets. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412867#M100998</link>
    <description>&lt;P&gt;Don' post Excel files for examples. Excel files do not convey important metadata needed to recreate datasets. Use a data step instead.&lt;/P&gt;
&lt;P&gt;See this example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tab1;
input date :mmddyy10. member code $ amount;
format date mmddyy10.;
cards;
4/1/2017 	50000 	ABC 	5
4/1/2017 	50000 	DEF 	7
4/1/2017 	50000 	XYZ 	4
3/1/2017 	  	PQR 	6
3/1/2017 	6000 	EFX 	 
3/1/2017 	70000 	VXB 	5
3/1/2017 	70000 	IDJ 	9
;
run;

data tab2;
input date :mmddyy10. member age name $30.;
cards;
4/1/2017 	50000 	43 	JAMES SCHMIDT
4/1/2017 	50000 	54 	JACK BALDWIN
4/1/2017 	50000 	32 	DAVID OPACK
4/1/2017 	50000 	23 	HEATHER MARKS
4/1/2017 	50000 	49 	DANIEL LUNSTAD
3/1/2017 	70000 	  	JACK BALDWIN
3/1/2017 	70000 	46 	JAMES SCHMIDT
3/1/2017 	5222 	75 	DANIEL LUNSTAD
;
run;

proc sort data=tab1;
by date member;
run;

proc sort data=tab2;
by date member;
run;

data want;
if _n_ = 0 then merge tab1 tab2;
call missing (of _all_);
merge
  tab1
  tab2
;
by date member;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result of the data step merge:&lt;/P&gt;
&lt;PRE&gt;      date    member    code    amount    age         name

03/01/2017         .    	PQR       6        .                   
03/01/2017      5222               .       75    	DANIEL LUNSTAD
03/01/2017      6000    	EFX       .        .                   
03/01/2017     70000    	VXB       5        .    	JACK BALDWIN 
03/01/2017     70000    	IDJ       9       46    	JAMES SCHMIDT
04/01/2017     50000    	ABC       5       43    	JAMES SCHMIDT
04/01/2017     50000    	DEF       7       54    	JACK BALDWIN 
04/01/2017     50000    	XYZ       4       32    	DAVID OPACK  
04/01/2017     50000               .       23    	HEATHER MARKS 
04/01/2017     50000               .       49    	DANIEL LUNSTAD
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 13 Nov 2017 12:39:54 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-11-13T12:39:54Z</dc:date>
    <item>
      <title>I was trying to merge data only where exists in both datasets.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412843#M100990</link>
      <description>&lt;P&gt;I have two tables TAB1 and TAB2,&amp;nbsp; Both have two common variables followed by other different variables. so what i need here is&lt;/P&gt;
&lt;P&gt;When we join both the tables i need all the records from both the tables. But the condition here is if both the table have common variables it has to merge the data else no.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tab1 :&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; &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; &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="265"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="73"&gt;Date&lt;/TD&gt;
&lt;TD width="64"&gt;Member&lt;/TD&gt;
&lt;TD width="64"&gt;Code&lt;/TD&gt;
&lt;TD width="64"&gt;Amount&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;XYZ&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;PQR&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;6000&lt;/TD&gt;
&lt;TD&gt;EFX&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;VXB&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;IDJ&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&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;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tab2&lt;/P&gt;
&lt;TABLE width="321"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Date&lt;/TD&gt;
&lt;TD width="64"&gt;Member&lt;/TD&gt;
&lt;TD width="64"&gt;Age&lt;/TD&gt;
&lt;TD width="129"&gt;Name&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;43&lt;/TD&gt;
&lt;TD&gt;JAMES SCHMIDT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;54&lt;/TD&gt;
&lt;TD&gt;JACK BALDWIN&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;32&lt;/TD&gt;
&lt;TD&gt;DAVID OPACK&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;HEATHER MARKS&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;49&lt;/TD&gt;
&lt;TD&gt;DANIEL LUNSTAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;JACK BALDWIN&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;46&lt;/TD&gt;
&lt;TD&gt;JAMES SCHMIDT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;5222&lt;/TD&gt;
&lt;TD&gt;75&lt;/TD&gt;
&lt;TD&gt;DANIEL LUNSTAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Required output;&lt;/P&gt;
&lt;TABLE width="455"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Date&lt;/TD&gt;
&lt;TD width="64"&gt;Member&lt;/TD&gt;
&lt;TD width="64"&gt;Code&lt;/TD&gt;
&lt;TD width="64"&gt;Amount&lt;/TD&gt;
&lt;TD width="86"&gt;Age&lt;/TD&gt;
&lt;TD width="113"&gt;Name&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&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;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;PQR&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;5222&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;75&lt;/TD&gt;
&lt;TD&gt;DANIEL LUNSTAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;6000&lt;/TD&gt;
&lt;TD&gt;EFX&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&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;VXB&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;JACK BALDWIN&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3/1/2017&lt;/TD&gt;
&lt;TD&gt;70000&lt;/TD&gt;
&lt;TD&gt;IDJ&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;46&lt;/TD&gt;
&lt;TD&gt;JAMES SCHMIDT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;43&lt;/TD&gt;
&lt;TD&gt;JAMES SCHMIDT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;54&lt;/TD&gt;
&lt;TD&gt;JACK BALDWIN&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;XYZ&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;32&lt;/TD&gt;
&lt;TD&gt;DAVID OPACK&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;HEATHER MARKS&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/1/2017&lt;/TD&gt;
&lt;TD&gt;50000&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;49&lt;/TD&gt;
&lt;TD&gt;DANIEL LUNSTAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;
&lt;P&gt;Tlnarayana.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 12:11:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412843#M100990</guid>
      <dc:creator>tlnarayana26</dc:creator>
      <dc:date>2017-11-13T12:11:10Z</dc:date>
    </item>
    <item>
      <title>Re: I was trying this data tab3;merge tab1 tab2;by comnvar; run;</title>
      <link>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412857#M100993</link>
      <description>&lt;P&gt;What does it mean that a memeber (5000 date=4q1q2017) has two different names and different age?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You cam join the two datasets using sql:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql
       create table want as select a.* , b.*
        from tab1 as a
        inner join tab2 as b
        on a.date = b.date and a.member=b.member;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 13 Nov 2017 12:01:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412857#M100993</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-11-13T12:01:01Z</dc:date>
    </item>
    <item>
      <title>Re: I was trying to merge data only where exists in both datasets.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412867#M100998</link>
      <description>&lt;P&gt;Don' post Excel files for examples. Excel files do not convey important metadata needed to recreate datasets. Use a data step instead.&lt;/P&gt;
&lt;P&gt;See this example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tab1;
input date :mmddyy10. member code $ amount;
format date mmddyy10.;
cards;
4/1/2017 	50000 	ABC 	5
4/1/2017 	50000 	DEF 	7
4/1/2017 	50000 	XYZ 	4
3/1/2017 	  	PQR 	6
3/1/2017 	6000 	EFX 	 
3/1/2017 	70000 	VXB 	5
3/1/2017 	70000 	IDJ 	9
;
run;

data tab2;
input date :mmddyy10. member age name $30.;
cards;
4/1/2017 	50000 	43 	JAMES SCHMIDT
4/1/2017 	50000 	54 	JACK BALDWIN
4/1/2017 	50000 	32 	DAVID OPACK
4/1/2017 	50000 	23 	HEATHER MARKS
4/1/2017 	50000 	49 	DANIEL LUNSTAD
3/1/2017 	70000 	  	JACK BALDWIN
3/1/2017 	70000 	46 	JAMES SCHMIDT
3/1/2017 	5222 	75 	DANIEL LUNSTAD
;
run;

proc sort data=tab1;
by date member;
run;

proc sort data=tab2;
by date member;
run;

data want;
if _n_ = 0 then merge tab1 tab2;
call missing (of _all_);
merge
  tab1
  tab2
;
by date member;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result of the data step merge:&lt;/P&gt;
&lt;PRE&gt;      date    member    code    amount    age         name

03/01/2017         .    	PQR       6        .                   
03/01/2017      5222               .       75    	DANIEL LUNSTAD
03/01/2017      6000    	EFX       .        .                   
03/01/2017     70000    	VXB       5        .    	JACK BALDWIN 
03/01/2017     70000    	IDJ       9       46    	JAMES SCHMIDT
04/01/2017     50000    	ABC       5       43    	JAMES SCHMIDT
04/01/2017     50000    	DEF       7       54    	JACK BALDWIN 
04/01/2017     50000    	XYZ       4       32    	DAVID OPACK  
04/01/2017     50000               .       23    	HEATHER MARKS 
04/01/2017     50000               .       49    	DANIEL LUNSTAD
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 12:39:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/412867#M100998</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-13T12:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: I was trying to merge data only where exists in both datasets.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/413220#M101116</link>
      <description>&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Nov 2017 07:06:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/I-was-trying-to-merge-data-only-where-exists-in-both-datasets/m-p/413220#M101116</guid>
      <dc:creator>tlnarayana26</dc:creator>
      <dc:date>2017-11-14T07:06:41Z</dc:date>
    </item>
  </channel>
</rss>

