Lorsque vous construisez un listing avec ODS PDF et PROC REPORT l’option GROUP de l’instruction DEFINE sert à n’afficher chaque valeur de la variable concernée qu’une seule fois.
Hors, si cette valeur s’applique aux observations de plusieurs pages, elle ne sera pas répétée à moins d’ajouter l’option SPANROWS nouvelle avec SAS 9.2.
Cette options ne fonctionne pas actuellement avec ODS RTF.
Voici un exemple pour tester par vous même.
1. Le setting
Par simple soucis de présentation, quelques instructions de paramétrage sont données.
- Enlever le titre par défaut avec l’instruction TITLE.
- Enlever la date et le numéro de page par défaut et alignez le résultat à gauche.
- Créer un format caractère SEX où M réfère à Garçon et F à Fille.
*——————————————–;
* Setting;
*——————————————–;
title;
options nodate nonumber nocenter;
proc format;
value $ sex ‘M’=‘Garçon’
‘F’=‘Fille’;
run;
2. Préparation des données
Afin d’avoir assez de données le fichier CLASS est multiplié par 5. Les noms sauvegardés dans la variable NAME sont incrémentés d’un nombre.
*——————————————–;
* 2. Data Preparation;
*——————————————–;
data class;
set sashelp.class;
output;
name=cats(name,’1′);
output;
name=cats(name,’2′);
output;
name=cats(name,’3′);
output;
name=cats(name,’4′);
output;
name=cats(name,’5′);
output;
run;
3. Reporting
Enfin la section qui nous intéresse vraiment : générer un fichier .RTF et un fichier .PDF avec l’option SPANROWS et voir que que seul ODS RTF tient compte de cette option pour répéter l’observation en début de chaque nouvelle page.
*——————————————–;
* 3. Reporting;
*——————————————–;
ods listing close;
ods rtf file=‘C:\sasref\test1.rtf’;
ods pdf file=‘C:\sasref\test1.pdf’;
proc report data=class spanrows nowd;
column sex name;
define sex / group ‘Sexe’;
define name / display ‘Nom’ ;
run;
ods pdf close;
ods rtf close;
ods listing;