Publié le :
Reporting SASHELP

Création de tableaux de bord composites avec ODS HTMLPANEL

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script illustre la création de mises en page complexes (dashboard) en utilisant `ods tagsets.htmlpanel`. Il montre comment imbriquer des événements de panneau (lignes et colonnes) pour positionner plusieurs sorties graphiques (diagrammes circulaires, cartes géographiques) et tabulaires côte à côte. Le code utilise les procédures SAS©/GRAPH historiques (GCHART, GMAP).
Analyse des données

Type : SASHELP


Utilise la table standard `sashelp.class` pour les données statistiques et la table `maps.us` pour les données cartographiques.

1 Bloc de code
INITIALIZATION
Explication :
Initialisation des options graphiques globales et ouverture de la destination ODS HTMLPANEL pour la création du fichier 'composite.html'.
Copié !
1%let panelborder=1;
2goptions reset=all dev=java;
3ods tagsets.htmlpanel path="." (url=none) file="composite.html" style=default;
4 
5title1 "This is a graph panel title";
6title2 "with a sub-title below it";
7footnote1 "This is a panel footnote";
8footnote2 "along with a sub-footnote";
2 Bloc de code
ODS LAYOUT
Explication :
Début d'une ligne de panneaux et d'une première colonne. Génération de deux diagrammes circulaires (Age vs Taille/Poids) empilés verticalement dans cette première cellule.
Copié !
1/* Start a row panel, with a column panel in the first cell */
2ods tagsets.htmlpanel event=row_panel(start);
3 
4/* Cell 1 */
5ods tagsets.htmlpanel event=column_panel(start);
6 
7goptions xpixels=240 ypixels=240;
8PROC GCHART DATA=sashelp.class;
9 pie age / sumvar=height;
10RUN;
11QUIT;
12 
13PROC GCHART DATA=sashelp.class;
14 pie age / sumvar=weight;
15RUN;
16QUIT;
17 
18/* Close the column panel */
19ods tagsets.htmlpanel event=column_panel(finish);
3 Bloc de code
PROC GMAP
Explication :
Génération d'une carte choroplèthe des États-Unis dans la deuxième cellule (colonne centrale implicite ou suite du flux) avec une résolution plus élevée.
Copié !
1/* Cell 2 */
2goptions xpixels=480 ypixels=480;
3PROC GMAP map=maps.us DATA=maps.us;
4 id state;
5 choro state;
6RUN;
7QUIT;
4 Bloc de code
PROC GCHART
Explication :
Création d'une troisième colonne contenant deux autres diagrammes circulaires basés sur la moyenne (mean). Fermeture de la colonne et de la ligne globale.
Copié !
1/* Cell 3 */
2ods tagsets.htmlpanel event=column_panel(start);
3goptions xpixels=240 ypixels=240;
4PROC GCHART DATA=sashelp.class;
5 pie age / sumvar=height type=mean;
6RUN;
7QUIT;
8 
9PROC GCHART DATA=sashelp.class;
10 pie age / sumvar=weight type=mean;
11RUN;
12QUIT;
13 
14/* Close the column panel */
15ods tagsets.htmlpanel event=column_panel(finish);
16/* Close the whole panel */
17ods tagsets.htmlpanel event=row_panel(finish);
5 Bloc de code
PROC SORT Data
Explication :
Tri des données `sashelp.class` par sexe et âge, stockées dans une table temporaire `temp`.
Copié !
1title1 "This is a table example";
2goptions xpixels=340 ypixels=335;
3PROC SORT DATA=sashelp.class out=temp;
4 BY sex age;
5RUN;
6 Bloc de code
ODS LAYOUT MIXTE
Explication :
Création d'un second panneau composite combinant un graphique à barres horizontales (HBAR) dans la première colonne et un tableau de données (PROC PRINT) dans la seconde. Fermeture de toutes les destinations ODS.
Copié !
1/* Start a row panel, with a column panel in the first cell */
2ods tagsets.htmlpanel event=row_panel(start);
3 
4/* Cell 1 */
5ods tagsets.htmlpanel event=column_panel(start);
6PROC GCHART DATA=temp;
7 BY sex;
8 hbar age / discrete sumvar=weight type=mean;
9RUN;
10QUIT;
11 
12/* Close the column panel */
13ods tagsets.htmlpanel event=column_panel(finish);
14 
15/* Cell 2 */
16PROC PRINT DATA=temp;
17RUN;
18QUIT;
19 
20/* Close the whole panel */
21ods tagsets.htmlpanel event=row_panel(finish);
22 
23ods _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.
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« L'utilisation de la destination ODS tagsets.htmlpanel est une technique de choix pour concevoir des tableaux de bord statiques sans recourir à des outils externes complexes. Le secret de cette méthode réside dans la gestion des événements (events) : en imbriquant les fonctions row_panel et column_panel, vous créez une grille invisible qui force SAS à positionner des éléments de tailles hétérogènes (cartes géographiques massives à côté de petits diagrammes circulaires) de manière harmonieuse. Pour un rendu professionnel, la synchronisation des options GOPTIONS XPIXELS/YPIXELS avec la structure de vos colonnes est indispensable afin d'éviter tout étirement ou superposition graphique indésirable. »