<?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: Strange SAS Hash Object in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296370#M62074</link>
    <description>&lt;PRE&gt;
Because phone and email have been retained . Call missing them before h.find().


if _N_=1 then do;
		declare hash h(dataset:"work.two");
		h.definekey("name","age");
		h.definedata("phone", "email");
		h.definedone();
	end;
call missing(phone,email);
	rc = h.find();

&lt;/PRE&gt;</description>
    <pubDate>Sun, 04 Sep 2016 07:42:49 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2016-09-04T07:42:49Z</dc:date>
    <item>
      <title>Strange SAS Hash Object</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296363#M62070</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying hard to figure out how this works and I can't seem to manage it. Why do I get any output on the phone and email of Henry using the code below? It seems to me that the hash object doesn't seem to look up the values based on the name and age as specified in the key. Am I doing something wrong?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data H_one;
	length 
		name $10
		age 8
		address $20
	;
	input name $ age address $;

datalines;
John 8 Street_123
John 15 Drive_456
Henry 23 Road_789
run;

data H_two;
	length 
		name $10
		age 8
		phone $10
		email $20
	;
	input name $ age phone $ email $;

datalines;
John 8 1234 abc@abc
John 15 5678 def@def
ABC 25 91011 ghi@ghi
DEF 29 23232 jkl@jkl
run;

data H_three;
	set one;
	length 
		phone $10
		email $20
	;

	if _N_=1 then do;
		declare hash h(dataset:"work.two");
		h.definekey("name","age");
		h.definedata("phone", "email");
		h.definedone();
	end;

	rc = h.find();

run;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2016 07:00:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296363#M62070</guid>
      <dc:creator>_SAS_</dc:creator>
      <dc:date>2016-09-04T07:00:18Z</dc:date>
    </item>
    <item>
      <title>Re: Strange SAS Hash Object</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296366#M62072</link>
      <description>&lt;P&gt;You created datasets: H_one, H_two&lt;/P&gt;&lt;P&gt;but in your 3rd step your reference to work.ONE, work.TWO&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;change last step to:&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token data string"&gt;data H_three&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;	set &lt;FONT color="#FF0000"&gt;H_&lt;/FONT&gt;one&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;	length 
		phone $10
		email $20
	&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;

	&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; _N_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="token keyword"&gt;declare&lt;/SPAN&gt; hash h&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;dataset:&lt;SPAN class="token string"&gt;"work.&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;H_&lt;/STRONG&gt;&lt;/FONT&gt;two"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
		h&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definekey&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"age"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
		h&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definedata&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"phone"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"email"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
		h&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definedone&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;

	rc &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; h&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;find&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2016 07:34:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296366#M62072</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-09-04T07:34:28Z</dc:date>
    </item>
    <item>
      <title>Re: Strange SAS Hash Object</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296370#M62074</link>
      <description>&lt;PRE&gt;
Because phone and email have been retained . Call missing them before h.find().


if _N_=1 then do;
		declare hash h(dataset:"work.two");
		h.definekey("name","age");
		h.definedata("phone", "email");
		h.definedone();
	end;
call missing(phone,email);
	rc = h.find();

&lt;/PRE&gt;</description>
      <pubDate>Sun, 04 Sep 2016 07:42:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296370#M62074</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-09-04T07:42:49Z</dc:date>
    </item>
    <item>
      <title>Re: Strange SAS Hash Object</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296375#M62079</link>
      <description>&lt;P&gt;Can't believe I did such a stupid mistake, thanks a lot for your support &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2016 08:00:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-SAS-Hash-Object/m-p/296375#M62079</guid>
      <dc:creator>_SAS_</dc:creator>
      <dc:date>2016-09-04T08:00:21Z</dc:date>
    </item>
  </channel>
</rss>

