Publié le :

Génération de graphiques et de tableaux avec ODS HTMLPANEL

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script SAS© illustre l'utilisation de la destination ODS TAGSETS.HTMLPANEL pour créer un rapport HTML consolidé. Il commence par la création d'un jeu de données interne 'one' via un DATA STEP. Ensuite, il configure ODS HTMLPANEL pour regrouper automatiquement plusieurs graphiques générés par PROC GCHART et PROC GPLOT en un seul panneau. Les graphiques sont basés sur le jeu de données SASHELP.CLASS. Après le panneau, un tableau PROC PRINT est généré, suivi d'un graphique par groupe (BY-group processing) créé à partir du jeu de données 'one'. Le script utilise également des options GOPTIONS pour la configuration graphique et des instructions TITLE/FOOTNOTE pour la personnalisation du rapport.
Analyse des données

Type : MIXTE


Le script utilise deux sources de données : SASHELP.CLASS (un jeu de données de démonstration intégré à SAS) et un jeu de données interne 'one' créé directement dans le script via une instruction DATALINES (CREATION_INTERNE).

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un jeu de données nommé 'one' en utilisant des données en ligne (DATALINES/CARDS). Il contient trois variables (x, y, z) et 12 observations, destinées à être utilisées ultérieurement pour des analyses par groupe.
Copié !
1DATA one;
2 INPUT x y z;
3 CARDS;
41 10 1
52 20 1
63 30 1
71 40 2
82 50 2
93 60 2
101 10 3
112 20 3
123 30 3
131 40 4
142 50 4
153 60 4
16;
17RUN;
2 Bloc de code
ODS TAGSETS.HTMLPANEL / GOPTIONS
Explication :
Ce bloc initialise la destination ODS TAGSETS.HTMLPANEL pour créer un fichier HTML ('gpanelall.html') qui agira comme un conteneur pour les graphiques. Les options 'panelcolumns' et 'panelborder' définissent la mise en page du panneau. GOPTIONS configure les paramètres graphiques, spécifiant le pilote de périphérique (JAVAIMG) et les dimensions en pixels pour les images générées.
Copié !
1%let panelcolumns = 2;
2%let panelborder = 1;
3 
4ods tagsets.htmlpanel path="." (url=none) file="gpanelall.html";
5goptions dev=javaimg xpixels=480 ypixels=320;
3 Bloc de code
TITLES/FOOTNOTES
Explication :
Ce bloc définit les titres globaux (title1, title2) et les notes de bas de page (footnote1, footnote2) qui seront appliqués aux sorties graphiques suivantes, à l'exception de celles spécifiquement annulées ou remplacées.
Copié !
1title1 "Health analysis";
2title2 "using Gchart and Gplot";
3footnote1 "A footnote";
4footnote2 "A second footnote";
4 Bloc de code
PROC GCHART / PROC GPLOT
Explication :
Ce bloc active le mode de paneling automatique d'ODS HTMLPANEL. Plusieurs procédures graphiques sont exécutées consécutivement : deux PROC GCHART (graphiques à barres verticales et horizontales de l'âge et du poids/taille) et deux PROC GPLOT (graphiques de dispersion du poids vs taille et taille vs poids). Toutes ces sorties graphiques seront automatiquement regroupées dans un panneau du fichier HTML final. Les instructions SYMBOL définissent les marqueurs et couleurs pour les graphiques GPLOT.
Copié !
1ods tagsets.htmlpanel event=panel(start);
2 
3 PROC GCHART DATA=sashelp.class;
4 vbar age / sumvar=height pattid=midpoint;
5 RUN;
6 QUIT;
7 
8 PROC GCHART DATA=sashelp.class;
9 hbar age / sumvar=weight pattid=midpoint;
10 RUN;
11 QUIT;
12
13symbol1 c=red v=plus;
14 PROC GPLOT DATA=sashelp.class;
15 plot weight*height;
16 RUN;
17 QUIT;
18
19symbol1 c=blue v=circle;
20 PROC GPLOT DATA=sashelp.class;
21 plot height*weight;
22 RUN;
23 QUIT;
24 
25ods tagsets.htmlpanel event=panel(finish);
5 Bloc de code
PROC PRINT
Explication :
Ce bloc génère un tableau simple en utilisant PROC PRINT pour afficher le contenu du jeu de données SASHELP.CLASS. Un nouveau titre est défini spécifiquement pour ce tableau, remplaçant les titres précédents.
Copié !
1title1 "A
2PROC PRINT Table";
3PROC PRINT
4DATA=sashelp.class;
5RUN;
6 
6 Bloc de code
PROC GCHART (BY-group)
Explication :
Ce bloc crée un graphique à barres verticales (vbar) avec PROC GCHART. L'instruction BY Z indique que le graphique sera généré séparément pour chaque valeur unique de la variable 'z' dans le jeu de données 'one', permettant une analyse par groupe. Le graphique affiche la somme de 'y' par 'x'.
Copié !
1title1 "A by-group";
2PROC GCHART DATA=one;
3 BY z;
4 vbar x / sumvar=y pattid=midpoint discrete;
5RUN;
6QUIT;
7 Bloc de code
ODS _ALL_ CLOSE
Explication :
Cette instruction ferme toutes les destinations ODS actuellement ouvertes, y compris ODS TAGSETS.HTMLPANEL, finalisant ainsi la création des fichiers de sortie.
Copié !
1ods _all_ close;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.