<?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: the variable only be processed once in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/the-variable-only-be-processed-once/m-p/563276#M157886</link>
    <description>&lt;P&gt;When you are searching for values that may appear as part of another key value, such as your 'CO' and 'LTD' that are part of 'CO LTD' then you likely should have the LONGER value processed first.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may need to have some ELSE. before the second and subsequent "&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;find&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;NAME_S221&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;' LTD '&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&amp;nbsp;" clauses.&lt;/P&gt;
&lt;P&gt;As written every single one of those comparisons is done and seems to be causing part of your concern.&lt;/P&gt;</description>
    <pubDate>Mon, 03 Jun 2019 14:49:38 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-06-03T14:49:38Z</dc:date>
    <item>
      <title>the variable only be processed once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/the-variable-only-be-processed-once/m-p/563150#M157829</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;I am processing the variable which inlcudes 'LTD', 'CO', 'CO LTD', 'PLC', 'CORP' and trying to separate the company name from address/introduction information. However, the following variable includes at least two 'company suffix' (i.e., LTD, CO, CO LTD, PLC, CORP), so I expect to process the variable only once. But I do not know how to do it. Could you please give me some suggestions about this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for following data,&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
  input NAME_S221 :&amp;amp; $500.;

if find(NAME_S221,' LTD ')&amp;gt;0 and find(NAME_S221,' LTD PARTNERSHIP ')=0 and prxmatch('/(.*) LTD\s?([(\(.*\))|(\[.*\])|(\{.*\})|(''.*'')|(".*")]+)(.*)/',NAME_S221 )=0 then do;
			NAME_B=substr(NAME_S221,1,find(NAME_S221,' LTD ')+3);
			NAME_address=strip(substr(NAME_S221,find(NAME_S221,' LTD ')+5, length(NAME_S221)));
		end;
		if find(NAME_S221,' CO ')&amp;gt;0 and prxmatch('/(.*) CO\s?([(\(.*\))|(\[.*\])|(\{.*\})|(''.*'')|(".*")]+)(.*)/',NAME_S221 )=0 then do;
			NAME_B=substr(NAME_S221,1,find(NAME_S221,' CO ')+2);
			NAME_address=strip(substr(NAME_S221,find(NAME_S221,' CO ')+4, length(NAME_S221)));
		end;
		if find(NAME_S221,' CO LTD ')&amp;gt;0 and prxmatch('/(.*) CO LTD\s?([(\(.*\))|(\[.*\])|(\{.*\})|(''.*'')|(".*")]+)(.*)/',NAME_S221 )=0 then do;
			NAME_B=substr(NAME_S221,1,find(NAME_S221,' CO LTD ')+6);
			NAME_address=strip(substr(NAME_S221,find(NAME_S221,' CO LTD ')+8, length(NAME_S221)));
		end;
		if find(NAME_S221,' PLC ')&amp;gt;0 and prxmatch('/(.*) PLC\s?([(\(.*\))|(\[.*\])|(\{.*\})|(''.*'')|(".*")]+)(.*)/',NAME_S221 )=0 then do;
			NAME_B=substr(NAME_S221,1,find(NAME_S221,' PLC ')+3);
			NAME_address=strip(substr(NAME_S221,find(NAME_S221,' PLC ')+5, length(NAME_S221)));
		end;
		if find(NAME_S221,' CORP ')&amp;gt;0 and prxmatch('/(.*) CORP\s?([(\(.*\))|(\[.*\])|(\{.*\})|(''.*'')|(".*")]+)/',NAME_S221 )=0 then do;
			NAME_B=substr(NAME_S221,1,find(NAME_S221,' CORP ')+4);
			NAME_address=strip(substr(NAME_S221,find(NAME_S221,' CORP ')+6, length(NAME_S221)));
		end;
cards;

