Publicado el :
Informes SASHELP

Creación de un documento ODS con múltiples salidas

Este código también está disponible en: Deutsch English Français
En espera de validación
El programa comienza creando tres tablas de trabajo: `class`, `shoes` y `cars`, basándose en las tablas correspondientes de la biblioteca SASHELP. La tabla `shoes` se filtra para mantener solo las regiones 'Canada' y 'Pacific'. Luego, cierra todos los destinos ODS abiertos e inicia un nuevo documento ODS llamado `doc_results`. Se generan varios informes con `PROC REPORT` en las diferentes tablas, algunos de los cuales se producen dinámicamente a través de una macro `%loopTroughMake` que itera sobre las marcas de automóviles. También se añade un gráfico con `PROC SGPLOT`. Finalmente, se cierra el documento ODS, consolidando todas las salidas en un solo archivo.
Análisis de datos

Type : SASHELP


Los datos provienen exclusivamente de la biblioteca SASHELP (tablas class, shoes, cars).

1 Bloque de código
DATA STEP Data
Explicación :
Crea la tabla `class` en la biblioteca WORK copiando `sashelp.class` y añadiendo una columna constante `const`.
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 const = 1;
4RUN;
2 Bloque de código
PROC SORT
¡Copiado!
1PROC SORT DATA=class; BY const sex;RUN;
3 Bloque de código
DATA STEP Data
Explicación :
Crea la tabla `shoes` filtrando `sashelp.shoes` para mantener solo las regiones 'Canada' y 'Pacific'.
¡Copiado!
1DATA shoes;
2 SET sashelp.shoes;
3 WHERE region in ('Canada', 'Pacific');
4RUN;
4 Bloque de código
PROC SORT
¡Copiado!
1PROC SORT DATA=shoes; BY region product; RUN;
5 Bloque de código
DATA STEP Data
Explicación :
Crea la tabla `cars` copiando `sashelp.cars` y añadiendo una columna constante `const`.
¡Copiado!
1DATA cars;
2 SET sashelp.cars;
3 const = 1;
4RUN;
6 Bloque de código
ODS
¡Copiado!
1ODS _ALL_ CLOSE;
2 
3* start new ODS DOCUMENT;
4ODS DOCUMENT NAME=doc_results(WRITE);
7 Bloque de código
PROC REPORT
¡Copiado!
1ODS PROCLABEL="Table 1: By Group Report about shoes";
2TITLE "Table 1: By Group Report about shoes";
3PROC REPORT DATA=shoes CONTENTS="";
4 BY region;
5 COLUMN region product sales;
6 DEFINE region / ORDER NOPRINT;
7 BREAK BEFORE region / CONTENTS="" page;
8RUN;
8 Bloque de código
PROC REPORT
¡Copiado!
1TITLE "Table 2: Table Class Output";
2ODS PROCLABEL "Table 2: Table Class Output";
3PROC REPORT DATA=class CONTENTS="";
4 COLUMN const name sex age height weight;
5 DEFINE const / ORDER NOPRINT;
6 BREAK BEFORE const / CONTENTS="" page;
7RUN;
9 Bloque de código
Macro
¡Copiado!
1%MACRO loopTroughMake(make,i);
2 TITLE "Table &i: Multiple outputs - Cars for make = &make";
3 ODS PROCLABEL "Table &i: Multiple outputs - Cars for make = &make";
4 PROC REPORT DATA=cars(WHERE=(make = "&make")) nowd headline spacing=2 CONTENTS="";
5 COLUMN const make model type msrp;
6 DEFINE const / ORDER NOPRINT;
7 BREAK BEFORE const / CONTENTS="" page;
8 RUN;
9 TITLE;
10%MEND;
10 Bloque de código
Macro
¡Copiado!
1%loopTroughMake(Acura,3);
2%loopTroughMake(Audi,4);
3%loopTroughMake(BMW,5);
4 
11 Bloque de código
PROC REPORT
¡Copiado!
1ODS PROCLABEL="Table 6: Different label";
2TITLE "Table 6: Different title and label";
3PROC REPORT DATA=class CONTENTS="";
4 COLUMN const name sex age height weight;
5 DEFINE const / ORDER NOPRINT;
6 BREAK BEFORE const / CONTENTS="" page;
7RUN;
12 Bloque de código
PROC SGPLOT
¡Copiado!
1ODS PROCLABEL="Figure 1: Class graphic";
2PROC SGPLOT DATA = sashelp.class;
3 VBAR age / GROUP = sex;
4 TITLE 'Figure 1: Class overview by sex and age';
5RUN;
13 Bloque de código
ODS
¡Copiado!
1ODS DOCUMENT 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.
Información de copyright : Project: SMILE - SAS Macros, Intuitive Library Extension, Author: Katja Glass, License: MIT