Publicado el :
ETL CREATION_INTERNA

Creación de una tabla de agrupación

Este código también está disponible en: Deutsch English Français
En espera de validación
Este ejemplo muestra cómo crear una tabla de agrupación (group-by table) utilizando las acciones CAS (Cloud Analytic Services) en la plataforma SAS© Viya. La tabla de entrada CreditQualify se agrupa por las variables de estado (State) y los códigos FIPS del estado (State_FIPS). La variable Credit_Score se utiliza como variable de ponderación para calcular la media (MEAN) de las puntuaciones de crédito por grupo. Los resultados intermedios y finales se gestionan utilizando acciones CAS como simple.groupBy, table.alterTable, table.fetch y table.save. Una vez realizada la agrupación, la tabla de salida ScorePerState se enriquece con una columna _Score_ formateada y se guarda en formato .sashdat para su fácil reutilización. La verificación del código de gravedad (s.severity = 0) asegura que las operaciones se ejecutan solo en caso de éxito de la acción anterior.
Análisis de datos

Type : CREATION_INTERNA


La tabla de ejemplo CreditQualify se crea utilizando un paso DATA con datalines para asegurar la autonomía del ejemplo. Los datos son ficticios e incluyen las variables State (cadena de caracteres), State_FIPS (numérica) y Credit_Score (numérica).

1 Bloque de código
PROC CAS / DATA STEP Data
Explicación :
El paso DATA inicial crea una tabla temporal llamada 'CreditQualify' con datos de ejemplo para las variables 'State' (estado), 'State_FIPS' (código FIPS del estado) y 'Credit_Score' (puntuación de crédito). La declaración PROC CAS activa la sesión SAS Cloud Analytic Services (CAS). La acción simple.groupBy se utiliza luego para construir grupos basados en las variables 'State' y 'State_FIPS'. 'Credit_Score' se define como variable de ponderación y el agregador se establece en 'MEAN' para calcular la media de las puntuaciones de crédito por grupo. Las opciones 'scoregt' y 'scorelt' definen los límites inferior y superior de las puntuaciones a incluir. El resultado de esta acción es una tabla de salida llamada 'ScorePerState' en la caslib activa. Una verificación del código de gravedad (s.severity = 0) asegura que las acciones siguientes solo se ejecuten en caso de éxito. Si la acción groupBy tiene éxito, la acción table.alterTable se utiliza para modificar la columna '_Score_' asignándole la etiqueta 'Credit Score' y el formato '5.2'. Luego, la acción table.fetch recupera las variables 'State', 'State_FIPS' y '_Score_' de la tabla 'ScorePerState', aplicando el formato especificado para '_Score_'. Finalmente, la acción table.save guarda la tabla 'ScorePerState' en formato .sashdat en la caslib activa.
¡Copiado!
1DATA work.CreditQualify;
2 INPUT State $ State_FIPS Credit_Score;
3 DATALINES;
4NC 37 700
5NC 37 750
6NY 36 600
7NY 36 620
8CA 06 800
9CA 06 820
10;
11RUN;
12 
13PROC CAS;
14 SESSION mysession;
15 SIMPLE.groupBy RESULT=r STATUS=s /
16 inputs={"State", "State_FIPS"},
17 weight="Credit_Score",
18 aggregator="MEAN",
19 scoregt=0,
20 scorelt=900,
21 TABLE={name="CreditQualify"},
22 casout={name="ScorePerState",
23 replace=true};
24RUN;
25 IF (s.severity = 0) THEN DO;
26 TABLE.alterTable / columns={
27 {label="Credit Score", FORMAT="5.2", name="_Score_"}},
28 name="ScorePerState";
29 TABLE.fetch /
30 FORMAT=True,
31 fetchVars={"State", "State_FIPS",
32 {name="_Score_",FORMAT="5.2"}},
33 TABLE={name="ScorePerState"},
34 index=false;
35 
36 TABLE.save /
37 TABLE={name="ScorePerState"},
38 name="ScorePerState.sashdat",
39 replace=True;
40 END;
41RUN;
42QUIT;
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.