<?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: How to merge data sets based on a if statement? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583792#M14027</link>
    <description>&lt;P&gt;The statements between DO-END creates an instance of a look up table in memory aka Hash memory table. During execution of the datastep, values are loaded from table1 into the LOOK UP table. It's instance is name &lt;STRONG&gt;h&lt;/STRONG&gt;. It is of type hash which a non-scalar value or in other words will hold instance pointing to the values from table1 that is loaded.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The find() method is a look up method to look up values in table1 from table2 using key values that match.When the match is found, the dot-notation method &lt;EM&gt;results in 0 implicitly for true matches and a non zero values for non-matches&lt;/EM&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The condition if h.find()=0 requests for only true matches to be written to the output. In a nutshell, we are doing a lookup operation that's an equivalent of a join.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope that helps.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 25 Aug 2019 21:04:02 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2019-08-25T21:04:02Z</dc:date>
    <item>
      <title>How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583450#M13971</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would want to merge 2 data sets, where in the tables look like this:&lt;/P&gt;&lt;P&gt;table1:&lt;/P&gt;&lt;P&gt;SID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CID&amp;nbsp; &amp;nbsp; &amp;nbsp; Flag&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; country&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; US&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; US&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;non-name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NZ&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;non-name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UK&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;table 2:&lt;/P&gt;&lt;P&gt;SID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CID&amp;nbsp; &amp;nbsp; &amp;nbsp;FLAG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Country&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; US&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; active&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; US&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; active&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;non-name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NZ&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; active&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;non-name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; active&lt;/P&gt;&lt;P&gt;10&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;active&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so i want to merge the above tables&amp;nbsp;&lt;/P&gt;&lt;P&gt;if SID is not equal to blank or flag is name then merge the table by SID and country&lt;/P&gt;&lt;P&gt;else if SID is equal to blank or flag is non-name then merge the above table by CID and country.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note:- if there is an SID it will have the flag as 'name'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The data step i am using is very basic and it doesnt work.&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have1 (keep= SID CID FLAG COUNTRY)&lt;/P&gt;&lt;P&gt;have2 (keep=SID CID FLAG COUNTRY STATUS);&lt;/P&gt;&lt;P&gt;by SID CID COUNTRY&lt;/P&gt;&lt;P&gt;IF FLAG = NAMED output SID;&lt;/P&gt;&lt;P&gt;else output CID;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i wonder if there is a better way to merge with this condition. Appreciate your time and help!&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2019 12:45:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583450#M13971</guid>
      <dc:creator>codyV</dc:creator>
      <dc:date>2019-08-23T12:45:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583451#M13972</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/286322"&gt;@codyV&lt;/a&gt;&amp;nbsp; &amp;nbsp;Can you please post the expected output for the input samples?&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2019 12:47:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583451#M13972</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-23T12:47:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583455#M13973</link>
      <description>Accepted Output:&lt;BR /&gt;SID CID Flag country status&lt;BR /&gt;1 2 name US active&lt;BR /&gt;2 4 name US active&lt;BR /&gt;5 non-name NZ active&lt;BR /&gt;7 non-name UK active&lt;BR /&gt;&lt;BR /&gt;I need to merge the data by SID for the flag- name which is the first priority!&lt;BR /&gt;Appreciate your help!</description>
      <pubDate>Fri, 23 Aug 2019 12:53:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583455#M13973</guid>
      <dc:creator>codyV</dc:creator>
      <dc:date>2019-08-23T12:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583456#M13974</link>
      <description>&lt;P&gt;Hi and welcome to the SAS Communities &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What does your desired result look like? Makes it easier to provide a usable code answer.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, if your data is representable, your request is equivalent to merging on &lt;SPAN&gt;CID and Country since they are both present and non missing in both data sets?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2019 12:54:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583456#M13974</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-08-23T12:54:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583459#M13975</link>
      <description>&lt;P&gt;Hope this helps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
input SID       CID      Flag   $           country $;
cards;
1            2         name              US
2            4         name              US
.              5         non-name       NZ
.              7         non-name       UK
;

data table2;
input SID       CID     (FLAG             Country          status) ($);
cards;
1            2         name              US                active
2            4         name              US                active
.              5         non-name       NZ                active
 .             7         non-name       UK                active
10          6         name               UK               active
;

