Beim Erstellen von Berichten mit PROC REPORT ist das Hinzufügen einer Zusammenfassungszeile (Gesamtsumme) eine häufige Operation, die normalerweise mit der Anweisung RBREAK durchgeführt wird.
Standardmäßig übernimmt diese Zusammenfassungszeile einen Standardstil, der durch die aktive ODS-Vorlage definiert ist (oft ein hellgrauer oder weißer Hintergrund). Aus ästhetischen Gründen oder zur besseren Lesbarkeit ist es jedoch oft erwünscht, dass diese Summenzeile genau wie die Kopfzeile der Tabelle aussieht (gleiche Hintergrundfarbe, gleiche fette Schrift, gleiche Textfarbe).
Die erste natürliche Reaktion ist, den Quellcode der ODS-Vorlage zu öffnen, die hexadezimalen Farbcodes der Kopfzeile zu finden (zum Beispiel cx112277 für den Text und cxEDF2F9 für den Hintergrund im Stil HTMLBlue), und sie manuell in die Anweisung zu kopieren.
/* À éviter : Code rigide et difficile à maintenir */
rbreak after / summarize style=[fontweight=bold color=cx112277 backgroundcolor=cxEDF2F9];
1
/* À éviter : Code rigide et difficile à maintenir */
2
rbreak after / summarize style=[fontweight=bold color=cx112277 backgroundcolor=cxEDF2F9];
3
Obwohl diese Methode funktioniert, ist sie problematisch: Wenn Sie den ODS-Stil ändern (z. B. von HTMLBlue zu Plateau), passt sich Ihre Summenzeile nicht an und behält die alten Farben bei, was zu einem inkonsistenten Design führt.
Es gibt zwei einfache Möglichkeiten, diesen Stil auf Ihre Zusammenfassungszeile anzuwenden.
Methode 1: Lokale Anwendung auf die RBREAK-Anweisung
Dies ist die präziseste Methode, wenn Sie nur die von RBREAK erzeugte Gesamtsumme gezielt ansprechen möchten.
proc report data=sashelp.class;
columns sex weight;
define sex / group;
define weight / analysis mean f=5.2;
/* On applique directement le style 'Header' à la ligne de résumé */
rbreak after / summarize style=Header;
run;
1
PROC REPORTDATA=sashelp.class;
2
columns sex weight;
3
define sex / group;
4
define weight / analysis mean f=5.2;
5
6
/* On applique directement le style 'Header' à la ligne de résumé */
7
rbreak after / summarize style=Header;
8
RUN;
Methode 2: Globale Anwendung über die Option STYLE
Sie können dieses Verhalten auch auf der Ebene der PROC REPORT-Anweisung selbst definieren. Dies weist die Prozedur an, den Stil "Header" für jedes Element vom Typ "summary" zu verwenden.
proc report data=sashelp.class style(summary)=Header;
columns sex weight;
define sex / group;
define weight / analysis mean f=5.2;
rbreak after / summarize;
run;
The codes and examples provided on WeAreCAS.eu are for educational purposes. It is imperative not to blindly copy-paste them into your production environments. The best approach is to understand the logic before applying it. We strongly recommend testing these scripts in a test environment (Sandbox/Dev). WeAreCAS accepts no responsibility for any impact or data loss on your systems.
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. WeAreCAS is an independent community site and is not affiliated with SAS Institute Inc.
This site uses technical and analytical cookies to improve your experience.
Read more.