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;
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.