Hi:
It might be useful to revisit the documentation on the RULES attribute (and you might want to look at the doc for BORDER styles, too).
For your convenience, the possible values for RULES are:
[pre]
Value Meaning
ALL Between all rows and columns
COLS Between all columns
GROUPS Between the table header and the table and
between the table and the table footer, if there is one
NONE No rules anywhere
ROWS Between all rows
[/pre]
from:
http://support.sas.com/documentation/cdl/en/odsug/61723/HTML/default/a002972093.htm#a002978401
When you use the GROUPS value for the RULES attribute, you would normally NOT see a line at a total (see #1 below) if the total was produced by a PROC REPORT BREAK or RBREAK statement. However, as soon as you use a LINE statement for COMPUTE AFTER _PAGE_, you are essentially creating a TABLE FOOTER.
In the programs below, note the behavior in the 2 different outputs. Report #1 has no line before the total (because there is no table footer in #1). But Report #2 has a LINE statement -- which automatically creates a table footer, so there is a solid line above the table footer.
Also, are you seeing a DASHED border in your output???? I do not see a dashed line in my output. I suspect that is because the various borderstyle attributes are only valid in the RTF and Markup family destinations and PDF does not fall into those categories. (See #3)
If you use RULES=GROUPS and the LINE statement with PROC REPORT, then you are seeing the expected behavior from RULES=GROUPS.
cynthia
[pre]
ods pdf file='c:\temp\withbreak.pdf';
PROC REPORT DATA=sashelp.class(obs=5) NOWD MISSING SPLIT='|'
STYLE(HEADER)={FONT_FACE=COURIER BACKGROUND=_UNDEF_ FONT_SIZE=10pt}
STYLE(REPORT)={RULES=GROUPS FRAME=VOID BORDERSTYLE=DASHED FONT_SIZE=10pt }
STYLE(COLUMN)={BACKGROUND=WHITE FOREGROUND=black FONT_FACE=COURIER
FONT_SIZE=10pt };
title "1) Rules= GROUPS with BREAK statement";
column age name sex height weight;
define age / order;
break after age / summarize;
run;
ods pdf close;
ods pdf file='c:\temp\withline.pdf';
PROC REPORT DATA=sashelp.class(obs=5) NOWD MISSING SPLIT='|'
STYLE(HEADER)={FONT_FACE=COURIER BACKGROUND=_UNDEF_ FONT_SIZE=10pt}
STYLE(REPORT)={RULES=GROUPS FRAME=VOID BORDERSTYLE=DASHED FONT_SIZE=10pt }
STYLE(COLUMN)={BACKGROUND=WHITE FOREGROUND=black FONT_FACE=COURIER
FONT_SIZE=10pt };
title "2) Rules= GROUPS with BREAK -and- LINE statement";
column age name sex height weight;
define age / order;
break after age / summarize;
COMPUTE after _PAGE_/ STYLE={JUST=R ASIS=ON FONT_SIZE=10pt FONT_FACE=COURIER };
LINE @20 " *** vvvvv *** "
@65 'wwwww'
@80 'xxxxx'
@96 'yyyyy'
@112 'zzzzz';
ENDCOMP;
run;
ods pdf close;
ods html file='c:\temp\useborderstyle.html' style=rtf;
ods rtf file='c:\temp\useborderstyle.rtf';
PROC REPORT DATA=sashelp.class(obs=5) NOWD MISSING SPLIT='|'
STYLE(HEADER)={FONT_FACE=COURIER BACKGROUND=_UNDEF_ FONT_SIZE=10pt}
STYLE(REPORT)={BORDERTOPSTYLE=DASHED borderbottomstyle=dotted
borderleftstyle=solid borderrightstyle=double
borderwidth=5 FONT_SIZE=10pt }
STYLE(COLUMN)={BACKGROUND=WHITE FOREGROUND=black FONT_FACE=COURIER
FONT_SIZE=10pt };
title "3) Default style shows borderstyle usage";
column age name sex height weight;
define age / order;
break after age / summarize;
COMPUTE after _PAGE_/ STYLE={JUST=R ASIS=ON FONT_SIZE=10pt FONT_FACE=COURIER };
LINE @20 " *** vvvvv *** "
@65 'wwwww'
@80 'xxxxx'
@96 'yyyyy'
@112 'zzzzz';
ENDCOMP;
run;
ods _all_ close;
[/pre]