<?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: Complicated File Layout in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282562#M57448</link>
    <description>&lt;P&gt;Take a look at this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   infile "test.txt" lrecl=300 pad firstobs=2 ;
   length column0 $ 34 column1 $ 17 column2 $ 50  column3 $ 50  ;
   informat date mmddyy10.;
   informat time time5.;
   format date mmddyy10.;
   format time time5.;
   retain column0 '';
   input @;
   if anyspace(substr(_infile_,1,1)) =0 then do;
      input  column0 $ 1-33;
   end;
   else do;
      input
         column1 $ 35-56
         column2 $ 57-106
         column3 $ 107-156
         
         date
         time
      ;
      output;
   end;
run&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Some issues: varying line length, a simple input statement will likely generate lots of lost card from the column0 lines (fix: PAD on infile)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second is the date values don't always start in the same column. This might be due to your "encryption" which I suspect was a couple of editor search and replaces.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You do have one line in the source file, line 12145 that looks like it should have column0 data but it is missing. So the above code treats it as the column1 data line type, retaining the previous column0 values and report errors for date on that line(there isn't one on&lt;/P&gt;
&lt;P&gt;that line) &lt;STRONG&gt;and&lt;/STRONG&gt; therefore has the wrong column0 value from there to the end of the data. If you put a column0 value on line 12145 starting in column1 you should be good to go.&lt;/P&gt;</description>
    <pubDate>Wed, 06 Jul 2016 22:18:00 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2016-07-06T22:18:00Z</dc:date>
    <item>
      <title>Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282491#M57415</link>
      <description>&lt;P&gt;Hi -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm relatively new to SAS EG and am trying to read in data with a file format similar to the attached. &amp;nbsp;Please note that I needed to encrypt the data as it can't be shown as-is. &amp;nbsp;Nonetheless, the format remains original.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to get the unique occurences in 'Column 0' to appear into the subsequent blank fields below them until the next unique occurence is read. &amp;nbsp;Afterwards, I would like to delete the line containing the unique occurence. &amp;nbsp;I also won't need the column headings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried a number of approaches but cannot make it work out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for helping.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;before&amp;nbsp;&lt;/STRONG&gt;looks like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Column 0 &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;Column 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Column 2 &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;Column 3 &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;Column 4&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;2C1c5P9b/EZ/ocCU&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&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;DIZS1/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4/6/2016 13:06&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&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;DIZS2/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 11/24/2015 2:00&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&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;DIZS3/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12/25/2015 2:00&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;ZZmioZ UsmZo/EZ/ocCU&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&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;LoZdmio/EZ/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hylp\hylp85_Zdmio.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XSY mdl Domioo &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; 6/28/2016 13:52&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;ZZryo oyroyy/MPM/ocCU&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&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;LoZpps08/EZ/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp;16000\oOCRqst.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oOC Ryquysts &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;6/5/2016 2:33&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;-------------------------------------&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;after&amp;nbsp;&lt;/STRONG&gt;needs to look like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;2C1c5P9b/EZ/ocCU&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DIZS1/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4/6/2016 13:06&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;2C1c5P9b/EZ/ocCU&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DIZS2/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 11/24/2015 2:00&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;2C1c5P9b/EZ/ocCU&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DIZS3/oZvywyb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06000\ccpb2015DiZs.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CcPB Doc LibrZry 2015 DIZS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12/25/2015 2:00&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;ZZmioZ UsmZo/EZ/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/FONT&gt;&lt;FONT size="2"&gt;LoZdmio/EZ/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hylp\hylp85_Zdmio.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XSY mdl Domioo &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; 6/28/2016 13:52&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;ZZryo oyroyy/MPM/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/FONT&gt;&lt;FONT size="2"&gt;LoZpps08/EZ/ocCU &amp;nbsp; &amp;nbsp; &amp;nbsp;16000\oOCRqst.osc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oOC Ryquysts &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;6/5/2016 2:33&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Jul 2016 17:33:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282491#M57415</guid>
      <dc:creator>Picketoaks</dc:creator>
      <dc:date>2016-07-06T17:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282492#M57416</link>
      <description>Sorry Column 4 wrapped around</description>
      <pubDate>Wed, 06 Jul 2016 17:34:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282492#M57416</guid>
      <dc:creator>Picketoaks</dc:creator>
      <dc:date>2016-07-06T17:34:10Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282496#M57418</link>
      <description>&lt;P&gt;Here's one way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;if column_0 &amp;gt; ' ' then column_00 = column_0;&lt;/P&gt;
