<?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: How to repeat the first observation on every page of the proc print? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471808#M70943</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;And if you want it to be totally data driven, you can read observation 1, construct the LABEL statement, and write it to a temporary file&amp;nbsp;for subsequent inclusion in a proc print:&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In keeping with &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;data driven approach you can also use PROC TRANSPOSE (my second favorite) procedure to create the labels.&amp;nbsp; PROC TRANSPOSE can create meta data from data and the other way round.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data response;	
   input ID:$4. (q1-q3)(:$1.);
   cards;
X213 E  A  B
X907 E  A  C
X526 D  A  B
;
   Run;
data keys;	
   input ID:$4. (key1-key3)(:$1.);
   cards;
9999 E  A  B
;
   run;
proc transpose data=keys out=keys2;
   by id;
   var key:;
   run;
data keys2;
   set keys2;
   _name_  = transtrn(_name_,'key','Q'); 
   _label_ = catx('~',_name_,col1);
   run;
proc transpose data=keys2 out=keys3;
   by id;
   var col1;
   run;
proc contents varnum;
   run;
proc print;
   run;
data response;	
   input ID:$4. (q1-q3)(:$1.);
   cards;
X213 E  A  B
X907 E  A  C
X526 D  A  B
;
   Run;

data responseV / view=responseV;
   set keys3(obs=0) response;
   label id='Question~Key';
   run;
proc report list split='~';
   columns id q:;
   define id / order;
   define q: / display;
   run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 373px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/21294i789C569B3AB921F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Jun 2018 17:29:06 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2018-06-20T17:29:06Z</dc:date>
    <item>
      <title>How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471674#M70933</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our Testing Center has a SAS program written probably 30 years ago, it shows the key answers of an exam on the first row, then lists all the student responses as the second observations and so on.&amp;nbsp; However, if the class is too big and the printout will last for several pages. Then there are no more key answers showed&amp;nbsp;as first row from&amp;nbsp;second page on. The professor would like to see the key answers on every page of the listing of student responses when he meets with the students to discuss.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q6&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q7&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q8&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q9&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Q10&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;key&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X024406&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X024894&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X102308&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X106252&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X112442&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there an option in PROC PRINT to do that?&lt;/P&gt;&lt;P&gt;I was thinking to combine the info of the keys and question items, i.e., Q1=C, Q2=D, etc. But not successful!&amp;nbsp;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;appreciate any help you can provide.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 13:08:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471674#M70933</guid>
      <dc:creator>WienYu</dc:creator>
      <dc:date>2018-06-20T13:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471679#M70934</link>
      <description>&lt;P&gt;Why not just put the key into a header row then, something like:&lt;/P&gt;
&lt;PRE&gt;proc report data=have nowd split="*";
  columns _all_;
  define id / "ID*key";
  define q1 / "Q1*C";
  ...
run;&lt;/PRE&gt;
&lt;P&gt;Note the split="*" - this indicates where to put a new line.&amp;nbsp; In this way the key row would appear on every page.&amp;nbsp; Also note, I use report rather than print as its far more advanced and powerful.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other way I could see is a compute before page block, and having the key in a string , but thats messy and long winded.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 13:16:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471679#M70934</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-06-20T13:16:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471684#M70935</link>
      <description>&lt;P&gt;Same technique as suggested by &lt;STRONG&gt;RW9&lt;/STRONG&gt; works with PROC PRINT.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ Q1 $ Q2 $;
cards;
key    C D
X12345 C B
X23456 A D
;

proc print data=have(firstobs=2) split='^' noobs;
label ID='ID^key'
      Q1='Q1^C'
      Q2='Q2^D';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 13:32:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471684#M70935</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2018-06-20T13:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471704#M70936</link>
      <description>&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I don't know how to label the key that is changing from exam to exam. The instructor puts the keys in a separate form for scanning in.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please see attachment for a simplified version of the program.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 14:15:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471704#M70936</guid>
      <dc:creator>WienYu</dc:creator>
      <dc:date>2018-06-20T14:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471707#M70937</link>
      <description>&lt;P&gt;Then you need to generate the code from that dataset:&lt;/P&gt;
&lt;PRE&gt;data _null_;&lt;BR /&gt;  set keys;&lt;BR /&gt;  call execute('proc report data=have nowd split="*"; columns _all_; define id / "ID*key";');
  call execute(cat(' define q1 / "Q1*',strip(key1),'";'));
  call execute(cat(' define q2 / "Q2*',strip(key2),'";'));&lt;BR /&gt;  call execute(cat(' define q3 / "Q3*',strip(key3),'";'));&lt;BR /&gt;  call execute(';run;');
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 14:27:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471707#M70937</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-06-20T14:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471711#M70938</link>
      <description>&lt;P&gt;And if you want it to be totally data driven, you can read observation 1, construct the LABEL statement, and write it to a temporary file&amp;nbsp;for subsequent inclusion in a proc print:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ Q1 $ Q2 $;
cards;
key    C D
X12345 C B
X23456 A D
run;

filename tmp temp;
data _null_;
  set have (obs=1);
  file tmp;
  put 'LABEL';
  do until (VNAM='VNAM');
    call vnext(vnam);
    if vnam='VNAM' then leave;
    labl=cats('"',vnam,'^',vvaluex(vnam),'"');
    put vnam '=' labl;
  end;
run;

options source2;

proc print data=have(firstobs=2) split='^' noobs;
  %include tmp ;;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jun 2018 14:36:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471711#M70938</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-06-20T14:36:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471753#M70939</link>
      <description>&lt;P&gt;Thanks so much for everyone taking your time in answering my question!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;mkeintz, "Construct the LABEL statement, and write it to a temporary file&amp;nbsp;for subsequent inclusion in a proc print" works on my simplified version! Thanks for the suggestion!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;RW9, I will try the proc report later to see how it works.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 15:47:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471753#M70939</guid>
      <dc:creator>WienYu</dc:creator>
      <dc:date>2018-06-20T15:47:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to repeat the first observation on every page of the proc print?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471808#M70943</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;And if you want it to be totally data driven, you can read observation 1, construct the LABEL statement, and write it to a temporary file&amp;nbsp;for subsequent inclusion in a proc print:&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In keeping with &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;data driven approach you can also use PROC TRANSPOSE (my second favorite) procedure to create the labels.&amp;nbsp; PROC TRANSPOSE can create meta data from data and the other way round.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data response;	
   input ID:$4. (q1-q3)(:$1.);
   cards;
X213 E  A  B
X907 E  A  C
X526 D  A  B
;
   Run;
data keys;	
   input ID:$4. (key1-key3)(:$1.);
   cards;
9999 E  A  B
;
   run;
proc transpose data=keys out=keys2;
   by id;
   var key:;
   run;
data keys2;
   set keys2;
   _name_  = transtrn(_name_,'key','Q'); 
   _label_ = catx('~',_name_,col1);
   run;
proc transpose data=keys2 out=keys3;
   by id;
   var col1;
   run;
proc contents varnum;
   run;
proc print;
   run;
data response;	
   input ID:$4. (q1-q3)(:$1.);
   cards;
X213 E  A  B
X907 E  A  C
X526 D  A  B
;
   Run;

data responseV / view=responseV;
   set keys3(obs=0) response;
   label id='Question~Key';
   run;
proc report list split='~';
   columns id q:;
   define id / order;
   define q: / display;
   run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 373px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/21294i789C569B3AB921F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 17:29:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-repeat-the-first-observation-on-every-page-of-the-proc/m-p/471808#M70943</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2018-06-20T17:29:06Z</dc:date>
    </item>
  </channel>
</rss>

