<?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 tables  in SAS Viya with CAS processing. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851291#M336455</link>
    <description>&lt;P&gt;The declare, in the documentation,&amp;nbsp; references reading from work library not cas library.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*create table with duplicate IDs, numeric and character variables;
data test;
do id=1 to 100000 ;
	var_n=id*2;
   var_c=cats(_N_,"_n_",var_n);
	output;
	var_n=1/id;
   var_c=cats(_N_,"_f_",var_n);
	output;
end;
run;

8use Hash for aggregation by ID;
data _null_;
  if _n_=1 then do;
      dcl hash h(ordered:"A");
      h.defineKey("id");
      h.defineData("id","var","var_c");
      h.defineDone();
	end;
set test end=lr;


if h.find()=0 then do;
 var=sum(var,var_n);
 h.replace();
end;
else do;
 var=var_n;
 h.add();
end;
 if lr then h.output(dataset:'out'); 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The log from the above program running on a work server gets me 100000,which is exactly how many I do expect-- because in the first data step we have two entries per each id.&lt;/P&gt;
&lt;DIV id="sasLogNote3_1672193094853" class="sasNote"&gt;NOTE: The data set WORK.OUT has 100000 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193094853" class="sasNote"&gt;NOTE: There were 200000 observations read from the data set WORK.TEST.&lt;/DIV&gt;
&lt;DIV id="sasLogNote5_1672193094853" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;real time 0.16 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;user cpu time 0.12 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;system cpu time 0.04 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;memory 33531.40k&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;OS Memory 65156.00k&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;libname casuser cas;
data casuser.test;
do id=1 to 100000 ;
	var_n=id*2;
   var_c=cats(_N_,"_n_",var_n);
	output;
	var_n=1/id;
   var_c=cats(_N_,"_f_",var_n);
	output;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
The above creates expected 200k entries in CAS library--works as expected.&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;
&lt;DIV id="sasLogNote1_1672193310661" class="sasNote"&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;/DIV&gt;
&lt;DIV id="sasLogNote2_1672193310661" class="sasNote"&gt;NOTE: The DATA step has no input data set and will run in a single thread.&lt;/DIV&gt;
&lt;DIV id="sasLogNote3_1672193310661" class="sasNote"&gt;NOTE: The table test in caslib CASUSER(xxxx) has 200000 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193310661" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;real time 0.29 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;user cpu time 0.01 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;system cpu time 0.00 seconds&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  if _n_=1 then do;
      dcl hash h(ordered:"A");
      h.defineKey("id");
      h.defineData("id","var","var_c");
      h.defineDone();
	end;
set casuser.test end=lr;

if h.find()=0 then do;
 var=sum(var,var_n);
 h.replace();
end;
else do;
 var=var_n;
 h.add();
end;
 if lr then h.output(dataset:'out'); 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE class="sasLog" style="background-color: transparent; -webkit-user-select: text; -webkit-user-modify: read-only; -webkit-touch-callout: default; border-top-width: 0px; border-bottom-width: 0px;"&gt;Running the above with reference to casuser.test --cas library produces, some extra 5 entries&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;
&lt;DIV id="sasLogNote1_1672193420929" class="sasNote"&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;/DIV&gt;
&lt;DIV id="sasLogNote2_1672193420929" class="sasNote"&gt;NOTE: The DATA step will run in multiple threads.&lt;/DIV&gt;
&lt;DIV id="sasLogNote3_1672193420929" class="sasNote"&gt;NOTE: There were 200000 observations read from the table TEST in caslib CASUSER(xxxx).&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193420929" class="sasNote"&gt;NOTE: The table out in caslib CASUSER(xxxx) has 100005 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote5_1672193420929" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE id="pre_sasLog_183" class="sasLog" style="background-color: transparent; -webkit-user-select: text; -webkit-user-modify: read-only; -webkit-touch-callout: default; border-top-width: 0px; border-bottom-width: 0px;"&gt;&lt;BR /&gt;The above is very basic sample; I am using iterators and and multiple hashes--code works in SAS processing on a single work station. Only when start using CAS the total numbers for rows are way off and the data becomes meaningless.&lt;/PRE&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 28 Dec 2022 02:44:51 GMT</pubDate>
    <dc:creator>val_nikolajevs</dc:creator>
    <dc:date>2022-12-28T02:44:51Z</dc:date>
    <item>
      <title>HASH tables  in SAS Viya with CAS processing.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851285#M336453</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I am trying to re purpose SAS code for use in SAS Viya with CAS.&lt;/P&gt;
