DATA Step, Macro, Functions and more

[PROC Report] Multiple Table with Title on single page and Figure on next Page

Reply
Contributor
Posts: 69

[PROC Report] Multiple Table with Title on single page and Figure on next Page

Hello,

 

I am trying to have three tables on the page age in proc report. Searching the forums I was able to use this article in order to have them on the same page (via STARTPAGE= NO  columns=3), but their individual titles were not above them. In addition, I have a figure on the following page that is now confined to the left most column.

 

-Is there a way to only have the columns=3 only apply to a single page or proc reports?

-Is there a way to keep the titles above the individual proc reports when they are on the same page?

 

Below are my code and a .rtf of my proc report.

 

If any of you have papers/ suggestions that can point in the right direction that would be great!

 

Thank you!

 

options nobyline nodate nonumber orientation=landscape topmargin=1in leftmargin=0.5in bottommargin=1in rightmargin=0.5in;
ods listing close;
ods escapechar = '^';
ods rtf file="&outnam" style=journal STARTPAGE= NO  columns=3;                                     

title1 j=l h=1 '^S={postimage="/shares/groups/small.png" color=white} x'
       j=r h=1 "^S={fontstyle=ROMAN}Page ^{pageof}";
title2 j=l h=1 "^S={fontstyle=ROMAN}Study ID:";
title3 j=c h=3 "^S={fontstyle=ROMAN fontsize=9pt}Summary cats";
title4 j=c "  ";

footnote1 
          j=l       "^S={fontstyle=ROMAN fontweight=light ASIS=on}Note" 
          j=l       "^S={fontstyle=ROMAN fontweight=light ASIS=on}Note" 
          j=l       "^S={fontstyle=ROMAN fontweight=light ASIS=on}Note";
footnote2 j=l h=0.3 "  ";
footnote3 j=l h=0.3 "^S={fontweight=light}Note";

proc report data=a5 split='*' nowd;
   column  result gold_standard,value perish tp fn tn fp;
   define result / group  'cats* ';
   define gold_standard / across  'china';
   define value / analysis sum ' ';
   define tp /  noprint;
   define tn /  noprint;
   define fp /  noprint;
   define fn /  noprint;
   define perish / computed noprint format=percent8.2;
   compute before;
      tp1=  _c5_;
	  fn1=  _c6_; 
	  fp1=  _c8_;
   endcomp;
   compute perish;
      perish = (((tp1 + fp1)-(tp1 + fn1))/(tp1 + fn1)) ;
   endcomp;
   compute after;
            line  '% More cats: ' perish percent10.2;
         endcomp;
   title5 'title a';
run;

proc report data=b5 split='*' nowd;
   column  result gold_standard,value perish tp fn tn fp;
   define result / group  'cats* ';
   define gold_standard / across  'china';
   define value / analysis sum ' ';
   define tp /  noprint;
   define tn /  noprint;
   define fp /  noprint;
   define fn /  noprint;
   define perish / computed noprint format=percent8.2;
   compute before;
      tp1=  _c5_;
	  fn1=  _c6_; 
	  fp1=  _c8_;
   endcomp;
   compute perish;
      perish = (((tp1 + fp1)-(tp1 + fn1))/(tp1 + fn1)) ;
   endcomp;
   compute after;
            line  '% More cats: ' perish percent10.2;
         endcomp;
   title5 'title b';
run;

proc report data=c5 split='*' nowd;
   column  result gold_standard,value perish tp fn tn fp;
   define result / group  'cats* ';
   define gold_standard / across  'china';
   define value / analysis sum ' ';
   define tp /  noprint;
   define tn /  noprint;
   define fp /  noprint;
   define fn /  noprint;
   define perish / computed noprint format=percent8.2;
   compute before;
      tp1=  _c5_;
	  fn1=  _c6_; 
	  fp1=  _c8_;
   endcomp;
   compute perish;
      perish = (((tp1 + fp1)-(tp1 + fn1))/(tp1 + fn1)) ;
	     endcomp;
   compute after;
            line  '% More cats: ' perish percent10.2;
         endcomp;
   title5 'title c';
run;


proc report data=whip5 split='*' nowd;
   column  image;
   define image / computed style(column)={width=7.5in} 'Missing Results by Month';
compute image;
     image = 'Missing OD Results by Month';
     imageloc = catt('style={preimage="/shares/chart1.jpeg"}');
    call define(_col_,'style',imageloc);
   endcomp;
   title5 'Missing OD Results';
run;


ods rtf close;
ods listing;
Attachment
Attachment
Super User
Posts: 17,819

Re: [PROC Report] Multiple Table with Title on single page and Figure on next Page

Try the BODYTITLE option on the ODS statement?

 

Here's a link to the ODS RTF tip sheet

https://support.sas.com/rnd/base/ods/odsrtf/rtf-tips.pdf

Contributor
Posts: 69

Re: [PROC Report] Multiple Table with Title on single page and Figure on next Page

Thanks for the tip sheet! BODYTITLE gets the titles to align with the figures, but it also brings all the headers and footers into the column. Since I have three columns, the headers and footers are represented 3 times. I guess one of the issues is that the title for the proc reports is also part of the header.
Super User
Posts: 10,500

Re: [PROC Report] Multiple Table with Title on single page and Figure on next Page

If you do not want titles from previous output to appear with a specific output table then issue a title statement:

 

Title 'This is a title until reset';

proc freq data=sashelp.class;

   tables height weight;

run;

 

Proc print data = sashelp.class;

   var name;

run;

 

Title;

proc means data=sashelp.class;

    var height weight;

run;

The Proc print inherits the title from the one set before Proc Freq;

Using the Title; to clear the assigned titles means the Proc means does not get the title. Or change it.

 

You can use different levels of the Title ; When you use Title3 ; it clears the title3 and higher number defintions but not title1 and title2.

 

 

Ask a Question
Discussion stats
  • 3 replies
  • 88 views
  • 0 likes
  • 3 in conversation