<?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: Need help on PRXCHANGE function in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207641#M51554</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I don't think PRXCHANGE is the perfect match for what you are doing.&amp;nbsp; I think you want to identify the place in the string that the characters begin to be alphabetic, which signifies the beginning character position of the units.&amp;nbsp; PRXMATCH will help you start.&amp;nbsp; SUBSTR gets you the rest of the way.&amp;nbsp; Of course this fails us when Drug_Strength becomes something like "5MG-1000MG"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;libname&lt;/SPAN&gt; user &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;"C:\MisMatch_C_07212015.xls"&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt;&lt;/SPAN&gt; L&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #a020f0;"&gt;_N_&lt;/SPAN&gt; = &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;retain&lt;/SPAN&gt; PerlExpression;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pattern = &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;"/[A-Z]/"&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PerlExpression = prxparse(pattern);&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Set&lt;/SPAN&gt; &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;'result#srx$'&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;n&lt;/SPAN&gt; (&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;=var2 var3); &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;length&lt;/SPAN&gt; var2 var3 $ &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;IF&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Index&lt;/SPAN&gt;(DrugName,&lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;'MG'&lt;/SPAN&gt;) &amp;gt; &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; start = prxmatch(PerlExpression, Drug_Strength);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; start&amp;gt;&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var2=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;compress&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;substr&lt;/SPAN&gt;(Drug_Strength,&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;,start&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;-1&lt;/STRONG&gt;&lt;/SPAN&gt;)); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var3=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;compress&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;substr&lt;/SPAN&gt;(Drug_Strength,start,&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/SPAN&gt;)); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Jul 2015 19:03:46 GMT</pubDate>
    <dc:creator>PhilC</dc:creator>
    <dc:date>2015-07-21T19:03:46Z</dc:date>
    <item>
      <title>Need help on PRXCHANGE function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207640#M51553</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have following SAS Code, and need help with PRXCHANGE function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output of SAS code below is attached in an Excel file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Data A&amp;nbsp; ;&lt;/P&gt;&lt;P&gt; Set MisMatch;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; IF Index(DrugName,'MG') &amp;gt; 0 then do;&lt;/P&gt;&lt;P&gt; var2=prxchange("s/[^0-9]//",-1,Drug_Strength); &lt;/P&gt;&lt;P&gt; var3=prxchange("s/[^A-Z]//",-1,Drug_Strength); &lt;/P&gt;&lt;P&gt; end; &lt;/P&gt;&lt;P&gt; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See the records (in Excel file) # 65,68-70,72-77,87-89. How can I get correct results using PRXCHANGE function?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The goal is to match Drug_Strength in a Drugname string. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is a better way, please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Girish Patel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 18:01:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207640#M51553</guid>
      <dc:creator>GPatel</dc:creator>
      <dc:date>2015-07-21T18:01:58Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on PRXCHANGE function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207641#M51554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I don't think PRXCHANGE is the perfect match for what you are doing.&amp;nbsp; I think you want to identify the place in the string that the characters begin to be alphabetic, which signifies the beginning character position of the units.&amp;nbsp; PRXMATCH will help you start.&amp;nbsp; SUBSTR gets you the rest of the way.&amp;nbsp; Of course this fails us when Drug_Strength becomes something like "5MG-1000MG"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;libname&lt;/SPAN&gt; user &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;"C:\MisMatch_C_07212015.xls"&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt;&lt;/SPAN&gt; L&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #a020f0;"&gt;_N_&lt;/SPAN&gt; = &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;retain&lt;/SPAN&gt; PerlExpression;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pattern = &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;"/[A-Z]/"&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PerlExpression = prxparse(pattern);&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Set&lt;/SPAN&gt; &lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;'result#srx$'&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;n&lt;/SPAN&gt; (&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;=var2 var3); &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;length&lt;/SPAN&gt; var2 var3 $ &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;IF&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Index&lt;/SPAN&gt;(DrugName,&lt;SPAN style="color: #a020f0; background-color: #ffffff;"&gt;'MG'&lt;/SPAN&gt;) &amp;gt; &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; start = prxmatch(PerlExpression, Drug_Strength);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; start&amp;gt;&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var2=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;compress&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;substr&lt;/SPAN&gt;(Drug_Strength,&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;,start&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;-1&lt;/STRONG&gt;&lt;/SPAN&gt;)); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var3=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;compress&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;substr&lt;/SPAN&gt;(Drug_Strength,start,&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/SPAN&gt;)); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 19:03:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207641#M51554</guid>
      <dc:creator>PhilC</dc:creator>
      <dc:date>2015-07-21T19:03:46Z</dc:date>
    </item>
    <item>
      <title>Re: Need help on PRXCHANGE function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207642#M51555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set string;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; IF Index(DrugName,'MG') &amp;gt; 0 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _var2=prxchange('s/[^0-9-.]//i',-1,drug_strength);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _var3=prxchange('s/[^a-z\/]//i',-1,drug_strength);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 20:01:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Need-help-on-PRXCHANGE-function/m-p/207642#M51555</guid>
      <dc:creator>slchen</dc:creator>
      <dc:date>2015-07-21T20:01:57Z</dc:date>
    </item>
  </channel>
</rss>

