<?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: Alternative to proc sql update in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796772#M255700</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp; This Hash solution is working fine. Need one more help&amp;nbsp; on the same, In my master, I have few more columns which I need to mask with Masked_value from transaction, then in that case how can i generalize this solution. See example as beow&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Master&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="889"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="88"&gt;Account_ID&lt;/TD&gt;
&lt;TD width="191"&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;
&lt;TD width="68"&gt;APPL_LVR&lt;/TD&gt;
&lt;TD width="105"&gt;APPL_NO_SPLIT&lt;/TD&gt;
&lt;TD width="111"&gt;APPLICATION_ID&lt;/TD&gt;
&lt;TD width="177"&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;
&lt;TD width="85"&gt;BROKER_FLG&lt;/TD&gt;
&lt;TD width="64"&gt;Customer_id&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000007&lt;/TD&gt;
&lt;TD&gt;1.538430769&lt;/TD&gt;
&lt;TD&gt;0.6667&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;545966&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000015&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;345182&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000023&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004001&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;773280&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Transaction&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="306"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;ORIGINAL_VALUE&lt;/TD&gt;
&lt;TD width="191"&gt;MASKED_VALUE&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000007&lt;/TD&gt;
&lt;TD&gt;ABC345890&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000015&lt;/TD&gt;
&lt;TD&gt;ABC67848&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000023&lt;/TD&gt;
&lt;TD&gt;ABC77545&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;545966&lt;/TD&gt;
&lt;TD&gt;884597&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;345182&lt;/TD&gt;
&lt;TD&gt;489012&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;773280&lt;/TD&gt;
&lt;TD&gt;771811&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Output Required :&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="916"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;Account_ID&lt;/TD&gt;
&lt;TD width="191"&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;
&lt;TD width="68"&gt;APPL_LVR&lt;/TD&gt;
&lt;TD width="105"&gt;APPL_NO_SPLIT&lt;/TD&gt;
&lt;TD width="111"&gt;APPLICATION_ID&lt;/TD&gt;
&lt;TD width="177"&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;
&lt;TD width="85"&gt;BROKER_FLG&lt;/TD&gt;
&lt;TD width="64"&gt;Customer_id&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC345890&lt;/TD&gt;
&lt;TD&gt;1.538430769&lt;/TD&gt;
&lt;TD&gt;0.6667&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;884597&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC67848&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;489012&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC77545&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004001&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;771811&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you so&amp;nbsp; much in advance&lt;/P&gt;</description>
    <pubDate>Thu, 17 Feb 2022 01:47:44 GMT</pubDate>
    <dc:creator>Swapnil_21</dc:creator>
    <dc:date>2022-02-17T01:47:44Z</dc:date>
    <item>
      <title>Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796506#M255601</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to update only one column in master&amp;nbsp; based on transaction table. However, during proc sql update, its taking huge time.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is Master table&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Account_ID&lt;/TD&gt;&lt;TD&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;&lt;TD&gt;APPL_LVR&lt;/TD&gt;&lt;TD&gt;APPL_NO_SPLIT&lt;/TD&gt;&lt;TD&gt;APPLICATION_ID&lt;/TD&gt;&lt;TD&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;&lt;TD&gt;BROKER_FLG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000007&lt;/TD&gt;&lt;TD&gt;1.538430769&lt;/TD&gt;&lt;TD&gt;0.6667&lt;/TD&gt;&lt;TD&gt;400001700&lt;/TD&gt;&lt;TD&gt;400001700&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000015&lt;/TD&gt;&lt;TD&gt;4.2922&lt;/TD&gt;&lt;TD&gt;0.7368&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000023&lt;/TD&gt;&lt;TD&gt;4.2922&lt;/TD&gt;&lt;TD&gt;0.7368&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;400004001&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And Here is the Transaction Table&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ORIGINAL_VALUE&lt;/TD&gt;&lt;TD&gt;MASKED_VALUE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000007&lt;/TD&gt;&lt;TD&gt;ABC345890&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000015&lt;/TD&gt;&lt;TD&gt;ABC67848&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RAM3000023&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ABC77545&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And Here is what is required&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Account_ID&lt;/TD&gt;&lt;TD&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;&lt;TD&gt;APPL_LVR&lt;/TD&gt;&lt;TD&gt;APPL_NO_SPLIT&lt;/TD&gt;&lt;TD&gt;APPLICATION_ID&lt;/TD&gt;&lt;TD&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;&lt;TD&gt;BROKER_FLG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC345890&lt;/TD&gt;&lt;TD&gt;1.538430769&lt;/TD&gt;&lt;TD&gt;0.6667&lt;/TD&gt;&lt;TD&gt;400001700&lt;/TD&gt;&lt;TD&gt;400001700&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC67848&lt;/TD&gt;&lt;TD&gt;4.2922&lt;/TD&gt;&lt;TD&gt;0.7368&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC77545&lt;/TD&gt;&lt;TD&gt;4.2922&lt;/TD&gt;&lt;TD&gt;0.7368&lt;/TD&gt;&lt;TD&gt;400004000&lt;/TD&gt;&lt;TD&gt;400004001&lt;/TD&gt;&lt;TD&gt;CONS&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below code takes huge time&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;update master as u&lt;BR /&gt;set&amp;nbsp; account_id=(select MASKED_VALUE from new as n&lt;BR /&gt;where u.ACCOUNT_ID=n.ORIGINAL_VALUE)&lt;BR /&gt;where u.ACCOUNT_ID in (select ORIGINAL_VALUE from new);&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But this is taking huge time. Any help on alternatives is really appreciated&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Feb 2022 10:48:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796506#M255601</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-02-16T10:48:49Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796508#M255602</link>
      <description>&lt;P&gt;First question. Is either of your tables located on a data base? Or are they both SAS data sets?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Feb 2022 10:54:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796508#M255602</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-16T10:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796509#M255603</link>
      <description>Both are sas datasets</description>
      <pubDate>Wed, 16 Feb 2022 10:56:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796509#M255603</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-02-16T10:56:33Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796510#M255604</link>
      <description>&lt;P&gt;How large are they?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Feb 2022 10:57:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796510#M255604</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-16T10:57:31Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796514#M255605</link>
      <description>&lt;P&gt;Also, are both data sets sorted ?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Feb 2022 11:08:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796514#M255605</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-16T11:08:52Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796518#M255606</link>
      <description>Both are sorted.&lt;BR /&gt;&lt;BR /&gt;Master table size 10003476&lt;BR /&gt;Transaction table size 13567892</description>
      <pubDate>Wed, 16 Feb 2022 11:30:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796518#M255606</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-02-16T11:30:40Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796523#M255608</link>
      <description>&lt;P&gt;Then try this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data master;