&lt;P&gt;Can be hash tables integrated with CAS, so multi thread processing is done and intermediary results are stored in CAS Memory?&lt;/P&gt;
&lt;P&gt;When I use SAS 9.4 code with Hash tables code, referencing cas library in the set statement, the hash_table.output (dataset:'out');&lt;/P&gt;
&lt;P&gt;creates a cas library casuser.out. However, this table contains junk data character variables look something like this:&lt;/P&gt;
&lt;TABLE id="__jsview7--data3--dataTable_Data1-table" class="sapUiTableCtrl sapUiTableCtrlRowScroll sapUiTableCtrlScroll" style="width: 2476px; min-width: 2476px;" role="presentation" data-sap-ui-table-acc-covered="overlay,nodata" aria-describedby="__jsview7--data3--dataTable_Data1-ariasummary"&gt;
&lt;TBODY&gt;
&lt;TR id="__jsview7--data3--dataTable_Data1-rows-row0" class="sapUiTableRowEven sapUiTableTr sapUiTableRowHvr sapUiTableRowSel" style="height: 30.9833px;" data-sap-ui="__jsview7--data3--dataTable_Data1-rows-row0" data-sap-ui-rowindex="0" aria-owns="__jsview7--data3--dataTable_Data1-rowsel0" aria-selected="true"&gt;
&lt;TD class="sapUiTableTd" data-sap-ui-colid="__column48" aria-hidden="true" aria-selected="true"&gt;
&lt;DIV class="sapUiTableCell"&gt;&lt;SPAN class="sapMText sapMTextMaxWidth sapMTextNoWrap sasMText" data-sap-ui="__text66-col1_0-row0_0"&gt;�����a�@��&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/TD&gt;
&lt;TD class="sapUiTableTd" data-sap-ui-colid="__column49" aria-hidden="true" aria-selected="true"&gt;
&lt;DIV class="sapUiTableCell"&gt;&lt;SPAN class="sapMText sapMTextMaxWidth sapMTextNoWrap sasMText" data-sap-ui="__text68-col2_0-row0_0"&gt;���S�@�����&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp; all dates got to 1960 year value and numeric are zeros.&lt;/P&gt;
&lt;P&gt;When do debugging, I can see that the cas library is read correctly.&lt;/P&gt;
&lt;P&gt;Does CAS even support hash tables--could not find anything in the documentation.&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Dec 2022 23:31:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851285#M336453</guid>
      <dc:creator>val_nikolajevs</dc:creator>
      <dc:date>2022-12-27T23:31:42Z</dc:date>
    </item>
    <item>
      <title>Re: HASH tables  in SAS Viya with CAS processing.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851288#M336454</link>
      <description>&lt;P&gt;The documentation of the &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lecompobjref/p00ilfw5pzcjvtn1nfya9863fozd.htm" target="_blank" rel="noopener"&gt;DECLARE&lt;/A&gt; statement shows it is also of type CAS.&lt;/P&gt;
&lt;P&gt;Please post the complete log of the step creating the dataset.&lt;/P&gt;</description>
      <pubDate>Tue, 27 Dec 2022 23:53:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851288#M336454</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-12-27T23:53:48Z</dc:date>
    </item>
    <item>
      <title>Re: HASH tables  in SAS Viya with CAS processing.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851291#M336455</link>
      <description>&lt;P&gt;The declare, in the documentation,&amp;nbsp; references reading from work library not cas library.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*create table with duplicate IDs, numeric and character variables;
data test;
do id=1 to 100000 ;
	var_n=id*2;
   var_c=cats(_N_,"_n_",var_n);
	output;
	var_n=1/id;
   var_c=cats(_N_,"_f_",var_n);
	output;
end;
run;

