Publicado el :
ETL SASHELP

Sans titre

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicializa un entorno CAS configurando una libname 'CASWORK' para la caslib 'casuser' y redirigiendo las tablas de un solo nivel a esta caslib. Luego carga el conjunto de datos 'sashelp.baseball' en una tabla CAS llamada 'casuser.baseball'. Un paso de limpieza elimina una tabla agregada anterior ('casuser.baseball_groupby') si existe. A continuación, se ilustran dos métodos de agregación: el primero utiliza 'PROC FEDSQL' para calcular la suma de los 'hits' ('nhits') agrupados por división ('div') y equipo ('team') y almacena el resultado en 'baseball_groupby'. El segundo enfoque utiliza la acción CAS 'simple.groupBy' a través de 'PROC CAS' para realizar una agregación similar en la tabla 'baseball' sumando 'nhits' y agrupando por 'DIV' y 'TEAM', con el resultado almacenado en 'casl_baseball_groupby'.
Análisis de datos

Type : SASHELP


El conjunto de datos de origen es 'sashelp.baseball', una tabla de demostración integrada en SAS. Esta tabla se copia luego en el motor CAS bajo 'casuser.baseball' para permitir las operaciones CAS.

1 Bloque de código
Configuración CAS
Explicación :
Este bloque configura el acceso al motor Cloud Analytic Services (CAS). Define una libname 'CASWORK' que apunta a la caslib 'casuser', permitiendo que las tablas CAS sean referenciadas como tablas SAS. La opción 'options USER = CASWORK;' redirige la creación de tablas SAS de un solo nivel a esta caslib CAS, asegurando que se creen en CAS. Finalmente, 'caslib _all_ assign;' garantiza que todas las caslibs estén activadas y listas para usar.
¡Copiado!
1/* CAS Enabled */
2/* CASL GROUPBY Action Example */
3 
4/* LIBNAME using the CAS engine */
5LIBNAME CASWORK cas caslib=casuser;
6 
7/* Changing the default location of all one level named tables */
8/* from SASWORK to CASWORK */
9options USER = CASWORK;
10 
11%put &_sessref_;
12 
13caslib _all_ assign;
2 Bloque de código
DATA STEP Data
Explicación :
Este DATA STEP crea una nueva tabla CAS llamada 'casuser.baseball' copiando el contenido del conjunto de datos SAS integrado 'sashelp.baseball'. Esto hace que los datos estén disponibles en el entorno CAS para su posterior procesamiento.
¡Copiado!
1 
2DATA casuser.baseball;
3SET sashelp.baseball;
4RUN;
5 
3 Bloque de código
PROC DELETE
Explicación :
Este bloque utiliza 'PROC DELETE' para eliminar la tabla 'casuser.baseball_groupby' si existe. Es una buena práctica de limpieza antes de recrear una tabla con el mismo nombre, evitando así errores o datos obsoletos.
¡Copiado!
1PROC DELETE DATA=casuser.baseball_groupby;
2RUN;
4 Bloque de código
PROC FEDSQL Data
Explicación :
Este bloque utiliza 'PROC FEDSQL' para realizar una agregación de datos directamente en CAS. La opción 'options caslib="casuser"' define la caslib predeterminada para las operaciones FEDSQL. La consulta SQL calcula la suma de los 'hits' ('nhits') y agrupa los resultados por 'div' (división) y 'team' (equipo), creando una nueva tabla CAS llamada 'baseball_groupby'.
¡Copiado!
1options caslib="casuser";
2PROC FEDSQL sessref=casauto;
3 create TABLE baseball_groupby
4 as
5 (select sum(nhits) as nhits_sum
6 from baseball
7 group BY div, team) ;
8QUIT;
5 Bloque de código
PROC CAS (Acción simple.groupBy) Data
Explicación :
Este bloque utiliza 'PROC CAS' para interactuar con el motor CAS y ejecutar una acción CAS específica: 'simple.groupBy'. Esta acción realiza una agregación. Toma como entrada las variables 'DIV' y 'TEAM' para la agrupación ('inputs'), 'nhits' como variable de ponderación/suma ('weight'), y 'SUM' como función de agregación ('aggregator'). La tabla de origen es 'baseball' y el resultado se guarda en una nueva tabla CAS llamada 'casl_baseball_groupby', reemplazando cualquier tabla existente con el mismo nombre.
¡Copiado!
1PROC CAS;
2 SESSION casauto;
3 SIMPLE.groupBy RESULT=r STATUS=s /
4 inputs={"DIV" "TEAM"},
5 weight="nhits",
6 aggregator="SUM",
7 TABLE={name="baseball"},
8 casout={name="casl_baseball_groupby",
9 replace=true};
10RUN;
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 : Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0