<?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: HASH Vlookup in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482723#M15044</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/221594"&gt;@jpm2478&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, you have a dataset like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Key Loc $ Pt_key;
cards;
101 ORD 102
105 LIC 505
107 MTI 209
102 STL 103
200 FBI 108
201 INV 101
202 ROC 603
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And you want to add column Pt_Loc containing the Loc value from dataset HAVE that can be found by looking up Pt_key in column Key (searching top-down until the first match, assigning a missing value if no matching Key is found)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This could be implemented as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
if _n_=1 then do;
  dcl hash h(dataset:'have(rename=(loc=_loc))');
  h.definekey('key');
  h.definedata('_loc');
  h.definedone();
  if 0 then set have(keep=loc rename=(loc=_loc));
end;
set have;
if h.find(key: pt_key)=0 then Pt_Loc=_loc;
drop _loc;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 31 Jul 2018 08:17:59 GMT</pubDate>
    <dc:creator>FreelanceReinh</dc:creator>
    <dc:date>2018-07-31T08:17:59Z</dc:date>
    <item>
      <title>HASH Vlookup</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482581#M15039</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using Hash Tables. My question is how do I do a vlookup type in HASH on the same Dataset. Below is the set and the last column is the lookup on Key.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to do it using Hash as I have over 3 million rows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Key&lt;/TD&gt;&lt;TD&gt;Loc&lt;/TD&gt;&lt;TD&gt;Pt_key&lt;/TD&gt;&lt;TD&gt;Pt_Loc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;ORD&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;STL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;LIC&lt;/TD&gt;&lt;TD&gt;505&lt;/TD&gt;&lt;TD&gt;MCI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;107&lt;/TD&gt;&lt;TD&gt;MTI&lt;/TD&gt;&lt;TD&gt;209&lt;/TD&gt;&lt;TD&gt;QUI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;STL&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;KOI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;FBI&lt;/TD&gt;&lt;TD&gt;108&lt;/TD&gt;&lt;TD&gt;PIY&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201&lt;/TD&gt;&lt;TD&gt;INV&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;ORD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;ROC&lt;/TD&gt;&lt;TD&gt;603&lt;/TD&gt;&lt;TD&gt;LOB&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Mon, 30 Jul 2018 19:36:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482581#M15039</guid>
      <dc:creator>jpm2478</dc:creator>
      <dc:date>2018-07-30T19:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: HASH Vlookup</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482582#M15040</link>
      <description>&lt;P&gt;I don't get it. Is this your actual data? Why do you want to look something up that is already in your data?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please be more specific and shows us your desired outcome?&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jul 2018 19:39:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482582#M15040</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-07-30T19:39:22Z</dc:date>
    </item>
    <item>
      <title>Re: HASH Vlookup</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482621#M15042</link>
      <description>It's an Inner Join.&amp;nbsp; The Pt_Loc is based upon the Pt_key The Pt_key &amp;amp; Key are location specific. It is exactly as if you do a vlookup in last column and reference column A &amp;amp; B.</description>
      <pubDate>Mon, 30 Jul 2018 21:41:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482621#M15042</guid>
      <dc:creator>jpm2478</dc:creator>
      <dc:date>2018-07-30T21:41:36Z</dc:date>
    </item>
    <item>
      <title>Re: HASH Vlookup</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482706#M15043</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/221594"&gt;@jpm2478&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;It's an Inner Join.&amp;nbsp; The Pt_Loc is based upon the Pt_key The Pt_key &amp;amp; Key are location specific. It is exactly as if you do a vlookup in last column and reference column A &amp;amp; B.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The data you've posted is the result&amp;nbsp;you're after but doesn't show us the source tables. Can you please post these and then show us the desired result?&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jul 2018 05:31:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482706#M15043</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2018-07-31T05:31:53Z</dc:date>
    </item>
    <item>
      <title>Re: HASH Vlookup</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482723#M15044</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/221594"&gt;@jpm2478&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, you have a dataset like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Key Loc $ Pt_key;
cards;
101 ORD 102
105 LIC 505
107 MTI 209
102 STL 103
200 FBI 108
201 INV 101
202 ROC 603
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And you want to add column Pt_Loc containing the Loc value from dataset HAVE that can be found by looking up Pt_key in column Key (searching top-down until the first match, assigning a missing value if no matching Key is found)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This could be implemented as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
if _n_=1 then do;
  dcl hash h(dataset:'have(rename=(loc=_loc))');
  h.definekey('key');
  h.definedata('_loc');
  h.definedone();
  if 0 then set have(keep=loc rename=(loc=_loc));
end;
set have;
if h.find(key: pt_key)=0 then Pt_Loc=_loc;
drop _loc;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jul 2018 08:17:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/HASH-Vlookup/m-p/482723#M15044</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2018-07-31T08:17:59Z</dc:date>
    </item>
  </channel>
</rss>

