Publicado el :
ETL CREACION_INTERNE

Gestión de formatos y transformación de datos

Este código también está disponible en: Deutsch English Français
En espera de validación
El script se divide en dos partes principales. La primera define un formato numérico ('readdate') para interpretar diversas representaciones de fechas. Este formato se aplica luego en un paso DATA para convertir cadenas de caracteres de fecha brutas en fechas SAS© numéricas utilizables. También se define una opción del sistema 'yearcutoff' para gestionar la ambigüedad de los años de dos dígitos. Un PROC PRINT muestra el resultado de esta transformación. La segunda parte define otro formato numérico ('typefmt') y varios formatos de entrada de caracteres (INVALUE: '$groupx', '$groupy', '$groupz') para la categorización de respuestas. Estos formatos se utilizan en un segundo paso DATA para mapear respuestas textuales brutas a términos categóricos estandarizados.
Análisis de datos

Type : CREACION_INTERNE


Todos los datos procesados en este script se crean internamente a través de bloques 'DATALINES' directamente incluidos en el código SAS. No se utiliza ninguna fuente de datos externa ni biblioteca SASHELP para la entrada de datos.

1 Bloque de código
PROC FORMAT
¡Copiado!
1PROC FORMAT;
2 value readdate 1='date7.'
3 2='mmddyy8.';
4 RUN;
2 Bloque de código
OPTIONS
¡Copiado!
1options yearcutoff=1920;
3 Bloque de código
DATA STEP Data
¡Copiado!
1DATA fixdates;
2 LENGTH jobdesc $12;
3 INPUT SOURCE id lname $ jobdesc $ start $;
4 dateinformat=put(SOURCE, readdate.);
5 newdate = inputn(start, dateinformat);
6 DATALINES;
7 1 1604 Ziminski writer 09aug90
8 1 2010 Clavell editor 26jan95
9 2 1833 Rivera writer 10/25/92
10 2 2222 Barnes proofreader 3/26/98
11 ;
4 Bloque de código
PROC PRINT
¡Copiado!
1PROC PRINT;RUN;
5 Bloque de código
PROC FORMAT
¡Copiado!
1PROC FORMAT;
2 value typefmt 1='$groupx'
3 2='$groupy'
4 3='$groupz';
5 invalue $groupx 'positive'='agree'
6 'negative'='disagree'
7 'neutral'='notsure';
8 invalue $groupy 'positive'='accept'
9 'negative'='reject'
10 'neutral'='possible';
11 
12 invalue $groupz 'positive'='pass'
13 'negative'='fail'
14 'neutral'='retest';
15 RUN;
6 Bloque de código
DATA STEP Data
¡Copiado!
1DATA answers;
2 INPUT type response $;
3 respinformat = put(type, typefmt.);
4 word = inputc(response, respinformat);
5 DATALINES;
6 1 positive
7 1 negative
8 1 neutral
9 2 positive
10 2 negative
11 2 neutral
12 3 positive
13 3 negative
14 3 neutral
15 ;
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.