Publicado el :
Informes SASHELP

Análisis y elaboración de informes sobre datos de coches

Este código también está disponible en: Deutsch Français
En espera de validación
Este script ilustra varias técnicas básicas en SAS©. Comienza creando subconjuntos de la tabla `sashelp.cars` con `PROC SQL`. Luego, calcula valores agregados como el promedio del consumo de combustible y el precio por caballo de fuerza. Se utiliza una macrovariable para hacer que la elección de la columna de consumo sea dinámica. El script también cuenta el número de marcas de coches y almacena este número en una macrovariable. Finalmente, produce un informe tabular con `PROC PRINT` y un diagrama de barras con `PROC SGPLOT` para visualizar los resultados.
Análisis de datos

Type : SASHELP


El script utiliza exclusivamente la tabla 'sashelp.cars', que es una tabla de datos estándar proporcionada con SAS.

1 Bloque de código
PROC SQL Data
Explicación :
Crea una nueva tabla 'example1' que contiene únicamente las columnas 'make' y 'mpg_highway' de la tabla 'sashelp.cars'.
¡Copiado!
1PROC SQL;
2create TABLE example1 as
3 select make, mpg_highway
4 from sashelp.cars;
5QUIT;
2 Bloque de código
PROC SQL Data
Explicación :
Crea una tabla 'example2' seleccionando las columnas 'make' y 'mpg_highway' para los coches de origen estadounidense ('USA') de 'sashelp.cars'.
¡Copiado!
1PROC SQL;
2create TABLE example2 as
3 select make, mpg_highway
4 from sashelp.cars
5 where origin="USA";
6QUIT;
3 Bloque de código
PROC SQL Data
Explicación :
Crea la tabla 'example3' que calcula el consumo promedio en carretera ('avg_mpg') para cada marca ('make') de coche de origen estadounidense.
¡Copiado!
1PROC SQL;
2create TABLE example3 as
3 select make, avg(mpg_highway) as avg_mpg
4 from sashelp.cars
5 where origin="USA"
6 group BY make;
7QUIT;
4 Bloque de código
PROC SQL Data
Explicación :
Crea la tabla 'example5' calculando el precio promedio por caballo de fuerza ('avg_ppp') para cada marca estadounidense. El resultado se formatea en dólares y se ordena de forma descendente.
¡Copiado!
1PROC SQL;
2create TABLE example5 as
3 select make, avg(msrp/horsepower) as avg_ppp
4 FORMAT dollar10.2 label="Price per pony"
5 from sashelp.cars
6 where origin = "USA"
7 group BY make
8 order BY avg_ppp desc;
9QUIT;
5 Bloque de código
PROC SQL Data
Explicación :
Define una macrovariable 'mpgVar' para elegir la columna de consumo. Luego, este bloque PROC SQL crea la tabla 'work.example4' calculando el consumo promedio por marca, utilizando la macrovariable. También cuenta el número de marcas distintas y almacena el resultado en la macrovariable 'howMany'. La opción 'noprint' impide la visualización de los resultados de la consulta.
¡Copiado!
1%let mpgVar = mpg_city; /* or mpg_highway */
2 
3PROC SQL noprint;
4create TABLE work.example4 as
5 select make,
6 avg(&mpgVar) as avg_mpg FORMAT 4.2
7 from sashelp.cars
8 where origin="USA"
9 group BY make
10 order BY avg_mpg desc;
11 
12 select count(distinct make) into :howMany
13 from sashelp.cars
14 where origin="USA";
15QUIT;
6 Bloque de código
PROC PRINT
Explicación :
Genera un informe tabular a partir de la tabla 'work.example4'. El título del informe es dinámico y muestra el número de marcas analizadas (valor de '&howMany'). El informe muestra la marca y su consumo promedio, con etiquetas personalizadas.
¡Copiado!
1title "Analyzed %sysfunc(trim(&howMany)) values of Make";
2PROC PRINT DATA=work.example4
3 label noobs;
4 var make avg_mpg;
5 label avg_mpg="Average &mpgVar";
6RUN;
7 Bloque de código
PROC SGPLOT
Explicación :
Crea un diagrama de barras vertical para visualizar el consumo promedio ('avg_mpg') para cada marca ('make') a partir de la tabla 'work.example4'. Los ejes del gráfico están etiquetados para mayor claridad.
¡Copiado!
1title; /* clear title */
2ods graphics / width=600 height=400;
3PROC SGPLOT DATA=work.example4;
4 vbar make / response=avg_mpg;
5 xaxis label="Make";
6 yaxis label="Average &mpgVar";
7RUN;
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.