Lors de la création de rapports avec PROC REPORT, l'ajout d'une ligne de résumé (total global) est une opération courante, généralement réalisée via l'instruction RBREAK.
Par défaut, cette ligne de résumé adopte un style standard défini par le template ODS actif (souvent un fond gris clair ou blanc). Cependant, pour des raisons esthétiques ou de lisibilité, il est fréquent de vouloir que cette ligne de total ressemble exactement à la ligne d'en-tête du tableau (même couleur de fond, même police grasse, même couleur de texte).
La première réaction naturelle est d'ouvrir le code source du template ODS, de repérer les codes couleurs hexadécimaux de l'en-tête (par exemple cx112277 pour le texte et cxEDF2F9 pour le fond dans le style HTMLBlue), et de les copier manuellement dans l'instruction.
/* À é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
Bien que fonctionnelle, cette méthode pose problème : si vous changez de style ODS (par exemple de HTMLBlue vers Plateau), votre ligne de total ne s'adaptera pas et gardera les anciennes couleurs, créant un design incohérent.
Il existe deux manières simples d'appliquer ce style à votre ligne de résumé.
Méthode 1 : Application locale sur l'instruction RBREAK
C'est la méthode la plus précise si vous souhaitez cibler uniquement le total global généré par RBREAK.
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;
Méthode 2 : Application globale via l'option STYLE
Vous pouvez également définir ce comportement au niveau de l'instruction PROC REPORT elle-même. Cela indique à la procédure d'utiliser le style "Header" pour tout élément de type "summary".
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.