<?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 Retain statement in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37491#M9542</link>
    <description>I'm trying to incorporate a retain statement in a data step to display the data a certain way.  Below is what the output looks like now:&lt;BR /&gt;
&lt;BR /&gt;
0715954 --person_id_nb&lt;BR /&gt;
CHE-120 TR  8:00:00 AM  -  9:50:00 AM&lt;BR /&gt;
**********&lt;BR /&gt;
0715954&lt;BR /&gt;
CHE-126 R 10:00:00 AM  - 12:15:00 PM&lt;BR /&gt;
**********&lt;BR /&gt;
&lt;BR /&gt;
Need it to look like this:&lt;BR /&gt;
0715954&lt;BR /&gt;
CHE-120 TR  8:00:00 AM  -  9:50:00 AM&lt;BR /&gt;
CHE-126 R 10:00:00 AM  - 12:15:00 PM&lt;BR /&gt;
**********&lt;BR /&gt;
&lt;BR /&gt;
Here is the data step that I'm using:&lt;BR /&gt;
Data _null_;&lt;BR /&gt;
set work.stud_courses;&lt;BR /&gt;
*FILE MAX_File;&lt;BR /&gt;
&lt;BR /&gt;
retain person_id_nb;&lt;BR /&gt;
&lt;BR /&gt;
format Start_tm timeampm.;&lt;BR /&gt;
format End_tm timeampm.;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Line1=person_id_nb;&lt;BR /&gt;
Line2=trim(course_nm) || ' ' || trim(Dayofweek) || '' || put(Start_tm,timeampm.) || '  - ' || put (End_tm,timeampm.);&lt;BR /&gt;
header_record='**********';&lt;BR /&gt;
&lt;BR /&gt;
put Line1;&lt;BR /&gt;
put Line2;&lt;BR /&gt;
put header_record;&lt;BR /&gt;
&lt;BR /&gt;
run;</description>
    <pubDate>Fri, 18 Jun 2010 15:51:38 GMT</pubDate>
    <dc:creator>nickb</dc:creator>
    <dc:date>2010-06-18T15:51:38Z</dc:date>
    <item>
      <title>Retain statement</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37491#M9542</link>
      <description>I'm trying to incorporate a retain statement in a data step to display the data a certain way.  Below is what the output looks like now:&lt;BR /&gt;
&lt;BR /&gt;
0715954 --person_id_nb&lt;BR /&gt;
CHE-120 TR  8:00:00 AM  -  9:50:00 AM&lt;BR /&gt;
**********&lt;BR /&gt;
0715954&lt;BR /&gt;
CHE-126 R 10:00:00 AM  - 12:15:00 PM&lt;BR /&gt;
**********&lt;BR /&gt;
&lt;BR /&gt;
Need it to look like this:&lt;BR /&gt;
0715954&lt;BR /&gt;
CHE-120 TR  8:00:00 AM  -  9:50:00 AM&lt;BR /&gt;
CHE-126 R 10:00:00 AM  - 12:15:00 PM&lt;BR /&gt;
**********&lt;BR /&gt;
&lt;BR /&gt;
Here is the data step that I'm using:&lt;BR /&gt;
Data _null_;&lt;BR /&gt;
set work.stud_courses;&lt;BR /&gt;
*FILE MAX_File;&lt;BR /&gt;
&lt;BR /&gt;
retain person_id_nb;&lt;BR /&gt;
&lt;BR /&gt;
format Start_tm timeampm.;&lt;BR /&gt;
format End_tm timeampm.;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Line1=person_id_nb;&lt;BR /&gt;
Line2=trim(course_nm) || ' ' || trim(Dayofweek) || '' || put(Start_tm,timeampm.) || '  - ' || put (End_tm,timeampm.);&lt;BR /&gt;
header_record='**********';&lt;BR /&gt;
&lt;BR /&gt;
put Line1;&lt;BR /&gt;
put Line2;&lt;BR /&gt;
put header_record;&lt;BR /&gt;
&lt;BR /&gt;
run;</description>
      <pubDate>Fri, 18 Jun 2010 15:51:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37491#M9542</guid>
      <dc:creator>nickb</dc:creator>
      <dc:date>2010-06-18T15:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: Retain statement</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37492#M9543</link>
      <description>Assuming that the incoming data set can be sorted, use a BY statement (following the SET).&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
set work.stud_courses;&lt;BR /&gt;
by person_id_nb;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
then you can use FIRST. and LAST. processing on your PUT statements&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
if first.person_id_nb then put line1;&lt;BR /&gt;
put line2;&lt;BR /&gt;
if last.person_id_nb then put header_record;&lt;BR /&gt;
[/pre]</description>
      <pubDate>Fri, 18 Jun 2010 16:34:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37492#M9543</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2010-06-18T16:34:10Z</dc:date>
    </item>
    <item>
      <title>Re: Retain statement</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37493#M9544</link>
      <description>Worked great.  Thanks a bunch.</description>
      <pubDate>Fri, 18 Jun 2010 17:14:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-statement/m-p/37493#M9544</guid>
      <dc:creator>nickb</dc:creator>
      <dc:date>2010-06-18T17:14:57Z</dc:date>
    </item>
  </channel>
</rss>