8use Hash for aggregation by ID;
data _null_;
  if _n_=1 then do;
      dcl hash h(ordered:"A");
      h.defineKey("id");
      h.defineData("id","var","var_c");
      h.defineDone();
	end;
set test end=lr;


if h.find()=0 then do;
 var=sum(var,var_n);
 h.replace();
end;
else do;
 var=var_n;
 h.add();
end;
 if lr then h.output(dataset:'out'); 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The log from the above program running on a work server gets me 100000,which is exactly how many I do expect-- because in the first data step we have two entries per each id.&lt;/P&gt;
&lt;DIV id="sasLogNote3_1672193094853" class="sasNote"&gt;NOTE: The data set WORK.OUT has 100000 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193094853" class="sasNote"&gt;NOTE: There were 200000 observations read from the data set WORK.TEST.&lt;/DIV&gt;
&lt;DIV id="sasLogNote5_1672193094853" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;real time 0.16 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;user cpu time 0.12 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;system cpu time 0.04 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;memory 33531.40k&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;OS Memory 65156.00k&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;libname casuser cas;
data casuser.test;
do id=1 to 100000 ;
	var_n=id*2;
   var_c=cats(_N_,"_n_",var_n);
	output;
	var_n=1/id;
   var_c=cats(_N_,"_f_",var_n);
	output;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
The above creates expected 200k entries in CAS library--works as expected.&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;
&lt;DIV id="sasLogNote1_1672193310661" class="sasNote"&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;/DIV&gt;
&lt;DIV id="sasLogNote2_1672193310661" class="sasNote"&gt;NOTE: The DATA step has no input data set and will run in a single thread.&lt;/DIV&gt;
&lt;DIV id="sasLogNote3_1672193310661" class="sasNote"&gt;NOTE: The table test in caslib CASUSER(xxxx) has 200000 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193310661" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;real time 0.29 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;user cpu time 0.01 seconds&lt;/DIV&gt;
&lt;DIV class="sasNote"&gt;system cpu time 0.00 seconds&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  if _n_=1 then do;
      dcl hash h(ordered:"A");
      h.defineKey("id");
      h.defineData("id","var","var_c");
      h.defineDone();
	end;
set casuser.test end=lr;

if h.find()=0 then do;
 var=sum(var,var_n);
 h.replace();
end;
else do;
 var=var_n;
 h.add();
end;
 if lr then h.output(dataset:'out'); 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE class="sasLog" style="background-color: transparent; -webkit-user-select: text; -webkit-user-modify: read-only; -webkit-touch-callout: default; border-top-width: 0px; border-bottom-width: 0px;"&gt;Running the above with reference to casuser.test --cas library produces, some extra 5 entries&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;
&lt;DIV id="sasLogNote1_1672193420929" class="sasNote"&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;/DIV&gt;
&lt;DIV id="sasLogNote2_1672193420929" class="sasNote"&gt;NOTE: The DATA step will run in multiple threads.&lt;/DIV&gt;
&lt;DIV id="sasLogNote3_1672193420929" class="sasNote"&gt;NOTE: There were 200000 observations read from the table TEST in caslib CASUSER(xxxx).&lt;/DIV&gt;
&lt;DIV id="sasLogNote4_1672193420929" class="sasNote"&gt;NOTE: The table out in caslib CASUSER(xxxx) has 100005 observations and 3 variables.&lt;/DIV&gt;
&lt;DIV id="sasLogNote5_1672193420929" class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE id="pre_sasLog_183" class="sasLog" style="background-color: transparent; -webkit-user-select: text; -webkit-user-modify: read-only; -webkit-touch-callout: default; border-top-width: 0px; border-bottom-width: 0px;"&gt;&lt;BR /&gt;The above is very basic sample; I am using iterators and and multiple hashes--code works in SAS processing on a single work station. Only when start using CAS the total numbers for rows are way off and the data becomes meaningless.&lt;/PRE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 28 Dec 2022 02:44:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/851291#M336455</guid>
      <dc:creator>val_nikolajevs</dc:creator>
      <dc:date>2022-12-28T02:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: HASH tables  in SAS Viya with CAS processing.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/866026#M342006</link>
      <description>&lt;P&gt;I can replicate this behavior except I get 100009 rows (usually):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;BR /&gt;NOTE: The DATA step will run in multiple threads.&lt;BR /&gt;NOTE: There were 200000 observations read from the table TEST in caslib CASUSER.&lt;BR /&gt;NOTE: The table out in caslib CASUSER has 100009 observations and 7 variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think what is happening here is a timing issue.&amp;nbsp; I updated the hash definition to include the threadid and hostname both when a row is added to the hash and when it is replaced:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  length hostname hostname_add $50;
  if _n_=1 then do;
      dcl hash h(ordered:"A");
      h.defineKey("id");
      h.defineData("id","var","var_c", "threadid_add", "threadid_replace", "hostname_add", "hostname_replace");
      h.defineDone();
      call missing(threadid, threadid_add, hostname, hostname_add);
   end;
