<?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 one to many. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299065#M62983</link>
    <description>&lt;P&gt;Should I ignore the tolerance level such as 50% or 20%?&lt;/P&gt;</description>
    <pubDate>Sat, 17 Sep 2016 01:49:36 GMT</pubDate>
    <dc:creator>Khadem</dc:creator>
    <dc:date>2016-09-17T01:49:36Z</dc:date>
    <item>
      <title>Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299040#M62973</link>
      <description>&lt;P&gt;Dear Members:&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to research as well as to SAS. I am having the following problem. I highly appreciate your attempts. [ I have basic ideas about base sas&amp;nbsp;and proc sql].&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two datasets:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Sample Dataset:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Company &amp;nbsp; SIC &amp;nbsp;ROE &amp;nbsp; &amp;nbsp; &amp;nbsp;TA&lt;/P&gt;&lt;P&gt;AA &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;2% &amp;nbsp; &amp;nbsp; &amp;nbsp; 500&lt;/P&gt;&lt;P&gt;BB &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;600&lt;/P&gt;&lt;P&gt;CC &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 300 &amp;nbsp;7% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400&lt;/P&gt;&lt;P&gt;DD &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; 8.5% &amp;nbsp; &amp;nbsp; 300&lt;/P&gt;&lt;P&gt;EE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; 9.5% &amp;nbsp; &amp;nbsp; 345&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Control dataset:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Company &amp;nbsp; SIC &amp;nbsp;ROE &amp;nbsp; &amp;nbsp; &amp;nbsp; TA&lt;/P&gt;&lt;P&gt;XX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;3% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;550&lt;/P&gt;&lt;P&gt;YY &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;5.4% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;680&lt;/P&gt;&lt;P&gt;ZZ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 300 &amp;nbsp;7.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500&lt;/P&gt;&lt;P&gt;PP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; 6.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;600&lt;/P&gt;&lt;P&gt;SS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; 5.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; 745&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need at least two companies from control dataset for every single sample company from sample dataset. Please let me know sample codes. The codes my be in proc sql&amp;nbsp;or base sas&amp;nbsp;format. Thank you. &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 20:51:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299040#M62973</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-16T20:51:37Z</dc:date>
    </item>
    <item>
      <title>One to many matching--Having two companies for each sample company.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299041#M62974</link>
      <description>&lt;P&gt;Dear Members:&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to research as well as to SAS. I am having the following problem. I highly appreciate your attempts. [ I have basic ideas about base sas&amp;nbsp;and proc sql].&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two datasets:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Sample Dataset:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Company &amp;nbsp; SIC &amp;nbsp;ROE &amp;nbsp; &amp;nbsp; &amp;nbsp;TA&lt;/P&gt;&lt;P&gt;AA &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;2% &amp;nbsp; &amp;nbsp; &amp;nbsp; 500&lt;/P&gt;&lt;P&gt;BB &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;600&lt;/P&gt;&lt;P&gt;CC &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 300 &amp;nbsp;7% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400&lt;/P&gt;&lt;P&gt;DD &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; 8.5% &amp;nbsp; &amp;nbsp; 300&lt;/P&gt;&lt;P&gt;EE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; 9.5% &amp;nbsp; &amp;nbsp; 345&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Control dataset:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Company &amp;nbsp; SIC &amp;nbsp;ROE &amp;nbsp; &amp;nbsp; &amp;nbsp; TA&lt;/P&gt;&lt;P&gt;XX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;3% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;550&lt;/P&gt;&lt;P&gt;YY &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp;5.4% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;680&lt;/P&gt;&lt;P&gt;ZZ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 300 &amp;nbsp;7.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500&lt;/P&gt;&lt;P&gt;PP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; 6.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;600&lt;/P&gt;&lt;P&gt;SS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; 5.5% &amp;nbsp; &amp;nbsp; &amp;nbsp; 745&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need at least two companies from control dataset for every single sample company from sample dataset. Please let me know sample codes. The codes my be in proc sql&amp;nbsp;or base sas&amp;nbsp;format. Thank you. &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 20:57:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299041#M62974</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-16T20:57:01Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299042#M62975</link>
      <description>&lt;P&gt;What's your criteria for 'matching'?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 21:15:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299042#M62975</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-16T21:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299043#M62976</link>
      <description>&lt;P&gt;My matching should be on the basis of SIC, ROE, and TA. TA and ROE maybe within a range, say 25% or 50%.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 21:16:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299043#M62976</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-16T21:16:23Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299044#M62977</link>
      <description>&lt;P&gt;And can a company be matched multiple times? You really need to specify your criteria more clearly.&amp;nbsp;&lt;BR /&gt;If you search for propensity matching you'll find algorithm and code examples online.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 21:18:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299044#M62977</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-16T21:18:36Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299047#M62978</link>
      <description>&lt;P&gt;Thank you for your reply.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need at least two companies for every sample company, and I want to do that on the basis of ROE, TA, and SIC.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;say for example, for company AA, I need company XX and YY.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your inputs.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2016 21:30:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299047#M62978</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-16T21:30:42Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299050#M62979</link>
      <description>&lt;P&gt;Untested, will do all matches and you'll need to filter them down.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select a.*, b.company_id as control_id, b.roe as control_roe, b.ta as control_ta