BOTO (LICENSES) LTD AN ISLE OF MAN CO OF 3/F
BOTO (LICENSES) LTD AN ISLE OF MAN LTD OF 3/F
BPB LTD A U.K. CORP
BROADCOM UK LTD A DELAWARE CORP
ARCH TIMBER PROTECTION LTD A PRIVATE LIMITED CO ORGANISED UNDER THE LAWS OF THE UNITED KINDGOM
AVDEL SYSTEMS LTD A BRITISH CO
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I get&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;NAME_S221&lt;/TD&gt;&lt;TD&gt;NAME_B&lt;/TD&gt;&lt;TD&gt;NAME_address&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BOTO (LICENSES) LTD AN ISLE OF MAN CO OF 3/F&lt;/TD&gt;&lt;TD&gt;BOTO (LICENSES) LTD AN ISLE OF MAN CO&lt;/TD&gt;&lt;TD&gt;OF 3/F&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BOTO (LICENSES) LTD AN ISLE OF MAN LTD OF 3/F&lt;/TD&gt;&lt;TD&gt;BOTO (LICENSES) LTD&lt;/TD&gt;&lt;TD&gt;AN ISLE OF MAN LTD OF 3/F&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BPB LTD A U.K. CORP&lt;/TD&gt;&lt;TD&gt;BPB LTD A U.K. CORP&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BROADCOM UK LTD A DELAWARE CORP&lt;/TD&gt;&lt;TD&gt;BROADCOM UK LTD A DELAWARE CORP&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ARCH TIMBER PROTECTION LTD A PRIVATE LIMITED CO ORGANISED UNDER THE LAWS OF THE UNITED KINDGOM&lt;/TD&gt;&lt;TD&gt;ARCH TIMBER PROTECTION LTD A PRIVATE LIMITED CO&lt;/TD&gt;&lt;TD&gt;ORGANISED UNDER THE LAWS OF THE UNITED KINDGOM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AVDEL SYSTEMS LTD A BRITISH CO&lt;/TD&gt;&lt;TD&gt;AVDEL SYSTEMS LTD A BRITISH CO&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;STRONG&gt;However, I expect to process the variable 'NAME_S221' only once. namely, I expect to get&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;NAME_S221&lt;/TD&gt;&lt;TD&gt;NAME_B&lt;/TD&gt;&lt;TD&gt;NAME_address&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BOTO (LICENSES) LTD&lt;/TD&gt;&lt;TD&gt;BOTO (LICENSES) LTD&lt;/TD&gt;&lt;TD&gt;AN ISLE OF MAN CO OF 3/F&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BOTO (LICENSES) LTD AN ISLE OF MAN LTD OF 3/F&lt;/TD&gt;&lt;TD&gt;BOTO (LICENSES) LTD&lt;/TD&gt;&lt;TD&gt;AN ISLE OF MAN LTD OF 3/F&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BPB LTD A U.K. CORP&lt;/TD&gt;&lt;TD&gt;BPB LTD&lt;/TD&gt;&lt;TD&gt;A U.K. CORP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BROADCOM UK LTD A DELAWARE CORP&lt;/TD&gt;&lt;TD&gt;BROADCOM UK LTD&lt;/TD&gt;&lt;TD&gt;A DELAWARE CORP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ARCH TIMBER PROTECTION LTD A PRIVATE LIMITED CO ORGANISED UNDER THE LAWS OF THE UNITED KINDGOM&lt;/TD&gt;&lt;TD&gt;ARCH TIMBER PROTECTION LTD&lt;/TD&gt;&lt;TD&gt;A PRIVATE LIMITED CO ORGANISED UNDER THE LAWS OF THE UNITED KINDGOM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AVDEL SYSTEMS LTD A BRITISH CO&lt;/TD&gt;&lt;TD&gt;AVDEL SYSTEMS LTD&lt;/TD&gt;&lt;TD&gt;A BRITISH CO&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sun, 02 Jun 2019 20:31:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/the-variable-only-be-processed-once/m-p/563150#M157829</guid>
      <dc:creator>Alexxxxxxx</dc:creator>
      <dc:date>2019-06-02T20:31:20Z</dc:date>
    </item>
    <item>
      <title>Re: the variable only be processed once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/the-variable-only-be-processed-once/m-p/563276#M157886</link>
      <description>&lt;P&gt;When you are searching for values that may appear as part of another key value, such as your 'CO' and 'LTD' that are part of 'CO LTD' then you likely should have the LONGER value processed first.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may need to have some ELSE. before the second and subsequent "&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;find&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;NAME_S221&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;' LTD '&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&amp;nbsp;" clauses.&lt;/P&gt;
&lt;P&gt;As written every single one of those comparisons is done and seems to be causing part of your concern.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2019 14:49:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/the-variable-only-be-processed-once/m-p/563276#M157886</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-06-03T14:49:38Z</dc:date>
    </item>
  </channel>
</rss>