proc sql;
create table want as
select a.*,status
from table1 a, table2 b
where (a.SID&amp;gt;. or a.flag='name') and (a.sid=b.sid and a.country=b.country) or
(a.SID=. or a.flag='non-name') and (a.cid=b.cid and a.country=b.country);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Aug 2019 13:00:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583459#M13975</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-23T13:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583462#M13976</link>
      <description>&lt;P&gt;Apologies for the mere example given earlier!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is how the tables look and the expected result in precise:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 1:-&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SID&lt;/TD&gt;&lt;TD&gt;CID&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;FLAG&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;COUNTRY&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;UK&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;AUS&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;NZ&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;UK&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Table 2:-&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;SID&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;CID&lt;/TD&gt;&lt;TD&gt;Flag&lt;/TD&gt;&lt;TD&gt;COUNTRY&lt;/TD&gt;&lt;TD&gt;STATUS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;AUS&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;NZ&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;UK&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&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;/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;/TR&gt;&lt;TR&gt;&lt;TD&gt;Result:-&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;SID&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;CID&lt;/TD&gt;&lt;TD&gt;Flag&lt;/TD&gt;&lt;TD&gt;COUNTRY&lt;/TD&gt;&lt;TD&gt;STATUS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;AUS&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;NZ&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;non-name&lt;/TD&gt;&lt;TD&gt;UK&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;US&lt;/TD&gt;&lt;TD&gt;active&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2019 13:09:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583462#M13976</guid>
      <dc:creator>codyV</dc:creator>
      <dc:date>2019-08-23T13:09:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583463#M13977</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/286322"&gt;@codyV&lt;/a&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On taking a closer look, methinks all variables in Table1&amp;nbsp; can be used as keys&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
input SID       CID      Flag   $           country $;
cards;
1            2         name              US
2            4         name              US
.              5         non-name       NZ
.              7         non-name       UK
;

data table2;
input SID       CID     (FLAG             Country          status) ($);
cards;
1            2         name              US                active
2            4         name              US                active
.              5         non-name       NZ                active
 .             7         non-name       UK                active
10          6         name               UK               active
;


data want ;
if _n_=1 then do;
   dcl hash H (dataset:'table1') ;
   h.definekey  (all:'y') ;
   h.definedata (all:'y') ;
   h.definedone () ;
end;
set table2;
if h.find()=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Aug 2019 13:10:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583463#M13977</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-23T13:10:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583464#M13978</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
infile cards expandtabs truncover;
input SID       CID      Flag   $           country $;
cards;
1	3	name	US	 
2	 .	name	US	 
4	4	name	UK	 
 .	6	non-name	AUS	 
 .	8	non-name	NZ	 
 .	9	non-name	UK	 
9	7	name	US	 
 .	10	non-name	US
;

data table2;
infile cards expandtabs truncover;
input SID       CID     (FLAG             Country          status) ($);
cards;
1	3	name	US	active
2	. 	name	US	active
5	. 	name	 .	active
. 	6	non-name	AUS	active
7	. 	name	 .	active
8	. 	name	 .	active
. 	8	non-name	NZ	active
. 	9	non-name	UK	active
9	7	name	US	active
;


data want ;
if _n_=1 then do;
   dcl hash H (dataset:'table1') ;
   h.definekey  (all:'y') ;
   h.definedata (all:'y') ;
   h.definedone () ;
end;
set table2;
if h.find()=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;RESULT:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 3 name US active&lt;BR /&gt;2 . name US active&lt;BR /&gt;. 6 non-name AUS active&lt;BR /&gt;. 8 non-name NZ active&lt;BR /&gt;. 9 non-name UK active&lt;BR /&gt;9 7 name US active&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2019 13:18:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583464#M13978</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-23T13:18:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583788#M14025</link>
      <description>Proc sql did work but it has been taking too much time to run the data behind....! Many Thanks &amp;amp; appreciate your support</description>
      <pubDate>Sun, 25 Aug 2019 20:45:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583788#M14025</guid>
      <dc:creator>codyV</dc:creator>
      <dc:date>2019-08-25T20:45:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583789#M14026</link>
      <description>if you help me understand the do statement bit, as to how will it help me provide the expected result</description>
      <pubDate>Sun, 25 Aug 2019 20:48:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583789#M14026</guid>
      <dc:creator>codyV</dc:creator>
      <dc:date>2019-08-25T20:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge data sets based on a if statement?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583792#M14027</link>
      <description>&lt;P&gt;The statements between DO-END creates an instance of a look up table in memory aka Hash memory table. During execution of the datastep, values are loaded from table1 into the LOOK UP table. It's instance is name &lt;STRONG&gt;h&lt;/STRONG&gt;. It is of type hash which a non-scalar value or in other words will hold instance pointing to the values from table1 that is loaded.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The find() method is a look up method to look up values in table1 from table2 using key values that match.When the match is found, the dot-notation method &lt;EM&gt;results in 0 implicitly for true matches and a non zero values for non-matches&lt;/EM&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The condition if h.find()=0 requests for only true matches to be written to the output. In a nutshell, we are doing a lookup operation that's an equivalent of a join.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope that helps.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Aug 2019 21:04:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-merge-data-sets-based-on-a-if-statement/m-p/583792#M14027</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-25T21:04:02Z</dc:date>
    </item>
  </channel>
</rss>

