<?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: Matching Data when they are not exactly same in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284305#M269864</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data names;
length name $20;
input name;
datalines;
Valentino Rossi
Marc Marquez
George Lorenzo
Valentino
;
run;
data nicknames;
length nickname $20;
input nickname;
datalines;
Valentino
Marc
;
run;
data test;
set names;
match=0;
do i=1 to xnobs;
set nicknames nobs=xnobs point=i;
if index(upcase(strip(name)),upcase(strip(nickname)))&amp;gt;0 then do; match=1; output; end;
end;
if match=0 then do;nickname=.;output;end;
drop match;
run;
proc print data=test;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 14 Jul 2016 12:54:49 GMT</pubDate>
    <dc:creator>ctrlx</dc:creator>
    <dc:date>2016-07-14T12:54:49Z</dc:date>
    <item>
      <title>Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284259#M269861</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have 2 datasets, which i need to match and delete those records which match. Below is sample of what i am referring to:&lt;/P&gt;&lt;P&gt;Dataset1:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino Rossi&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Marc Marquez&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;George Lorenzo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset2:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Marc&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i am using query below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;sql&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;CREATE&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;TABLE&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; del_name &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;Select&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;A.*,&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;B.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;*&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; Work.dateset1 &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; a&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;left&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;join&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; Work.Dateset2 &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; B&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;on&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; A.Name &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;like&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; B.Name&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Issue is that, it matches only exact cases and does not consider anything preceeding the first name.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name1&lt;/TD&gt;&lt;TD&gt;Name2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino Rossi&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Marc Marquez&lt;/TD&gt;&lt;TD&gt;Marc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;George Lorenzo&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Output should look something like below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Combined Data&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name1&lt;/TD&gt;&lt;TD&gt;Name2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino Rossi&lt;/TD&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Marc Marquez&lt;/TD&gt;&lt;TD&gt;Marc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;George Lorenzo&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;TD&gt;Valentino&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Appritiate your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 14 Jul 2016 07:47:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284259#M269861</guid>
      <dc:creator>Yvegunta</dc:creator>
      <dc:date>2016-07-14T07:47:11Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284266#M269862</link>
      <description>&lt;PRE&gt;data a;
	infile datalines delimiter=',';
	length name $30;
	input name;
	datalines;
Valentino Rossi
Marc Marquez
George Lorenzo
Valentino
;

data b;
	infile datalines delimiter=',';
	length name $30;
	input name;
	datalines;
Valentino
Marc
;



proc sql;
	create table want as
		select a.name as name1, 
			b.name as name2
		from a
			left join b on a.name like cats('%', b.name, '%');
quit;&lt;/PRE&gt;</description>
      <pubDate>Thu, 14 Jul 2016 08:26:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284266#M269862</guid>
      <dc:creator>udden2903</dc:creator>
      <dc:date>2016-07-14T08:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284268#M269863</link>
      <description>&lt;P&gt;If you want match the words start with in each other .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Dataset1;
input Name $40.;
cards;
Valentino Rossi
Marc Marquez
George Lorenzo
Valentino
;
run;
 
data Dataset2;
input Name $40.;
cards;
Valentino
Marc
;
run;

proc sql;
CREATE TABLE del_name as Select
A.name as name1,
B.name as name2
 
FROM Work.dataset1 as a
left join Work.Dataset2 as B
on A.Name eqt strip(B.Name)
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Jul 2016 08:32:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284268#M269863</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-07-14T08:32:28Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284305#M269864</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data names;
length name $20;
input name;
datalines;
Valentino Rossi
Marc Marquez
George Lorenzo
Valentino
;
run;
data nicknames;
length nickname $20;
input nickname;
datalines;
Valentino
Marc
;
run;
data test;
set names;
match=0;
do i=1 to xnobs;
set nicknames nobs=xnobs point=i;
if index(upcase(strip(name)),upcase(strip(nickname)))&amp;gt;0 then do; match=1; output; end;
end;
if match=0 then do;nickname=.;output;end;
drop match;
run;
proc print data=test;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 14 Jul 2016 12:54:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284305#M269864</guid>
      <dc:creator>ctrlx</dc:creator>
      <dc:date>2016-07-14T12:54:49Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284738#M269865</link>
      <description>&lt;P&gt;Thanks &lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/73651" target="_self"&gt;&lt;SPAN&gt;udden2903&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;.&lt;/P&gt;&lt;P&gt;That was a bulls eye. I was unsure on how i could use that (cats('%', b.name, '%');).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Great Help. Thank you&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2016 03:54:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284738#M269865</guid>
      <dc:creator>Yvegunta</dc:creator>
      <dc:date>2016-07-15T03:54:10Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284739#M269866</link>
      <description>&lt;P&gt;Thank you Ksharp&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2016 03:55:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284739#M269866</guid>
      <dc:creator>Yvegunta</dc:creator>
      <dc:date>2016-07-15T03:55:55Z</dc:date>
    </item>
    <item>
      <title>Re: Matching Data when they are not exactly same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284740#M269867</link>
      <description>&lt;P&gt;Thank you Ctrlx&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2016 03:56:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-Data-when-they-are-not-exactly-same/m-p/284740#M269867</guid>
      <dc:creator>Yvegunta</dc:creator>
      <dc:date>2016-07-15T03:56:27Z</dc:date>
    </item>
  </channel>
</rss>

