BookmarkSubscribeRSS Feed
daszlosek
Quartz | Level 8

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;
3 REPLIES 3
Reeza
Super User

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

daszlosek
Quartz | Level 8
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.
ballardw
Super User

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.

 

 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 5193 views
  • 0 likes
  • 3 in conversation