<?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: creating flag and percentage calculation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717844#M222065</link>
    <description>&lt;P&gt;Here is the flag part. Do you want the second output as a SAS data set or a report?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
input Account_number $ Billing_Period $;
datalines;
12345678 201611
12345679 201611
12345680 201611
12345681 201611
12345682 201611
12345683 201611
12345684 201611
12345685 201611
12345686 201611
12345687 201611
;

data b;
input Account_number $ Billing_Period $;
datalines;
12345672 201611
12345679 201611
12345680 201611
12345681 201611
12345682 201611
12345683 201611
12345687 201611
12345685 201611
12345686 201611
12345687 201611
;

data want;
   if _N_ = 1 then do;
      dcl hash h(dataset : "b");
      h.definekey("Account_number");
      h.definedone();
   end;

   set a;

   flag = (h.find() = 0);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Feb 2021 11:31:41 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2021-02-09T11:31:41Z</dc:date>
    <item>
      <title>creating flag and percentage calculation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717840#M222063</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have two datasets A and B both are having more than 16 million records&lt;/P&gt;
&lt;P&gt;I am trying to create a Flag based on the account_numbers e.g., if dataset A Account_number matches with Account_number from B dataset then the Flag should be 1 if not matches then Flag = 0&lt;/P&gt;
&lt;P&gt;Matches Flag = 1&lt;/P&gt;
&lt;P&gt;Mismatch Flag = 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to see the percentage by Flag 1 &amp;amp; 0&lt;/P&gt;
&lt;P&gt;for. eg., if i have total 10 records, out of&amp;nbsp;which 8 matches in Dataset A and B then Flag 1&amp;nbsp;should be 80% and Flag 0 should be 20%&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am looking for outputs like Output 1 &amp;amp; Outpu 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dataset A&lt;/P&gt;
&lt;TABLE width="201"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="112"&gt;Account_number&lt;/TD&gt;
&lt;TD width="89"&gt;Billing_Period&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345678&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345679&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345680&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345681&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345682&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345683&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345684&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345685&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345686&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345687&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dataset B&lt;/P&gt;
&lt;TABLE width="201"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="112"&gt;Account_number&lt;/TD&gt;
&lt;TD width="89"&gt;Billing_Period&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345672&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345679&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345680&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345681&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345682&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345683&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345687&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345685&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345686&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345687&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expected Output 1:&lt;/P&gt;
&lt;TABLE width="377"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="112"&gt;Account_number&lt;/TD&gt;
&lt;TD width="112"&gt;Account_number&lt;/TD&gt;
&lt;TD width="89"&gt;Billing_Period&lt;/TD&gt;
&lt;TD width="64"&gt;Flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345678&lt;/TD&gt;
&lt;TD&gt;12345672&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345679&lt;/TD&gt;
&lt;TD&gt;12345679&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345680&lt;/TD&gt;
&lt;TD&gt;12345680&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345681&lt;/TD&gt;
&lt;TD&gt;12345681&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345682&lt;/TD&gt;
&lt;TD&gt;12345682&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345683&lt;/TD&gt;
&lt;TD&gt;12345683&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345684&lt;/TD&gt;
&lt;TD&gt;12345688&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345685&lt;/TD&gt;
&lt;TD&gt;12345685&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345686&lt;/TD&gt;
&lt;TD&gt;12345686&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345687&lt;/TD&gt;
&lt;TD&gt;12345687&lt;/TD&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expected output 2:&lt;/P&gt;
&lt;TABLE width="209"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="89"&gt;Billing_Period&lt;/TD&gt;
&lt;TD width="47"&gt;Flag&lt;/TD&gt;
&lt;TD width="73"&gt;Percentage&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;80&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;201611&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;nreddy&lt;/P&gt;</description>
      <pubDate>Tue, 09 Feb 2021 11:23:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717840#M222063</guid>
      <dc:creator>vnreddy</dc:creator>
      <dc:date>2021-02-09T11:23:03Z</dc:date>
    </item>
    <item>
      <title>Re: creating flag and percentage calculation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717844#M222065</link>
      <description>&lt;P&gt;Here is the flag part. Do you want the second output as a SAS data set or a report?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
input Account_number $ Billing_Period $;
datalines;
12345678 201611
12345679 201611
12345680 201611
12345681 201611
12345682 201611
12345683 201611
12345684 201611
12345685 201611
12345686 201611
12345687 201611
;

data b;
input Account_number $ Billing_Period $;
datalines;
12345672 201611
12345679 201611
12345680 201611
12345681 201611
12345682 201611
12345683 201611
12345687 201611
12345685 201611
12345686 201611
12345687 201611
;

data want;
   if _N_ = 1 then do;
      dcl hash h(dataset : "b");
      h.definekey("Account_number");
      h.definedone();
   end;

   set a;

   flag = (h.find() = 0);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Feb 2021 11:31:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717844#M222065</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2021-02-09T11:31:41Z</dc:date>
    </item>
    <item>
      <title>Re: creating flag and percentage calculation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717857#M222068</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ds_a;
input account_number $ billing_period :yymmn6.;
format billing_period yymmn6.;
datalines;
12345678  201611
12345679  201611
12345680  201611
12345681  201611
12345682  201611
12345683  201611
12345684  201611
12345685  201611
12345686  201611
12345687  201611
;

data ds_b;
input account_number $ billing_period :yymmn6.;
format billing_period yymmn6.;
datalines;
12345672  201611
12345679  201611
12345680  201611
12345681  201611
12345682  201611
12345683  201611
12345687  201611
12345685  201611
12345686  201611
12345687  201611
;

data want;
set ds_a;
if _n_ = 1
then do;
  declare hash b (dataset:"ds_b");
  b.definekey("account_number","billing_period");
  b.definedone();
end;
flag = (b.check() = 0);
run;

proc freq data=want;
tables billing_period*flag / out=want2;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 09 Feb 2021 11:45:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/creating-flag-and-percentage-calculation/m-p/717857#M222068</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-02-09T11:45:39Z</dc:date>
    </item>
  </channel>
</rss>

