Hello SAS users.
I am almost done with the following proc report... except I am missing an overline for the total bar in the last line.
The following is what I want to see. Can anyone please tell me what I should add in my SAS code to achieve this?
.
.
.
1234 123 231 xxx xxx
total etc etc etc etc
Many thanks
DATA sample;
INPUT no $ Bad Good Reject Total;
CARDS;
(0) 3 1635 163 18366
(1) 2 1772 126 14710
(2) 5 3912 138 18261
(3) 7 5614 245 30824
;
RUN;
ods rtf file="reportstyles.html" style=Journal BODYTITLE;
TITLE1 "Table 1.&i: Analysis: Adverse";
FOOTNOTE;
PROC REPORT DATA=sample NOWD
STYLE(header) = [font=(Arial,2) JUST=CENTER]
STYLE(report) = [font=(Arial,1.8) borderwidth=1 CELLSPACING=0.5 just=CENTER WIDTH=1100]
STYLE(column) = [font=(Arial,2)just=center];
COLUMN (no good bad Reject total total=total_pct BR GB DR);
DEFINE no / ORDER;
DEFINE good / ANALYSIS "Good" FORMAT=comma10.;
DEFINE bad / ANALYSIS "Bad" FORMAT=comma10.;
DEFINE Reject / ANALYSIS "Declined" FORMAT=comma10.;
DEFINE BR / COMPUTED "Bad Rate" FORMAT=percent6.1;
DEFINE GB / COMPUTED "GB Odds" FORMAT=6.1;
DEFINE DR / COMPUTED "Decline rate" FORMAT=percent6.2;
DEFINE total / ANALYSIS "Total" FORMAT=comma10.;
DEFINE total_pct / PCTSUM "PoP%" FORMAT=percent6.2;
COMPUTE BR;
BR=bad.sum/(good.sum+bad.sum);
ENDCOMP;
COMPUTE GB;
GB = good.sum/bad.sum;
ENDCOMP;
COMPUTE DR;
DR = Reject.sum/total.sum;
ENDCOMP;
COMPUTE AFTER;
no = 'Total';
ENDCOMP;
RBREAK AFTER/ SUMMARIZE SKIP OL ;
RUN;
ods rtf close;
Update:
I just read from http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473629.htm that UL doesn't come through to ODS destinations, which is disappointing for me because I want this table in a word document file. I am quite lost what to do now
It is so weird. SAS do not allow to change bordertopcolor attribute of summary .
My workaround is awkward by using line statement. I do not think you like it.
Maybe Cynthia@sas can use proc template to tailor it .
Or there is a smart way?
DATA sample; INPUT no $ Bad Good Reject Total; CARDS; (0) 3 1635 163 18366 (1) 2 1772 126 14710 (2) 5 3912 138 18261 (3) 7 5614 245 30824 ; RUN; ods rtf file="c:\reportstyles.rtf" BODYTITLE ; TITLE1 "Table 1.i: Analysis: Adverse"; FOOTNOTE; PROC REPORT DATA=sample NOWD STYLE(report) = [ bordercolor=white font=(Arial,1.8) borderwidth=1 CELLSPACING=0.5 just=CENTER WIDTH=1100] STYLE(header) = [ bordertopcolor=black borderbottomcolor=black font=(Arial,2) JUST=CENTER background=white ] STYLE(column) = [ bordertopcolor=white font=(Arial,2)just=center ] STYLE(summary)=[foreground=white height=.01 bordertopcolor=black borderbottomcolor=black ] STYLE(lines)=[bordertopcolor=black borderbottomcolor=black ] ; COLUMN (no good bad Reject total total=total_pct BR GB DR); DEFINE no / ORDER; DEFINE good / ANALYSIS "Good" FORMAT=comma10.; DEFINE bad / ANALYSIS "Bad" FORMAT=comma10.; DEFINE Reject / ANALYSIS "Declined" FORMAT=comma10.; DEFINE BR / COMPUTED "Bad Rate" FORMAT=percent6.1; DEFINE GB / COMPUTED "GB Odds" FORMAT=6.1; DEFINE DR / COMPUTED "Decline rate" FORMAT=percent6.2; DEFINE total / ANALYSIS "Total" FORMAT=comma10.; DEFINE total_pct / PCTSUM "PoP%" FORMAT=percent6.2; COMPUTE BR; BR=bad.sum/(good.sum+bad.sum); ENDCOMP; COMPUTE GB; GB = good.sum/bad.sum; ENDCOMP; COMPUTE DR; DR = Reject.sum/total.sum; ENDCOMP; COMPUTE AFTER; line 'Total:' @12 good.sum comma10. @ 34 bad.sum comma10.; ENDCOMP; RBREAK AFTER/ SUMMARIZE SKIP OL ; ; RUN; ods rtf close;
Ksharp
If you want bold summary line:
PROC REPORT DATA=sample NOWD
STYLE(header) = [font=(Arial,2) JUST=CENTER]
STYLE(report) = [font=(Arial,1.8) borderwidth=1 CELLSPACING=0.5 just=CENTER WIDTH=1100]
STYLE(column) = [ font=(Arial,2)just=center]
STYLE(summary)=[fontweight=bold ]
Ksharp
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.