input Account_ID :$10. APPL_LOAN_PCT_GROSS_INC APPL_LVR APPL_NO_SPLIT APPLICATION_ID BASEL_RETAIL_CORP_CODE $ BROKER_FLG $;
datalines;
RAM3000007 1.538430769 0.6667 400001700 400001700 CONS N
RAM3000015 4.2922      0.7368 400004000 400004000 CONS N
RAM3000023 4.2922      0.7368 400004000 400004001 CONS N
;

data transaction;
input ORIGINAL_VALUE :$10. MASKED_VALUE :$10.;
datalines;
RAM3000007 ABC345890
RAM3000015 ABC67848
RAM3000023 ABC77545
;

data master;
   modify master transaction(rename = ORIGINAL_VALUE = Account_ID);
   by Account_ID;
   Account_ID = MASKED_VALUE;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Feb 2022 12:13:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796523#M255608</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-16T12:13:21Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796524#M255609</link>
      <description>&lt;P&gt;Try Hash Table, if your memory of PC is big enough .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data master;
infile cards expandtabs truncover;
input (Account_ID	APPL_LOAN_PCT_GROSS_INC	APPL_LVR	APPL_NO_SPLIT	APPLICATION_ID	BASEL_RETAIL_CORP_CODE	BROKER_FLG) (: $40.);
cards;
RAM3000007	1.538430769	0.6667	400001700	400001700	CONS	N
RAM3000015	4.2922	0.7368	400004000	400004000	CONS	N
RAM3000023	4.2922	0.7368	400004000	400004001	CONS	N
;

 
data Transaction ; 
infile cards expandtabs truncover;
input (ORIGINAL_VALUE	MASKED_VALUE) (: $40.);
cards;
RAM3000007	ABC345890
RAM3000015	ABC67848
RAM3000023	ABC77545
;

data want;
 if _n_=1 then do;
  if 0 then set Transaction;
  declare hash h(dataset:'Transaction',hashexp:20);
  h.definekey('ORIGINAL_VALUE');
  h.definedata('MASKED_VALUE');
  h.definedone();
 end;
set master;
call missing(MASKED_VALUE);
rc=h.find(key:Account_ID);
drop rc ORIGINAL_VALUE Account_ID;
rename MASKED_VALUE=new_Account_ID;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Feb 2022 12:15:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796524#M255609</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-02-16T12:15:10Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796531#M255611</link>
      <description>&lt;P&gt;It's a simple MERGE then:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data
  master_new
  unmasked
