Posts Tagged ‘proc print’

h1

Deux exemples d’usage de la syntaxe de l’ODS : PROC PRINT et PROC REPORT

juin 26, 2011

Jusqu’à présent, j’ai présenté la syntaxe de l’ODS (Output Delivery System) de SAS avec la procédure PROC REPORT pour générer vos tableaux dans des fichiers .rtf (ODS RTF), .pdf (ODS PDF) ou en XML avec extension .xls (ODS TAGSETS.EXCELXP).

PROC PRINT se révèle dans les cas les plus simples aussi avantageux. Voici deux fichiers .pdf contenant la même table, une fois générée avec PROC REPORT et une fois avec PROC PRINT.

ods listing close;

*1. Exemple de l’ODS avec PROC REPORT;

ods pdf file=‘O:/sasref/exemple_report.pdf’;
proc report data=sashelp.class nowd;
columns sex age;
define sex / display style(column)=[cellwidth=2cm];
define age / display style(column)=[cellwidth=3cm];
run;
ods pdf close;

*2. Exemple de l’ODS avec PROC PRINT;

ods pdf file=‘O:/sasref/exemple_print.pdf’;
proc print data=sashelp.class nobs;
var sex / style(column)=[cellwidth=2cm];
var age / style(column)=[cellwidth=3cm];
run;
ods pdf close;

ods listing;

h1

3 options pour un aperçu de vos données brutes (PROC PRINT)

février 2, 2008

Lors de l’écriture de votre programme, vous aurez une idée de l’état de votre jeu de données. En confrontant cet a priori avec un aperçu de vos données, vous agirez en sécurité et de manière professionnelle. La procédure d’impression (proc print) sera souvent suffisante pour avoir une vue rapide de vos données, concentrée sur les valeurs brutes compressées, sans label voir sans format.

1. Affichez le maximum d’information sur une page : en enlevant les blancs de fin de chaîne de caractère et les éventuels labels activés pour l’option label au niveau global, vous pourrez concentrer un plus grand nombre d’informations sur une page.

  • Pour un affichage minimum sans label, optez pour l’option WIDTH et la valeur minimum.
proc print data=demograph width=min;
run;
  • Pour seulement désactiver les labels le temps de la procédure, ajoutez l’option NOLABEL.
proc print data=demograph nolabel;
run;

2. Enlevez la variable « N° d’observation » : par défaut, la numérotation des observations avec un proc print apparaît. Ajoutez l’option NOOBS en référence à l’anglais « No observation ».

proc print data=demograph noobs;
run;

3. Visionnez les valeurs brutes : par défaut, les formats restent affichés. Pour les ôter les temps de la procédure, insérez le statement format dans la procédure. Deux options d’offrent à vous :

  • Lister chaque variable concernée
proc print data=demograph;
format mavar1 mavar2;
run;
  • Avec le mot-clé _all_ enlever le format de toutes les variables.
proc print data=demograph;
format _all_;
run;

4. Agrandissez la largeur de la page : dans le cas où un grand nombre de données sont à afficher mais pas à imprimer, vous pouvez agrandir la largeur de la page, appelée line size en anglais. Sinon, celles-ci apparaîtront sur plusieurs lignes rendant la lecture périlleuse.

options ls=250;

5. Affichez quelques observations : voir plusieurs centaines d’enregistrements n’apportera pas forcément plus d’information pour le développement de votre programme. L’impression des premières observations sera déjà une mine d’information. A la suite du nom du jeu de données, ajoutez entre parenthèses le numéro de la dernière observation via l’option OBS. Vous pouvez aussi changer la première observation par défaut avec FIRSTOBS.

proc print data=demograph (firstobs=100 obs=129);
run;

6. Pensez au copier/coller de Word : si vous envisagez de copier votre output sous Word, enlevez l’option pour centrer. SAS rajoute, en effet, des espaces pour centrer son texte qui s’avère contraignant dans un éditeur de texte.

options nocenter;

Dans le cas de la lecture des dictionnaires SAS, vous pouvez faire usage de la procédure SQL.