<?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: Looping using 2 files in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563865#M10946</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/20840"&gt;@buckeyefisher&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have 2 files and want to compare them to create a third file. The third file should have a summary record of matches.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case number can repeat but subclasses in each file are unique per case number.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File A&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;451&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;478&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File B&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;221&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output needed&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; total subclass from A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;matched in B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Match Flag&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&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; 1&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; 0&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&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;2&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;1&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;One way:&lt;/P&gt;
&lt;PRE&gt;data work.seta;
 input Case_number  :$14.               subclass ;
datalines;
5-10-cv-00123                 434
5-10-cv-00123                 451 
5-10-cv-00123                 478
2-10-cv-00599                 510
2-10-cv-00599                 512 
;
 
data work.setb;
 input Case_number  :$14.               subclass ;
datalines;
5-10-cv-00123                 221
5-10-cv-00123                 434
2-10-cv-00599                 510
2-10-cv-00599                 512
;

proc sort data=work.seta;
   by case_number subclass;
run;
proc sort data=work.setb;
   by case_number subclass;
run;

data work.need;
   merge work.seta (in=ina)
         work.setb (in=inb)
   ;
   matched = (ina and inb);
run;

proc summary data=work.need nway;
   class case_number;
   var matched;
   output out=work.summary (drop=_type_) sum=;
run;

data want;
   set work.summary;
   label 
      _freq_='Total subclass from A'
      matched='Matched in B'
      flag ='Match Flag'
   ;
   Flag = (_freq_= matched);
run;&lt;/PRE&gt;
&lt;P&gt;Note the use of a DATASTEP to provide example data that can be used for&amp;nbsp;testing. Also posting code in a code box opened with the {I} to maintain basic formatting and set aside as actual code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the ORDER of the records is important then additional stuff needs to be added.&lt;/P&gt;
&lt;P&gt;This will likely not yield the desired result if there are subclass in set B not in A OR if subclasses repeat in either set. You would need to provide specific logic on handling that situation. The likely place would be in the data step for work.need with additional variable(s) for INB not INA.&lt;/P&gt;
&lt;P&gt;A small key bit in this code is that SAS returns a numeric 1 for True and 0 for false. So you get 1 or 0 results in the&lt;/P&gt;
&lt;PRE&gt;matched = (ina and inb);&lt;BR /&gt;and&lt;BR /&gt;Flag = (_freq_ = matched);&lt;/PRE&gt;
&lt;P&gt;statements.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Jun 2019 19:58:12 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-06-05T19:58:12Z</dc:date>
    <item>
      <title>Looping using 2 files</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563821#M10940</link>
      <description>&lt;P&gt;I have 2 files and want to compare them to create a third file. The third file should have a summary record of matches.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case number can repeat but subclasses in each file are unique per case number.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File A&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;451&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;478&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File B&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;221&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output needed&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; total subclass from A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;matched in B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Match Flag&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&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; 1&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; 0&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&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;2&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;1&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2019 18:36:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563821#M10940</guid>
      <dc:creator>buckeyefisher</dc:creator>
      <dc:date>2019-06-05T18:36:37Z</dc:date>
    </item>
    <item>
      <title>Re: Looping using 2 files</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563865#M10946</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/20840"&gt;@buckeyefisher&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have 2 files and want to compare them to create a third file. The third file should have a summary record of matches.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case number can repeat but subclasses in each file are unique per case number.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File A&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;451&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;478&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File B&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subclass&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;221&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;434&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;510&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;512&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output needed&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Case_number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; total subclass from A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;matched in B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Match Flag&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5-10-cv-00123&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&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; 1&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; 0&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-10-cv-00599&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&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;2&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;1&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;One way:&lt;/P&gt;
&lt;PRE&gt;data work.seta;
 input Case_number  :$14.               subclass ;
datalines;
5-10-cv-00123                 434
5-10-cv-00123                 451 
5-10-cv-00123                 478
2-10-cv-00599                 510
2-10-cv-00599                 512 
;
 
data work.setb;
 input Case_number  :$14.               subclass ;
datalines;
5-10-cv-00123                 221
5-10-cv-00123                 434
2-10-cv-00599                 510
2-10-cv-00599                 512
;

proc sort data=work.seta;
   by case_number subclass;
run;
proc sort data=work.setb;
   by case_number subclass;
run;

data work.need;
   merge work.seta (in=ina)
         work.setb (in=inb)
   ;
   matched = (ina and inb);
run;

proc summary data=work.need nway;
   class case_number;
   var matched;
   output out=work.summary (drop=_type_) sum=;
run;

data want;
   set work.summary;
   label 
      _freq_='Total subclass from A'
      matched='Matched in B'
      flag ='Match Flag'
   ;
   Flag = (_freq_= matched);
run;&lt;/PRE&gt;
&lt;P&gt;Note the use of a DATASTEP to provide example data that can be used for&amp;nbsp;testing. Also posting code in a code box opened with the {I} to maintain basic formatting and set aside as actual code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the ORDER of the records is important then additional stuff needs to be added.&lt;/P&gt;
&lt;P&gt;This will likely not yield the desired result if there are subclass in set B not in A OR if subclasses repeat in either set. You would need to provide specific logic on handling that situation. The likely place would be in the data step for work.need with additional variable(s) for INB not INA.&lt;/P&gt;
&lt;P&gt;A small key bit in this code is that SAS returns a numeric 1 for True and 0 for false. So you get 1 or 0 results in the&lt;/P&gt;
&lt;PRE&gt;matched = (ina and inb);&lt;BR /&gt;and&lt;BR /&gt;Flag = (_freq_ = matched);&lt;/PRE&gt;
&lt;P&gt;statements.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2019 19:58:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563865#M10946</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-06-05T19:58:12Z</dc:date>
    </item>
    <item>
      <title>Re: Looping using 2 files</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563880#M10950</link>
      <description>&lt;BR /&gt;Thanks, following code is giving incorrect results. Do need to say BY after merge?&lt;BR /&gt;data work.need;&lt;BR /&gt;   merge work.seta (in=ina)&lt;BR /&gt;         work.setb (in=inb)&lt;BR /&gt;   ;&lt;BR /&gt;   matched = (ina and inb);&lt;BR /&gt;run;&lt;BR /&gt;</description>
      <pubDate>Wed, 05 Jun 2019 20:21:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/563880#M10950</guid>
      <dc:creator>buckeyefisher</dc:creator>
      <dc:date>2019-06-05T20:21:46Z</dc:date>
    </item>
    <item>
      <title>Re: Looping using 2 files</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/564092#M10983</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.seta;
 input Case_number  : $14.               subclass ;
datalines;
5-10-cv-00123                 434
5-10-cv-00123                 451 
5-10-cv-00123                 478
2-10-cv-00599                 510
2-10-cv-00599                 512 
;
 
data work.setb;
 input Case_number  : $14.               subclass ;
datalines;
5-10-cv-00123                 221
5-10-cv-00123                 434
2-10-cv-00599                 510
2-10-cv-00599                 512
;
proc sql;
create table temp_a as
 select  case_number,count(*) as n_from_a
  from seta 
   group by case_number;

create table temp as
select 	case_number,count(*) as match_in_b
from (
select *
 from seta
intersect
select *
 from setb
 )
 group by case_number;

create table want as
select a.*,match_in_b ,(n_from_a=match_in_b) as flag
 from temp_a as a left join temp as b
  on a.case_number=b.case_number;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Jun 2019 13:55:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Looping-using-2-files/m-p/564092#M10983</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2019-06-06T13:55:04Z</dc:date>
    </item>
  </channel>
</rss>

