<?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: datalines eof option in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65221#M14154</link>
    <description>Since you only want the last record you can use a subsetting if&lt;BR /&gt;
&lt;BR /&gt;
data vac_used; &lt;BR /&gt;
  retain vac_used 0;&lt;BR /&gt;
  input date1 :ddmmyy10. date2 :ddmmyy10. holidays :5.;&lt;BR /&gt;
  days1=date2-date1+1-holidays;&lt;BR /&gt;
  vac_used=vac_used+days1;&lt;BR /&gt;
  format date1 date2 date9.;&lt;BR /&gt;
&lt;BR /&gt;
  if _n_=4;&lt;BR /&gt;
&lt;BR /&gt;
 put _all_; &lt;BR /&gt;
datalines;&lt;BR /&gt;
18.05.2009 22.05.2009 0&lt;BR /&gt;
24.08.2009 11.09.2009 0&lt;BR /&gt;
13.10.2010 29.10.2010 0&lt;BR /&gt;
27.12.2010 31.12.2010 0&lt;BR /&gt;
;&lt;BR /&gt;
run;</description>
    <pubDate>Thu, 12 May 2011 11:43:43 GMT</pubDate>
    <dc:creator>darrylovia</dc:creator>
    <dc:date>2011-05-12T11:43:43Z</dc:date>
    <item>
      <title>datalines eof option</title>
      <link>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65220#M14153</link>
      <description>Hello SAS-users.&lt;BR /&gt;
&lt;BR /&gt;
If I execute the code below I see that 5 records were written to the file TR:&lt;BR /&gt;
[pre]&lt;BR /&gt;
    5&lt;BR /&gt;
   24&lt;BR /&gt;
   41&lt;BR /&gt;
   46&lt;BR /&gt;
   46&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
I want only last value (46) to be written and only once.&lt;BR /&gt;
I thought that eof option in the infile statement can solve this task. But it is not working as i expected.&lt;BR /&gt;
&lt;BR /&gt;
Can you suggest how to output only the last value &lt;B&gt;with infile datalines at one datastep&lt;/B&gt;.&lt;BR /&gt;
&lt;BR /&gt;
I use SAS 9.1.3&lt;BR /&gt;
&lt;BR /&gt;
Thanks in advance.&lt;BR /&gt;
  &lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
&lt;BR /&gt;
FILENAME tr temp;&lt;BR /&gt;
data vac_used; retain vac_used 0;&lt;BR /&gt;
infile datalines eof=nn ;&lt;BR /&gt;
input date1 :ddmmyy10. date2 :ddmmyy10. holidays :5.;&lt;BR /&gt;
days1=date2-date1+1-holidays;&lt;BR /&gt;
vac_used=vac_used+days1;&lt;BR /&gt;
format date1 date2 date9.;&lt;BR /&gt;
nn:  file tr; put vac_used 5.; &lt;BR /&gt;
datalines;&lt;BR /&gt;
18.05.2009 22.05.2009 0&lt;BR /&gt;
24.08.2009 11.09.2009 0&lt;BR /&gt;
13.10.2010 29.10.2010 0&lt;BR /&gt;
27.12.2010 31.12.2010 0&lt;BR /&gt;
;&lt;BR /&gt;
&lt;BR /&gt;
[/pre]</description>
      <pubDate>Thu, 12 May 2011 11:30:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65220#M14153</guid>
      <dc:creator>Oleg_L</dc:creator>
      <dc:date>2011-05-12T11:30:46Z</dc:date>
    </item>
    <item>
      <title>Re: datalines eof option</title>
      <link>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65221#M14154</link>
      <description>Since you only want the last record you can use a subsetting if&lt;BR /&gt;
&lt;BR /&gt;
data vac_used; &lt;BR /&gt;
  retain vac_used 0;&lt;BR /&gt;
  input date1 :ddmmyy10. date2 :ddmmyy10. holidays :5.;&lt;BR /&gt;
  days1=date2-date1+1-holidays;&lt;BR /&gt;
  vac_used=vac_used+days1;&lt;BR /&gt;
  format date1 date2 date9.;&lt;BR /&gt;
&lt;BR /&gt;
  if _n_=4;&lt;BR /&gt;
&lt;BR /&gt;
 put _all_; &lt;BR /&gt;
datalines;&lt;BR /&gt;
18.05.2009 22.05.2009 0&lt;BR /&gt;
24.08.2009 11.09.2009 0&lt;BR /&gt;
13.10.2010 29.10.2010 0&lt;BR /&gt;
27.12.2010 31.12.2010 0&lt;BR /&gt;
;&lt;BR /&gt;
run;</description>
      <pubDate>Thu, 12 May 2011 11:43:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65221#M14154</guid>
      <dc:creator>darrylovia</dc:creator>
      <dc:date>2011-05-12T11:43:43Z</dc:date>
    </item>
    <item>
      <title>Re: datalines eof option</title>
      <link>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65222#M14155</link>
      <description>Thanks for your reply.&lt;BR /&gt;
&lt;BR /&gt;
I've  found my mistake. I forget RETURN statement.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
&lt;BR /&gt;
FILENAME tr temp;&lt;BR /&gt;
data vac_used; retain vac_used 0;&lt;BR /&gt;
infile datalines eof=nn ;&lt;BR /&gt;
input date1 :ddmmyy10. date2 :ddmmyy10. holidays :5.;&lt;BR /&gt;
days1=date2-date1+1-holidays;&lt;BR /&gt;
vac_used=vac_used+days1;&lt;BR /&gt;
format date1 date2 date9.;&lt;BR /&gt;
return;&lt;BR /&gt;
nn:  file tr; put vac_used 5.; &lt;BR /&gt;
datalines;&lt;BR /&gt;
18.05.2009 22.05.2009 0&lt;BR /&gt;
24.08.2009 11.09.2009 0&lt;BR /&gt;
13.10.2010 29.10.2010 0&lt;BR /&gt;
27.12.2010 31.12.2010 0&lt;BR /&gt;
;&lt;BR /&gt;
&lt;BR /&gt;
[/pre]</description>
      <pubDate>Thu, 12 May 2011 11:51:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/datalines-eof-option/m-p/65222#M14155</guid>
      <dc:creator>Oleg_L</dc:creator>
      <dc:date>2011-05-12T11:51:04Z</dc:date>
    </item>
  </channel>
</rss>

