Publicado el :
Informes SASHELP

Creación de paneles compuestos con ODS HTMLPANEL

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script ilustra la creación de diseños complejos (dashboard) utilizando `ods tagsets.htmlpanel`. Muestra cómo anidar eventos de panel (filas y columnas) para posicionar múltiples salidas gráficas (diagramas circulares, mapas geográficos) y tabulares una al lado de la otra. El código utiliza los procedimientos SAS©/GRAPH históricos (GCHART, GMAP).
Análisis de datos

Type : SASHELP


Utiliza la tabla estándar `sashelp.class` para los datos estadísticos y la tabla `maps.us` para los datos cartográficos.

1 Bloque de código
INITIALIZATION
Explicación :
Inicialización de las opciones gráficas globales y apertura del destino ODS HTMLPANEL para la creación del archivo 'composite.html'.
¡Copiado!
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 Bloque de código
ODS LAYOUT
Explicación :
Inicio de una fila de paneles y una primera columna. Generación de dos diagramas circulares (Edad vs Altura/Peso) apilados verticalmente en esta primera celda.
¡Copiado!
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 Bloque de código
PROC GMAP
Explicación :
Generación de un mapa coroplético de los Estados Unidos en la segunda celda (columna central implícita o continuación del flujo) con una resolución más alta.
¡Copiado!
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 Bloque de código
PROC GCHART
Explicación :
Creación de una tercera columna que contiene otros dos diagramas circulares basados en la media. Cierre de la columna y de la fila global.
¡Copiado!
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 Bloque de código
PROC SORT Data
Explicación :
Ordena los datos de `sashelp.class` por sexo y edad, almacenados en una tabla temporal `temp`.
¡Copiado!
1title1 "This is a table example";
2goptions xpixels=340 ypixels=335;
3PROC SORT DATA=sashelp.class out=temp;
4 BY sex age;
5RUN;
6 Bloque de código
ODS LAYOUT MIXTE
Explicación :
Creación de un segundo panel compuesto que combina un gráfico de barras horizontales (HBAR) en la primera columna y una tabla de datos (PROC PRINT) en la segunda. Cierre de todos los destinos ODS.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.