table alterTable

Caso Límite: Limpieza de Tabla con Nombres Inconsistentes y Formatos Mixtos

Scénario de test & Cas d'usage

Contexto empresarial

Un analista de datos recibe un conjunto de datos de transacciones de una fuente externa. Los datos son inconsistentes: los nombres de las columnas usan mayúsculas y minúsculas de forma irregular, una columna está completamente vacía y debe ser eliminada, y otra necesita un cambio de formato y etiqueta para ser utilizable en análisis posteriores. El objetivo es corregir todos estos problemas de metadatos en una sola operación.
Sobre el conjunto : table

Carga, guardado y gestión de tablas en memoria.

Descubrir todas las acciones de table
Preparación de datos

Crea una tabla ('MESSY_TRANSACTIONS') que simula datos desordenados, con nombres de columna en mayúsculas/minúsculas ('ID_Trans', 'amount'), una columna con valores perdidos ('Notes') y una fecha almacenada como un número.

¡Copiado!
1PROC CAS;
2 datastep.runCode{
3 code='data CASUSER.MESSY_TRANSACTIONS;
4 length ID_Trans $10;
5 input ID_Trans $ amount Transaction_Date Notes $;
6 datalines;
7 TRN001 199.99 23345 .
8 TRN002 50.00 23346 .
9 TRN003 450.75 23348 .
10 ;
11 run;'
12 };
13QUIT;

Étapes de réalisation

1
Aplicar una única llamada a alterTable para realizar una limpieza completa de los metadatos de la tabla.
¡Copiado!
1PROC CAS;
2 TABLE.alterTable{
3 caslib='CASUSER',
4 name='MESSY_TRANSACTIONS',
5 drop={'Notes'},
6 columns={
7 {name='ID_Trans', rename='TransactionID', label='ID de Transacción'},
8 {name='amount', rename='Amount_USD', label='Monto (USD)', FORMAT='DOLLAR10.2'},
9 {name='Transaction_Date', label='Fecha de Transacción', FORMAT='DATE9.'}
10 }
11 };
12RUN;
13QUIT;

Resultado esperado


La tabla 'MESSY_TRANSACTIONS' permanece con el mismo nombre pero con su estructura interna modificada. La columna 'Notes', que estaba vacía, ha sido eliminada. La columna 'ID_Trans' ha sido renombrada a 'TransactionID' y se le ha añadido una etiqueta. La columna 'amount' ha sido renombrada a 'Amount_USD', se le ha aplicado el formato 'DOLLAR10.2' y una nueva etiqueta. A la columna 'Transaction_Date' se le ha aplicado el formato 'DATE9.' y una etiqueta, haciéndola legible como una fecha. La tabla está ahora limpia y lista para el análisis.