<?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 How to find and replace using a lookup table in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35168#M4433</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I have a table with a variable that stores Where clauses for SQL queries. I need to do a find/replace (like TRANWRD functionality) to this variable. The queries are pulled out of a 3rd party system and I need to change the field names in the where clause in order to run it against our local table. I have a lookup table that contains the string to find in one variable and the string to replace it with in another.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I replace each field name in one table by looking it up in another table and replacing it with the corresponding variable?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, The Query table looks like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;QueryWhereClause&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;trancd = 8&amp;nbsp; or UI = 8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(trancd = 1 and herID = 'CD') or BWW = '3bth32'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(trancd = 2 and herID = 'CD') or BWW = '4bth10'&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The lookuptable looks like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;OldField&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;NewField&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;trancd&lt;/TD&gt;&lt;TD&gt;TRAN_CD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;UI&lt;/TD&gt;&lt;TD&gt;USER_INT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;herID&lt;/TD&gt;&lt;TD&gt;HER_ID_VC&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I need is the QueryWhereClause table to look like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: #000000 1px solid;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;Lookuptbl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TRAN_CD = 8&amp;nbsp; or USER_INT = 8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(TRAN_CD = 1 and HER_ID_VC= 'CD') or HER_ID_VC= '3bth32'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(TRAN_CD = 2 and HER_ID_VC= 'CD') or HER_ID_VC= '4bth10'&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Thanks for looking!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Oct 2011 15:41:37 GMT</pubDate>
    <dc:creator>Mishka1</dc:creator>
    <dc:date>2011-10-26T15:41:37Z</dc:date>
    <item>
      <title>How to find and replace using a lookup table</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35168#M4433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I have a table with a variable that stores Where clauses for SQL queries. I need to do a find/replace (like TRANWRD functionality) to this variable. The queries are pulled out of a 3rd party system and I need to change the field names in the where clause in order to run it against our local table. I have a lookup table that contains the string to find in one variable and the string to replace it with in another.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I replace each field name in one table by looking it up in another table and replacing it with the corresponding variable?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, The Query table looks like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;QueryWhereClause&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;trancd = 8&amp;nbsp; or UI = 8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(trancd = 1 and herID = 'CD') or BWW = '3bth32'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(trancd = 2 and herID = 'CD') or BWW = '4bth10'&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The lookuptable looks like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;OldField&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;NewField&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;trancd&lt;/TD&gt;&lt;TD&gt;TRAN_CD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;UI&lt;/TD&gt;&lt;TD&gt;USER_INT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;herID&lt;/TD&gt;&lt;TD&gt;HER_ID_VC&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I need is the QueryWhereClause table to look like this:&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: #000000 1px solid;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;Lookuptbl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TRAN_CD = 8&amp;nbsp; or USER_INT = 8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(TRAN_CD = 1 and HER_ID_VC= 'CD') or HER_ID_VC= '3bth32'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;(TRAN_CD = 2 and HER_ID_VC= 'CD') or HER_ID_VC= '4bth10'&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Thanks for looking!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 15:41:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35168#M4433</guid>
      <dc:creator>Mishka1</dc:creator>
      <dc:date>2011-10-26T15:41:37Z</dc:date>
    </item>
    <item>
      <title>How to find and replace using a lookup table</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35169#M4434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is a rather brute force way of accomplishing the task:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data querry;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat querry $50.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input querry &amp;amp;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;trancd = 8 or UI = 8&lt;/P&gt;&lt;P&gt;(trancd = 1 and herID = 'CD') or BWW = '3bth32'&lt;/P&gt;&lt;P&gt;(trancd = 2 and herID = 'CD') or BWW = '4bth10'&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data lookup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat old new $10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input (old new) ($);&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;trancd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TRAN_CD&lt;/P&gt;&lt;P&gt;UI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;USER_INT&lt;/P&gt;&lt;P&gt;herID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HER_ID_VC&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*** get number of records in lookup dataset ***/&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if 0 then set lookup nobs=nobs;&amp;nbsp; /*** no need to read dataset - just metadata ***/&lt;/P&gt;&lt;P&gt;&amp;nbsp; CALL SYMPUT('NUMREC',nobs);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*** put # of records into NUMREC macro var ***/&lt;/P&gt;&lt;P&gt;&amp;nbsp; stop;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*** stop, got number of records ***/&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; /*** now read the lookup records into an array, and then read the querry records&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and modify with tranwrd ***/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; data want (keep=querry);&lt;/P&gt;&lt;P&gt;&amp;nbsp; array Lookup(2,&amp;amp;numrec) $10; /*** create an array with same number of elements&lt;/P&gt;&lt;P&gt;&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;&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; as there are records in amaster ***/&lt;/P&gt;&lt;P&gt;&amp;nbsp; i=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do until (eof1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*** load the array with the lookup records ***/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set lookup end=eof1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lookup(1,i)=old;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lookup(2,i)=new;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do until (eof2); /*** now read each querry record and apply tranwrd function***/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set querry end=eof2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to &amp;amp;numrec;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; querry=tranwrd(querry,strip(lookup(1,i)),strip(lookup(2,i)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 17:08:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35169#M4434</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-10-26T17:08:15Z</dc:date>
    </item>
    <item>
      <title>How to find and replace using a lookup table</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35170#M4435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Jaw dropping! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just had to change the array length to be big enough to fit all of my lookup values in (from &lt;/P&gt;"array Lookup(2,&amp;amp;numrec) $10" I changed $10 to $100) and I was good to go!&lt;P&gt;&lt;/P&gt;&lt;P&gt;Strange results happen when that is too small or too big.&lt;/P&gt;&lt;P&gt;Thank you so much!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 18:04:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35170#M4435</guid>
      <dc:creator>Mishka1</dc:creator>
      <dc:date>2011-10-26T18:04:23Z</dc:date>
    </item>
    <item>
      <title>How to find and replace using a lookup table</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35171#M4436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sometimes brute force is good!&amp;nbsp; Minimally, it can often accomplish a task which can them be optimized when/if you ever discover a better method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 18:08:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-find-and-replace-using-a-lookup-table/m-p/35171#M4436</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-10-26T18:08:18Z</dc:date>
    </item>
  </channel>
</rss>