set casuser.test end=lr;
*by id;

if h.find()=0 then do;
 var=sum(var,var_n);
 threadid_replace = _threadid_;
 hostname_replace = _hostname_;
 h.replace();
end;
else do;
 var=var_n;
 threadid_add = _threadid_;
 hostname_add = _hostname_;
 h.add();
end;
if lr then h.output(dataset:'out'); 
run;

data dup_id_rows;
set casuser.out;
by id;
if not (first.id and last.id);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The dup_id_rows dataset contains the 18 rows associated with the 9 "extra" ids.&amp;nbsp; In each case, the id was added to the hash twice by a separate thread and never replaced.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hash.JPG" style="width: 814px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/81965iB2C79DF2201B7475/image-size/large?v=v2&amp;amp;px=999" role="button" title="hash.JPG" alt="hash.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is no locking of the hash table going on behind the scenes, so I think these are instances where the second thread checked the hash before the first thread's add was completed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The issue is not as pronounced as it could be, in this particular case, because the casuser.test table is not distributed across all the worker nodes.&amp;nbsp; When it was initially created, the log said:&lt;/P&gt;
&lt;P&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;BR /&gt;NOTE: The DATA step has no input data set and will run in a single thread.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It can be distributed by running table.partition:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc cas;
table.partition / casout={caslib="casuser", name="test", replace=true} table={caslib="casuser", name="test"} ;   
table.tabledetails / caslib="casuser" name="test" level="node";
table.tableinfo / table="test";
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My system has 4 workers, so the output of table.tabledetails now shows 50k rows on each node instead of 200k on one node.&amp;nbsp; When I run the hash DATA step there are now 100088 rows due to more threads at work:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;BR /&gt;NOTE: The DATA step will run in multiple threads.&lt;BR /&gt;NOTE: There were 200000 observations read from the table TEST in caslib CASUSER.&lt;BR /&gt;NOTE: The table out in caslib CASUSER has 100088 observations and 7 variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To avoid this and still run multi-threaded, we can make all the rows associated with a given ID be processed by the same thread.&amp;nbsp; This can be done by adding BY ID; to the DATA step.&amp;nbsp; I have it in the above code but commented out.&amp;nbsp; When I uncomment and run, there are 100000 rows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NOTE: Running DATA step in Cloud Analytic Services.&lt;BR /&gt;NOTE: The DATA step will run in multiple threads.&lt;BR /&gt;NOTE: There were 200000 observations read from the table TEST in caslib CASUSER.&lt;BR /&gt;NOTE: The table out in caslib CASUSER has 100000 observations and 7 variables.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 01:19:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/866026#M342006</guid>
      <dc:creator>DerylHollick</dc:creator>
      <dc:date>2023-03-24T01:19:08Z</dc:date>
    </item>
    <item>
      <title>Re: HASH tables  in SAS Viya with CAS processing.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/866196#M342070</link>
      <description>&lt;P&gt;Thank you for getting to the solution!&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 16:56:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/HASH-tables-in-SAS-Viya-with-CAS-processing/m-p/866196#M342070</guid>
      <dc:creator>val_nikolajevs</dc:creator>
      <dc:date>2023-03-24T16:56:32Z</dc:date>
    </item>
  </channel>
</rss>