&lt;P&gt;else output;&lt;/P&gt;
&lt;P&gt;retain column_00;&lt;/P&gt;
&lt;P&gt;drop column_0;&lt;/P&gt;
&lt;P&gt;rename column_00=column_0;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you don't already have a SAS data set, the same idea could be applied to a DATA step that reads in the raw data.&lt;/P&gt;</description>
      <pubDate>Wed, 06 Jul 2016 17:57:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282496#M57418</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-07-06T17:57:09Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282506#M57423</link>
      <description>&lt;P&gt;Thanks... it kinda works but I think there is something wrong with my file and will need to resolve before I can continue testing your suggestion.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;</description>
      <pubDate>Wed, 06 Jul 2016 18:21:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282506#M57423</guid>
      <dc:creator>Picketoaks</dc:creator>
      <dc:date>2016-07-06T18:21:25Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282562#M57448</link>
      <description>&lt;P&gt;Take a look at this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   infile "test.txt" lrecl=300 pad firstobs=2 ;
   length column0 $ 34 column1 $ 17 column2 $ 50  column3 $ 50  ;
   informat date mmddyy10.;
   informat time time5.;
   format date mmddyy10.;
   format time time5.;
   retain column0 '';
   input @;
   if anyspace(substr(_infile_,1,1)) =0 then do;
      input  column0 $ 1-33;
   end;
   else do;
      input
         column1 $ 35-56
         column2 $ 57-106
         column3 $ 107-156
         
         date
         time
      ;
      output;
   end;
run&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Some issues: varying line length, a simple input statement will likely generate lots of lost card from the column0 lines (fix: PAD on infile)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second is the date values don't always start in the same column. This might be due to your "encryption" which I suspect was a couple of editor search and replaces.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You do have one line in the source file, line 12145 that looks like it should have column0 data but it is missing. So the above code treats it as the column1 data line type, retaining the previous column0 values and report errors for date on that line(there isn't one on&lt;/P&gt;
&lt;P&gt;that line) &lt;STRONG&gt;and&lt;/STRONG&gt; therefore has the wrong column0 value from there to the end of the data. If you put a column0 value on line 12145 starting in column1 you should be good to go.&lt;/P&gt;</description>
      <pubDate>Wed, 06 Jul 2016 22:18:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282562#M57448</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-07-06T22:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282647#M57471</link>
      <description>&lt;P&gt;Hello and thank you for your further expalnation as I think what you are mentioning is what I am seeing too. &amp;nbsp;I think it has something to do with taking a Lotus Notes category view, then saving to excel, then saving as a text file. &amp;nbsp;I will need some time to tinker and try to further understand this scenario and the use of the suggestions here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2016 10:50:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/282647#M57471</guid>
      <dc:creator>Picketoaks</dc:creator>
      <dc:date>2016-07-07T10:50:15Z</dc:date>
    </item>
    <item>
      <title>Re: Complicated File Layout</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/283015#M57603</link>
      <description>&lt;P&gt;It looks like the first recommendation from Astounding works. &amp;nbsp;I did need to use Access to create a new file to get the data into "fixed columns".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will continue to test both suggestions for more practice and then get back here with final results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jul 2016 18:35:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Complicated-File-Layout/m-p/283015#M57603</guid>
      <dc:creator>Picketoaks</dc:creator>
      <dc:date>2016-07-08T18:35:28Z</dc:date>
    </item>
  </channel>
</rss>

