I am trying to skip a line after a "break after" statement using proc report. This is a stored process that will run on the SAS Stored Process Server. I would like to skip a line after summing up totals by prob_num. Here is my code:
options orientation=landscape center number;
ods pdf file=_WEBOUT notoc;
proc report data=WORK.SORTSortedQUERY_FOR_PAY_MONTHLY_;
title justify=left "Monthly Bonus Calculation"
justify=center "&bonus_month - &bonus_yr"
justify=right "HP14";
footnote "Generated by the SAS System on %TRIM(%QSYSFUNC(DATE(),MMDDYY8.)) at %TRIM(%SYSFUNC(TIME(),TIMEAMPM12.))";
column prob_num cc pos clock_num reg_hrs1 reg_amt1 ot_hrs1 ot_amt1 sun_hrs1 sun_amt1 worked_holiday_hrs1 worked_holiday_amt1
unworked_holiday_hrs1 unworked_holiday_amt1 tot_hrs tot_amt;
define prob_num / group 'Prob' ;
define cc / display 'CC' ;
define pos / display 'Pos' ;
define clock_num / group 'Clock No';
define reg_hrs1 / sum 'Reg Hrs' ;
define reg_amt1 / sum 'Reg Amt' ;
define ot_hrs1 / sum 'OT Hrs' ;
define ot_amt1 / sum 'OT Amt' ;
define sun_hrs1 / sum 'Sun Hrs' ;
define sun_amt1 / sum 'Sun Amt' ;
define worked_holiday_hrs1 / sum 'Worked Hol Hrs' ;
define worked_holiday_amt1 / sum 'Worked Hol Amt' ;
define unworked_holiday_hrs1 / sum 'Unworked Hol Hrs' ;
define unworked_holiday_amt1 / sum 'Unworked Hol Amt' ;
define tot_hrs / sum 'Tot Hrs' ;
define tot_amt / sum 'Tot Amt' ;
break after clock_num / summarize style=[font_weight=bold] ;
break after prob_num / summarize style=[font_weight=bold] skip;
rbreak after / summarize style=[font_weight=bold] ;
run;
ods _all_ close;
I place the "skip" in the break after statement, but it does not skip a line. Am I missing something?
Thanks!
Hi:
There are many PROC REPORT options that are LISTING only options and SKIP on a BREAK statement is one of those options (as are HEADLINE, HEADSKIP, OL, UL, BOX, etc), per this Tech Support note:
http://support.sas.com/kb/2/549.html
As the note suggests, using a LINE statement is the way to have the equivalent of the SKIP happen in ODS destinations (non-LISTING destinations). For example:
compute after prob_num;
line ' '; /* quote space quote */
endcomp;
cynthia
Also, since this is a stored process, just remember that it is possible that clients like Web Report Studio or PowerPoint may not use/honor the options. Those two client applications, in particular, use SASReport XML and they do not use all the PROC REPORT features. This is just one of the Tech Support notes about an issue: http://support.sas.com/kb/19/950.html
added some stored process info
Hi:
There are many PROC REPORT options that are LISTING only options and SKIP on a BREAK statement is one of those options (as are HEADLINE, HEADSKIP, OL, UL, BOX, etc), per this Tech Support note:
http://support.sas.com/kb/2/549.html
As the note suggests, using a LINE statement is the way to have the equivalent of the SKIP happen in ODS destinations (non-LISTING destinations). For example:
compute after prob_num;
line ' '; /* quote space quote */
endcomp;
cynthia
Also, since this is a stored process, just remember that it is possible that clients like Web Report Studio or PowerPoint may not use/honor the options. Those two client applications, in particular, use SASReport XML and they do not use all the PROC REPORT features. This is just one of the Tech Support notes about an issue: http://support.sas.com/kb/19/950.html
added some stored process info
Thanks Cynthia!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.