ETL CAS

Creación de Variables y Filtrado de Datos con DATA Step

Este código también está disponible en: Deutsch English
Nivel de dificultad
Principiante
Publicado el :
Este ejemplo ilustra cómo manipular y enriquecer datos en un servidor CAS utilizando un DATA step. Cubre la creación de nuevas variables basadas en condiciones (grupos de edad y puntuaciones FICO) y la asignación de calificaciones de crédito, transformando así un conjunto de datos inicial 'creditscores' en un nuevo conjunto de datos 'creditqualify' con atributos derivados. El proceso finaliza con la visualización del resultado utilizando la acción CAS 'table.fetch'.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) para la tabla 'creditscores' que luego se procesa para crear la tabla 'CreditQualify'.

1 Bloque de código
DATA STEP Data
Explicación :
El primer DATA step crea un conjunto de datos de ejemplo 'creditscores' en el servidor CAS con las variables 'Age' y 'Credit_Score'. El segundo DATA step comienza con la instrucción DATA que inicializa un nuevo paso DATA y crea una tabla CAS llamada 'CreditQualify' en la biblioteca 'Mycaslib' de la sesión CAS 'MYSESSION'. La instrucción SET lee las observaciones de la tabla 'creditscores'. La instrucción LENGTH define las nuevas variables de caracteres 'Age_Range', 'FICO_Rating' y 'Credit_Qualification' con longitudes especificadas. La instrucción IF-THEN/ELSE asigna valores a 'Age_Range' en función de la edad. Bloques IF-THEN/ELSE similares se utilizan para asignar puntuaciones FICO ('FICO_Rating') y calificaciones de crédito ('Credit_Qualification') en función de 'Credit_Score'.
¡Copiado!
1DATA mycaslib.creditscores / sessref=mysession;
2 INFILE DATALINES;
3 INPUT Age Credit_Score;
4 DATALINES;
520 500
630 600
740 700
850 780
960 810
1070 400
1119 550
1233 690
1348 710
1462 820
15;
16RUN;
17 
18DATA mycaslib.creditqualify / sessref=mysession;
19 SET mycaslib.creditscores;
20 LENGTH Age_Range $8;
21 IF Age in (18, 19, 20, 21, 22, 23, 24, 25) THEN Age_Range="18-25";
22 ELSE IF Age in (26, 27, 28, 29, 30, 31, 32, 33, 34, 35) THEN Age_Range="26-35";
23 ELSE IF Age in (36, 37, 38, 39, 40, 41, 42, 43, 44, 45) THEN Age_Range="36-45";
24 ELSE IF Age in (46, 47, 48, 49, 50, 51, 52, 53, 54, 55) THEN Age_Range="46-55";
25 ELSE IF Age in (56, 57, 58, 59, 60, 61, 62, 63, 64) THEN Age_Range="56-64";
26 ELSE IF Age>=65 THEN Age_Range="65+";
27 LENGTH FICO_Rating $12;
28 IF 300<=Credit_Score<=570 THEN FICO_Rating="Very Poor";
29 ELSE IF 580<=Credit_Score<=669 THEN FICO_Rating="Fair";
30 ELSE IF 670<=Credit_Score<=739 THEN FICO_Rating="Good";
31 ELSE IF 740<=Credit_Score<=799 THEN FICO_Rating="Very Good";
32 ELSE IF Credit_Score>=800 THEN FICO_Rating="Exceptional";
33 LENGTH Credit_Qualification $12;
34 IF Credit_Score>=740 THEN Credit_Qualification="Platinum";
35 ELSE IF 650<=Credit_Score<=739 THEN Credit_Qualification="Gold";
36 ELSE IF 450<=Credit_Score<=649 THEN Credit_Qualification="Secured Card";
37 ELSE IF Credit_Score<=449 THEN Credit_Qualification="N/A";
38RUN;
2 Bloque de código
PROC CAS
Explicación :
Este procedimiento CAS utiliza la acción 'table.fetch' para recuperar y mostrar una parte del contenido de la tabla 'creditqualify' recién creada, lo que permite verificar las variables y los valores generados.
¡Copiado!
1PROC CAS;
2 TABLE.fetch/TABLE="creditqualify"
3 index=false;
4QUIT;
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.

Documentación relacionada

Aucune documentation spécifique pour cette catégorie.