<?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 Matching payments to people in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47921#M12916</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without example code it is hard to optimize.&lt;/P&gt;&lt;P&gt;First thing is too make sure you are using things like LEFT JOIN instead of simple JOIN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 Nov 2011 19:03:30 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2011-11-16T19:03:30Z</dc:date>
    <item>
      <title>Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47917#M12912</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does anyone have a good idea on how to match an identifying field from one table to another table where the number may match any of 3 - 5 different identifying fields?&amp;nbsp; I tried using Proc SQL with several OR filters, but it is running forever.&amp;nbsp; I am already having to filter on a location field and date field as well and the table is very large &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.sas.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&amp;nbsp; They may also have multiple payments from that second table &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.sas.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2011 22:50:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47917#M12912</guid>
      <dc:creator>Marilyn</dc:creator>
      <dc:date>2011-11-15T22:50:12Z</dc:date>
    </item>
    <item>
      <title>Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47918#M12913</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your question will be easier to answer if you indicate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. How large (# records) is each file&lt;/P&gt;&lt;P&gt;2. Are there multiple records, in each file, for given identifying fields?&lt;/P&gt;&lt;P&gt;3. Sample data sets for both files&lt;/P&gt;&lt;P&gt;4. The file you want as a result of merging the two files and&lt;/P&gt;&lt;P&gt;5. The code you've already tried&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2011 22:54:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47918#M12913</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-11-15T22:54:29Z</dc:date>
    </item>
    <item>
      <title>Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47919#M12914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; In what format is your data stored?&lt;/P&gt;&lt;P&gt;You could consider moving it to SPDE, since it can better optimize OR filters together with indexes (as an addition to Arts wish list, how/are your tables indexed?).&lt;/P&gt;&lt;P&gt;It seems likely that your data needs restructuring.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/Linus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 10:05:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47919#M12914</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2011-11-16T10:05:56Z</dc:date>
    </item>
    <item>
      <title>Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47920#M12915</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; weight each "join" and use the total of these to indicate the likelihood of the match&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 11:31:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47920#M12915</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2011-11-16T11:31:38Z</dc:date>
    </item>
    <item>
      <title>Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47921#M12916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without example code it is hard to optimize.&lt;/P&gt;&lt;P&gt;First thing is too make sure you are using things like LEFT JOIN instead of simple JOIN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 19:03:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47921#M12916</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2011-11-16T19:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47922#M12917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;I am using a pass thru SQL query. The one file has 5 different identifying fields for individual, spouse, children, etc.&amp;nbsp; The payment file I am trying to match to has only the one identifying field but it can match to any of the 5 identifying fields in the other table.&amp;nbsp; I don't have the luxury of trying to get any of the data tables changed.&lt;/P&gt;&lt;P&gt;The payment file has at least 20 million records and the other file has about 500k records...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 22:40:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47922#M12917</guid>
      <dc:creator>Marilyn</dc:creator>
      <dc:date>2012-06-08T22:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47923#M12918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try an SQL join with a where clause like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where find( '/'!! catx('/', b.name1, b.name2, b.name3, b.name4, b.name5)!!'/', '/'!! trim(a.name)!!'/', 'i' )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the syntax seeks to find NAME in file A anywhere in the concatenation of the 5 NAMEs in file B&lt;/P&gt;&lt;P&gt;The / delimiter is designed to protect against A.NAME matching a combination or substring of the B.names&lt;/P&gt;&lt;P&gt;The 'i' modifier is intended to make the search insensitive to case&lt;/P&gt;&lt;P&gt;I haven't tested this so be cautious&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peterC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 22:59:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47923#M12918</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2012-06-08T22:59:01Z</dc:date>
    </item>
    <item>
      <title>Re: Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47924#M12919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without sample data and the output you want, it is hard to give you some advice.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jun 2012 01:59:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47924#M12919</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-06-11T01:59:30Z</dc:date>
    </item>
    <item>
      <title>Re: Matching payments to people</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47925#M12920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You may try collecting different id variables under one variable. 500K obs would go up to 2500K obs (500 x 5).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; connect to odbc(dsn=&amp;lt;yourdsnname&amp;gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table x as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from connection to odbc(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a.*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from largetable a &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select id1 id from smalltable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION ALL &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select id2 id from smalltable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION ALL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select id3 id from smalltable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION ALL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select id4 id from smalltable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION ALL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select id5 id from smalltable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) b on a.id = b.id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; disconnect from odbc;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jun 2012 07:52:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matching-payments-to-people/m-p/47925#M12920</guid>
      <dc:creator>Alpay</dc:creator>
      <dc:date>2012-06-11T07:52:32Z</dc:date>
    </item>
  </channel>
</rss>

