<?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: Reg:pattern of Obs in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64719#M18394</link>
    <description>This is one way of doing it - you could also use regular expressions or Dataflux.&lt;BR /&gt;
&lt;BR /&gt;
data pattern;&lt;BR /&gt;
  set TEST;&lt;BR /&gt;
  length pattern $25.;&lt;BR /&gt;
  do i=1 to length(name);&lt;BR /&gt;
   if anydigit(substr(name,i,1)) then substr(pattern,i,1)='9'; &lt;BR /&gt;
   else if ANYLOWER (substr(name,i,1)) then substr(pattern,i,1)='a';&lt;BR /&gt;
   else if ANYUPPER (substr(name,i,1)) then substr(pattern,i,1)='A';&lt;BR /&gt;
   else substr(pattern,i,1)='_';&lt;BR /&gt;
  end;&lt;BR /&gt;
run;</description>
    <pubDate>Fri, 14 Aug 2009 12:51:06 GMT</pubDate>
    <dc:creator>GertNissen</dc:creator>
    <dc:date>2009-08-14T12:51:06Z</dc:date>
    <item>
      <title>Reg:pattern of Obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64718#M18393</link>
      <description>HOW CAN I FIND THE PATTERN OF THE OBS;&lt;BR /&gt;
&lt;BR /&gt;
DATA TEST;&lt;BR /&gt;
INPUT NAME$;&lt;BR /&gt;
CARDS;&lt;BR /&gt;
TESTed12&lt;BR /&gt;
No34&lt;BR /&gt;
MAin78&lt;BR /&gt;
RUN;&lt;BR /&gt;
&lt;BR /&gt;
OUTPUT&lt;BR /&gt;
&lt;BR /&gt;
NAME----------PATTERN&lt;BR /&gt;
TESTed12 ----- AAAAaa99&lt;BR /&gt;
No34---------- Aa99&lt;BR /&gt;
MAin678------- AAaa99&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
AS for every character is should represent as 'A' and  for small letter it shouls show as 'a'for number it should represent digit 9</description>
      <pubDate>Fri, 14 Aug 2009 12:23:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64718#M18393</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-08-14T12:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Reg:pattern of Obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64719#M18394</link>
      <description>This is one way of doing it - you could also use regular expressions or Dataflux.&lt;BR /&gt;
&lt;BR /&gt;
data pattern;&lt;BR /&gt;
  set TEST;&lt;BR /&gt;
  length pattern $25.;&lt;BR /&gt;
  do i=1 to length(name);&lt;BR /&gt;
   if anydigit(substr(name,i,1)) then substr(pattern,i,1)='9'; &lt;BR /&gt;
   else if ANYLOWER (substr(name,i,1)) then substr(pattern,i,1)='a';&lt;BR /&gt;
   else if ANYUPPER (substr(name,i,1)) then substr(pattern,i,1)='A';&lt;BR /&gt;
   else substr(pattern,i,1)='_';&lt;BR /&gt;
  end;&lt;BR /&gt;
run;</description>
      <pubDate>Fri, 14 Aug 2009 12:51:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64719#M18394</guid>
      <dc:creator>GertNissen</dc:creator>
      <dc:date>2009-08-14T12:51:06Z</dc:date>
    </item>
    <item>
      <title>Re: Reg:pattern of Obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64720#M18395</link>
      <description>This would be a good question for a "SAS programming" test of some sort. See &lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/61724/HTML/default/a002288677.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrdict/61724/HTML/default/a002288677.htm&lt;/A&gt; for more information about using regular expressions in a DATA step.&lt;BR /&gt;
[pre]&lt;BR /&gt;
data _null_;&lt;BR /&gt;
if _n_ = 1 then do;&lt;BR /&gt;
   retain upper lower digit;&lt;BR /&gt;
   upper = prxparse('s/[A-Z]/A/');&lt;BR /&gt;
   lower = prxparse('s/[a-z]/a/');&lt;BR /&gt;
   digit = prxparse('s/\d/9/');&lt;BR /&gt;
end;&lt;BR /&gt;
input text $8.;&lt;BR /&gt;
call prxchange(upper, -1, text);&lt;BR /&gt;
call prxchange(lower, -1, text);&lt;BR /&gt;
call prxchange(digit, -1, text);&lt;BR /&gt;
put text;&lt;BR /&gt;
datalines;&lt;BR /&gt;
TESTed12&lt;BR /&gt;
No34&lt;BR /&gt;
MAin678&lt;BR /&gt;
;;;;&lt;BR /&gt;
[/pre]</description>
      <pubDate>Fri, 14 Aug 2009 12:59:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-pattern-of-Obs/m-p/64720#M18395</guid>
      <dc:creator>Tim_SAS</dc:creator>
      <dc:date>2009-08-14T12:59:12Z</dc:date>
    </item>
  </channel>
</rss>