;
merge
  master (in=m)
  transaction (in=t)
;
by account_id;
if m;
if t
then account_id = masked_value;
else output unmasked;
output master_new;
drop masked_value;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I have added an additional output dataset, since this looks like some kind of anonymization where no unmasked values will be wanted,&lt;/P&gt;</description>
      <pubDate>Wed, 16 Feb 2022 12:45:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796531#M255611</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-02-16T12:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796772#M255700</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp; This Hash solution is working fine. Need one more help&amp;nbsp; on the same, In my master, I have few more columns which I need to mask with Masked_value from transaction, then in that case how can i generalize this solution. See example as beow&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Master&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="889"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="88"&gt;Account_ID&lt;/TD&gt;
&lt;TD width="191"&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;
&lt;TD width="68"&gt;APPL_LVR&lt;/TD&gt;
&lt;TD width="105"&gt;APPL_NO_SPLIT&lt;/TD&gt;
&lt;TD width="111"&gt;APPLICATION_ID&lt;/TD&gt;
&lt;TD width="177"&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;
&lt;TD width="85"&gt;BROKER_FLG&lt;/TD&gt;
&lt;TD width="64"&gt;Customer_id&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000007&lt;/TD&gt;
&lt;TD&gt;1.538430769&lt;/TD&gt;
&lt;TD&gt;0.6667&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;545966&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000015&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;345182&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000023&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004001&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;773280&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Transaction&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="306"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;ORIGINAL_VALUE&lt;/TD&gt;
&lt;TD width="191"&gt;MASKED_VALUE&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000007&lt;/TD&gt;
&lt;TD&gt;ABC345890&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000015&lt;/TD&gt;
&lt;TD&gt;ABC67848&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RAM3000023&lt;/TD&gt;
&lt;TD&gt;ABC77545&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;545966&lt;/TD&gt;
&lt;TD&gt;884597&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;345182&lt;/TD&gt;
&lt;TD&gt;489012&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;773280&lt;/TD&gt;
&lt;TD&gt;771811&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Output Required :&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="916"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="115"&gt;Account_ID&lt;/TD&gt;
&lt;TD width="191"&gt;APPL_LOAN_PCT_GROSS_INC&lt;/TD&gt;
&lt;TD width="68"&gt;APPL_LVR&lt;/TD&gt;
&lt;TD width="105"&gt;APPL_NO_SPLIT&lt;/TD&gt;
&lt;TD width="111"&gt;APPLICATION_ID&lt;/TD&gt;
&lt;TD width="177"&gt;BASEL_RETAIL_CORP_CODE&lt;/TD&gt;
&lt;TD width="85"&gt;BROKER_FLG&lt;/TD&gt;
&lt;TD width="64"&gt;Customer_id&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC345890&lt;/TD&gt;
&lt;TD&gt;1.538430769&lt;/TD&gt;
&lt;TD&gt;0.6667&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;400001700&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;884597&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC67848&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;489012&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC77545&lt;/TD&gt;
&lt;TD&gt;4.2922&lt;/TD&gt;
&lt;TD&gt;0.7368&lt;/TD&gt;
&lt;TD&gt;400004000&lt;/TD&gt;
&lt;TD&gt;400004001&lt;/TD&gt;
&lt;TD&gt;CONS&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;771811&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you so&amp;nbsp; much in advance&lt;/P&gt;</description>
      <pubDate>Thu, 17 Feb 2022 01:47:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796772#M255700</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-02-17T01:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796814#M255717</link>
      <description>&lt;P&gt;You can use multiple lookups from the hash:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;rc1 = h.find(key:Account_ID);
if rc1 = 0 then account_id = masked_value;
rc2 = h.find(key:customer_id);
if rc2 = 0 then customer_id = masked_value;
if rc1 or rc2 /* if either find failed */
then output unmasked;
else output want;
drop rc1 rc2;
run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that I removed the RENAME from&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;'s code.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Feb 2022 08:54:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796814#M255717</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-02-17T08:54:11Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to proc sql update</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796840#M255733</link>
      <description>As Kurt said.&lt;BR /&gt;&lt;BR /&gt;rc1 = h.find(key:Account_ID);&lt;BR /&gt;if rc1 = 0 then account_id = masked_value;&lt;BR /&gt;rc2 = h.find(key:customer_id);&lt;BR /&gt;if rc2 = 0 then customer_id = masked_value;&lt;BR /&gt;run;</description>
      <pubDate>Thu, 17 Feb 2022 11:53:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-proc-sql-update/m-p/796840#M255733</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-02-17T11:53:32Z</dc:date>
    </item>
  </channel>
</rss>

