<?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: Help for reading messy data in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209291#M51860</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did this as Patrick suggested, maybe it will be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data joseph_balances;&lt;/P&gt;&lt;P&gt;input name$ 1-6 @13 amount&amp;nbsp; dollar7. /string $50.//;&lt;/P&gt;&lt;P&gt;datail=prxchange('s/(.*)\s(?=\d{1,2}\/\d{1,2}\/\d+).*/$1/i',-1,string);&lt;/P&gt;&lt;P&gt;date=put(input(prxchange('s/.*\s(\d{1,2}\/\d{1,2}\/\d+).*/$1/',-1,string),anydtdte.),mmddyy8.);&lt;/P&gt;&lt;P&gt;time=put(input(prxchange('s/.*\s(\d+:\d+ (AM|PM))/$1/',-1,string),time8.),time8.);&lt;/P&gt;&lt;P&gt;drop string;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;joseph paid $18.96&lt;/P&gt;&lt;P&gt;DTE March 15 5/4/15 12:19 PM &lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet March 15 4/10/15 8:54 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $26.18&lt;/P&gt;&lt;P&gt;DTE Feb 2/24/15 7:28 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent March 15 2/21/15 10:43 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet Jan 15 2/11/15 12:11 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Feb 15 2/3/15 2:42 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $26.54&lt;/P&gt;&lt;P&gt;DTE Jan 15 1/21/15 11:55 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet December 14 1/15/15 3:27 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $72.00&lt;/P&gt;&lt;P&gt;Book 1/8/15 3:27 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.47&lt;/P&gt;&lt;P&gt;DTE Dec 13 1/4/15 3:47 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Jan 2015 1/1/15 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet November 12/2/14 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Dec 12/2/14 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.77&lt;/P&gt;&lt;P&gt;DTE November 11/19/14 8:03 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent November 11/2/14 1:08 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;edith gave $102.00&lt;/P&gt;&lt;P&gt;Debt settlement 10/28/14 8:51 PM&lt;/P&gt;&lt;P&gt;to: joseph&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $55.00&lt;/P&gt;&lt;P&gt;Internet Sep Oct 10/27/14 4:35 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $24.59&lt;/P&gt;&lt;P&gt;DTE oct 10/23/14 10:05 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $102.00&lt;/P&gt;&lt;P&gt;Licence 10/1/14 3:39 PM&lt;/P&gt;&lt;P&gt;for: edith&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent oct 10/1/14 12:08 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.63&lt;/P&gt;&lt;P&gt;DTE sept 9/19/14 3:45 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 May 2015 03:24:38 GMT</pubDate>
    <dc:creator>slchen</dc:creator>
    <dc:date>2015-05-05T03:24:38Z</dc:date>
    <item>
      <title>Help for reading messy data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209289#M51858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;Hi,&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;I am trying to create a data record which contains non aligned fields. My have written the code as in attached editor file.&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;However I am not able to correctly render the ‘Details’ variable as shown in image below (it's only correct as shown in first observation)&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;Can somebody please suggest modifications in the code to read it correctly? (Please see attached lign code)&lt;/P&gt;&lt;P&gt;Your help is much appreciated.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jiveImage" src="https://communities.sas.com/legacyfs/online/10264_pastedImage_0.png" style="width: 405px; height: 570px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 May 2015 20:52:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209289#M51858</guid>
      <dc:creator>chuck33</dc:creator>
      <dc:date>2015-05-04T20:52:11Z</dc:date>
    </item>
    <item>
      <title>Re: Help for reading messy data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209290#M51859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;EM&gt;Internet March 15 4/10/15 8:54 PM&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;I believe one way which could work is to read the whole 3rd line as a string, then find the position of the 3rd last word in this string.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Once you've got this position read the first bit of the string into your character variable and the second bit (starting from the 3rd last word) as a datetime value.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2015 00:59:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209290#M51859</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-05-05T00:59:08Z</dc:date>
    </item>
    <item>
      <title>Re: Help for reading messy data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209291#M51860</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did this as Patrick suggested, maybe it will be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data joseph_balances;&lt;/P&gt;&lt;P&gt;input name$ 1-6 @13 amount&amp;nbsp; dollar7. /string $50.//;&lt;/P&gt;&lt;P&gt;datail=prxchange('s/(.*)\s(?=\d{1,2}\/\d{1,2}\/\d+).*/$1/i',-1,string);&lt;/P&gt;&lt;P&gt;date=put(input(prxchange('s/.*\s(\d{1,2}\/\d{1,2}\/\d+).*/$1/',-1,string),anydtdte.),mmddyy8.);&lt;/P&gt;&lt;P&gt;time=put(input(prxchange('s/.*\s(\d+:\d+ (AM|PM))/$1/',-1,string),time8.),time8.);&lt;/P&gt;&lt;P&gt;drop string;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;joseph paid $18.96&lt;/P&gt;&lt;P&gt;DTE March 15 5/4/15 12:19 PM &lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet March 15 4/10/15 8:54 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $26.18&lt;/P&gt;&lt;P&gt;DTE Feb 2/24/15 7:28 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent March 15 2/21/15 10:43 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet Jan 15 2/11/15 12:11 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Feb 15 2/3/15 2:42 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $26.54&lt;/P&gt;&lt;P&gt;DTE Jan 15 1/21/15 11:55 AM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet December 14 1/15/15 3:27 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $72.00&lt;/P&gt;&lt;P&gt;Book 1/8/15 3:27 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.47&lt;/P&gt;&lt;P&gt;DTE Dec 13 1/4/15 3:47 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Jan 2015 1/1/15 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $25.00&lt;/P&gt;&lt;P&gt;Internet November 12/2/14 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent Dec 12/2/14 8:28 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.77&lt;/P&gt;&lt;P&gt;DTE November 11/19/14 8:03 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent November 11/2/14 1:08 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;edith gave $102.00&lt;/P&gt;&lt;P&gt;Debt settlement 10/28/14 8:51 PM&lt;/P&gt;&lt;P&gt;to: joseph&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $55.00&lt;/P&gt;&lt;P&gt;Internet Sep Oct 10/27/14 4:35 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $24.59&lt;/P&gt;&lt;P&gt;DTE oct 10/23/14 10:05 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $102.00&lt;/P&gt;&lt;P&gt;Licence 10/1/14 3:39 PM&lt;/P&gt;&lt;P&gt;for: edith&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $610.00&lt;/P&gt;&lt;P&gt;Rent oct 10/1/14 12:08 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;joseph paid $23.63&lt;/P&gt;&lt;P&gt;DTE sept 9/19/14 3:45 PM&lt;/P&gt;&lt;P&gt;for: All&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2015 03:24:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209291#M51860</guid>
      <dc:creator>slchen</dc:creator>
      <dc:date>2015-05-05T03:24:38Z</dc:date>
    </item>
    <item>
      <title>Re: Help for reading messy data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209292#M51861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just as a variation to the code already provided using different RegEx functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data joseph_balances;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _N_=1 then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _re=prxparse('/(.+)\b(\d+\/\d+\/\d+ \d+:\d+ (PM|AM))/i');&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain _re;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile datalines truncover;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name$ 1-6 @13 amount&amp;nbsp; dollar7. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / string $50.//;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if prxmatch(_re, string) then &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; detail=prxposn(_re, 1, string);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dttm=input(prxposn(_re, 2, string),mdyampm25.2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dttm datetime20.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop string;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2015 09:13:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209292#M51861</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-05-05T09:13:58Z</dc:date>
    </item>
    <item>
      <title>Re: Help for reading messy data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209293#M51862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;This was too difficult for me.&lt;/P&gt;&lt;P&gt;Your time and efforts are much appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2015 16:12:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-for-reading-messy-data/m-p/209293#M51862</guid>
      <dc:creator>chuck33</dc:creator>
      <dc:date>2015-05-05T16:12:29Z</dc:date>
    </item>
  </channel>
</rss>

