Scénario de test & Cas d'usage
Carga, guardado y gestión de tablas en memoria.
Descubrir todas las acciones de tableCreación de una tabla de clientes con información de riesgo crediticio. La tabla contiene un identificador de cliente, su saldo, una puntuación de riesgo y la fecha del último contacto.
| 1 | DATA casuser.CLIENTES_RIESGO; |
| 2 | LENGTH CustomerID $10; |
| 3 | informat LastContact yymmdd10.; |
| 4 | FORMAT LastContact yymmdd10.; |
| 5 | INPUT CustomerID $ Balance RiskScore LastContact; |
| 6 | DATALINES; |
| 7 | CUST001 15000 650 2023-05-20 |
| 8 | CUST002 75000 420 2024-11-01 |
| 9 | CUST003 5000 780 2024-01-10 |
| 10 | CUST004 120000 510 . |
| 11 | ; |
| 12 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.tableInfo / caslib='casuser', name='CLIENTES_RIESGO'; |
| 4 | RUN; |
| 5 | |
| 6 | QUIT; |
| 7 |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='ADD', |
| 4 | caslib='casuser', |
| 5 | name='CLIENTES_RIESGO', |
| 6 | SET='Governance', |
| 7 | attributes={ {key='DataOwner', value='RiskDept'}, {key='LoadDate', value='2025-11-26'} }; |
| 8 | RUN; QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='UPDATE', |
| 4 | caslib='casuser', |
| 5 | name='CLIENTES_RIESGO', |
| 6 | SET='Governance', |
| 7 | attributes={ |
| 8 | {key='LoadDate', value='2025-11-27'}, |
| 9 | {key='Description', column='RiskScore', value='Puntuación FICO interna'}, |
| 10 | {key='QualityNote', column='LastContact', value='Contiene nulos, requiere imputación'} |
| 11 | }; |
| 12 | RUN; QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='EXPORT', |
| 4 | caslib='casuser', |
| 5 | name='CLIENTES_RIESGO', |
| 6 | SET='Governance', |
| 7 | casOut={name='GOVERNANCE_ATTRIBUTES', caslib='casuser', replace=true}; |
| 8 | RUN; |
| 9 | TABLE.fetch / TABLE={name='GOVERNANCE_ATTRIBUTES', caslib='casuser'}; |
| 10 | RUN; QUIT; |
Se espera que la tabla final 'GOVERNANCE_ATTRIBUTES' contenga 4 filas: una para 'DataOwner', una para 'LoadDate' con el valor actualizado '2025-11-27', una para 'Description' asociada a la columna 'RiskScore', y una para 'QualityNote' asociada a la columna 'LastContact'. Esto demuestra la capacidad de gestionar un ciclo de vida completo de metadatos.