<?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: Using a Hash Object to Create a Chain Of Values in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92460#M26324</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hai.kuo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; So I have adapted your script into what I need, but it still isn't quite working. &lt;/P&gt;&lt;P&gt; Could you let me know where I am going wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data customer_list (keep=Country All_Customers);&lt;/P&gt;&lt;P&gt;length All_Customers $200.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h1(dataset:'orion.customer', multidata:'y');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definekey('Country');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definedata('Customer_ID');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h2(dataset:'orion.customer');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h2.definekey('Country');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h2.definedone(); &lt;/P&gt;&lt;P&gt;dcl hiter h2i('h2');&lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.first();&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;do while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; do _rc=h1.find() by 0 while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_id=catx(',',All_Customers,Customer_ID);&lt;/P&gt;&lt;P&gt;_rc=h1.find_next(); &lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing (All_Customers, Customer_ID);&lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.next();&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set orion.customer /*(obs=1)*/;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;proc print data=customer_list;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My log looks normal:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.CUSTOMER_LIST has 7 observations and 2 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.06 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alisa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Apr 2012 20:28:50 GMT</pubDate>
    <dc:creator>InfoAlisaA</dc:creator>
    <dc:date>2012-04-23T20:28:50Z</dc:date>
    <item>
      <title>Using a Hash Object to Create a Chain Of Values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92458#M26322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I was wondering if someone might know how to do this because unfortunately I do not have an example to go from in my notes.&lt;/P&gt;&lt;P&gt; What I have is a dataset with a bunch of Customer IDs and their countries which I need to turn into something that looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Country&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt; ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29, 41, 53, 111, 171, 183, 195, 215&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;If there is anyone out there who would know how to use hash objects to concatenate a list like this together, it would be greatly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt; padding: 1pt 4pt;"&gt;&lt;SPAN style="font-size: 8pt; font-family: 'SAS Monospace';"&gt;Alisa&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 18:35:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92458#M26322</guid>
      <dc:creator>InfoAlisaA</dc:creator>
      <dc:date>2012-04-23T18:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Using a Hash Object to Create a Chain Of Values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92459#M26323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I don't why you have to use hash(), since there are better and established approaches out there without involving hash(), but I guess it is the special requirement of your homework. Try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input country$ id$;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;au 1&lt;/P&gt;&lt;P&gt;au 2&lt;/P&gt;&lt;P&gt;usa 3&lt;/P&gt;&lt;P&gt;usa 4&lt;/P&gt;&lt;P&gt;usa 5&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (keep=country new_id);&lt;/P&gt;&lt;P&gt;length new_id $50.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have(obs=1);&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h1(dataset:'have', multidata:'y');&lt;/P&gt;&lt;P&gt;h1.definekey('country');&lt;/P&gt;&lt;P&gt;h1.definedata(all:'y');&lt;/P&gt;&lt;P&gt;h1.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h2(dataset:'have');&lt;/P&gt;&lt;P&gt;h2.definekey('country');&lt;/P&gt;&lt;P&gt;h2.definedone();&amp;nbsp; &lt;/P&gt;&lt;P&gt;dcl hiter h2i('h2'); &lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.first();&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; do _rc=h1.find() by 0 while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_id=catx(',',new_id,id);&lt;/P&gt;&lt;P&gt;_rc=h1.find_next();&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing (new_id);&lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.next();&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 19:32:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92459#M26323</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-23T19:32:50Z</dc:date>
    </item>
    <item>
      <title>Re: Using a Hash Object to Create a Chain Of Values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92460#M26324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hai.kuo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; So I have adapted your script into what I need, but it still isn't quite working. &lt;/P&gt;&lt;P&gt; Could you let me know where I am going wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data customer_list (keep=Country All_Customers);&lt;/P&gt;&lt;P&gt;length All_Customers $200.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h1(dataset:'orion.customer', multidata:'y');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definekey('Country');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definedata('Customer_ID');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; dcl hash h2(dataset:'orion.customer');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h2.definekey('Country');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h2.definedone(); &lt;/P&gt;&lt;P&gt;dcl hiter h2i('h2');&lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.first();&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;do while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; do _rc=h1.find() by 0 while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_id=catx(',',All_Customers,Customer_ID);&lt;/P&gt;&lt;P&gt;_rc=h1.find_next(); &lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing (All_Customers, Customer_ID);&lt;/P&gt;&lt;P&gt;&amp;nbsp; _rc=h2i.next();&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set orion.customer /*(obs=1)*/;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;proc print data=customer_list;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My log looks normal:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: There were 77 observations read from the data set ORION.CUSTOMER.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.CUSTOMER_LIST has 7 observations and 2 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.06 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alisa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 20:28:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92460#M26324</guid>
      <dc:creator>InfoAlisaA</dc:creator>
      <dc:date>2012-04-23T20:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: Using a Hash Object to Create a Chain Of Values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92461#M26325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hai.kuo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I figured out where my issue was.&lt;/P&gt;&lt;P&gt; Everything works fine now!&lt;/P&gt;&lt;P&gt; Thank you so much for your help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alisa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 21:02:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-a-Hash-Object-to-Create-a-Chain-Of-Values/m-p/92461#M26325</guid>
      <dc:creator>InfoAlisaA</dc:creator>
      <dc:date>2012-04-23T21:02:48Z</dc:date>
    </item>
  </channel>
</rss>