from table1 as a
left join table2 as b
on a.sic=b.sic
and (a.roe-b.roe)/a.roe between -0.2 and 0.2
and (a.ta - b.ta)/a.ta between -.02 and 0.2; /*0.2 is 20%*/
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 16 Sep 2016 21:53:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299050#M62979</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-16T21:53:10Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299061#M62981</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sample;
input company$ sic roe ta;
datalines;
AA 100 5.5 100
BB 100 5.6 200
CC 200 6.5 300
DD 400 5.8 300
EE 400 8.9 500
;
run;
proc print data=sample;
run;

data control;
input company$ sic roe ta;
datalines;
XX 100 5.4 100
YY 100 5.9 200
DE 100 5.6 200
RR 200 6.4 300
RE 200 7.5 400
RT 300 6.5 450
TT 400 5.9 300
TR 400 9.8 500
;
run;
proc print data=Control;
run;

proc sql;
create table want as
select a.*, b.company as control, b.roe as control_roe, b.ta as control_ta
from sample as a
left join control as b
on a.sic=b.sic
and (a.roe-b.roe)/a.roe between -0.5 and 0.7
and (a.ta - b.ta)/a.ta between -.02 and 0.2; /*0.2 is 20%*/
quit;

proc print data=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I have run the above code and found the following:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;The SAS System 


Obs company sic roe ta control control_roe control_ta 
1    AA     100 5.5 100  XX    5.4       100 
2    BB     100 5.6 200  YY    5.9       200 
3    CC     200 6.5 300  RR    6.4       300 
4    DD     400 5.8 300  TT    5.9       300 
5    EE     400 8.9 500  TR    9.8       500 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;But I want, for example, for company BB, match companies will be YY and DE. That codes give me only YY for BB. How can I have both YY and DE for BB.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your efforts.&lt;/P&gt;</description>
      <pubDate>Sat, 17 Sep 2016 01:17:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299061#M62981</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-17T01:17:54Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299062#M62982</link>
      <description>&lt;P&gt;Must not be within the tolerance levels you set. What is the percent diff for your matching variables?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit: Yes, it's outside the tolerance levels set. Modify to your requirements.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 17 Sep 2016 01:33:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299062#M62982</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-17T01:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299065#M62983</link>
      <description>&lt;P&gt;Should I ignore the tolerance level such as 50% or 20%?&lt;/P&gt;</description>
      <pubDate>Sat, 17 Sep 2016 01:49:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299065#M62983</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-17T01:49:36Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299068#M62984</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/103831"&gt;@Khadem&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Should I ignore the tolerance level such as 50% or 20%?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;It's your specifications, not mine. I assume there's some rationale to your boundaries.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The company in Q was -5%, the interval used was -2 to 20%.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 17 Sep 2016 02:34:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299068#M62984</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-17T02:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: Matching one to many.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299071#M62985</link>
      <description>&lt;P&gt;Thank you. Let me try with some modifications. I will let you know.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 17 Sep 2016 02:38:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299071#M62985</guid>
      <dc:creator>Khadem</dc:creator>
      <dc:date>2016-09-17T02:38:04Z</dc:date>
    </item>
    <item>
      <title>Re: One to many matching--Having two companies for each sample company.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299074#M62987</link>
      <description>&lt;PRE&gt;
Can you post the output you want see ?
And what do you mean by "I need at least two companies from control dataset " ?
Is there any rules to pick up these at least two companies ?
&lt;/PRE&gt;</description>
      <pubDate>Sat, 17 Sep 2016 03:05:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Matching-one-to-many/m-p/299074#M62987</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-09-17T03:05:34Z</dc:date>
    </item>
  </channel>
</rss>

