?>Array ( [lang] => es [id] => 186 ) Gestión de Tabla de Referencia Global con Control de Sobrescritura - WeAreCAS
table addTable

Gestión de Tabla de Referencia Global con Control de Sobrescritura

Scénario de test & Cas d'usage

Contexto empresarial

El departamento de finanzas necesita publicar una tabla de referencia con tasas de cambio. Esta tabla debe ser pequeña, de acceso rápido y visible para múltiples equipos (riesgos, contabilidad) que trabajan en diferentes sesiones de CAS. Es crucial que la tabla sea promovida a un alcance global y que se eviten sobrescrituras accidentales.
Preparación de datos

Se crean dos tablas de tasas de cambio. La primera ('tasas_v1') contiene las tasas iniciales, incluyendo un valor nulo para probar su manejo. La segunda ('tasas_v2') representa una actualización que se usará para probar la sobrescritura.

¡Copiado!
1DATA tasas_v1;
2 LENGTH Moneda $3;
3 INPUT Moneda $ Tasa;
4 CARDS;
5USD 1.00
6EUR 0.92
7GBP .
8JPY 148.5
9;
10RUN;
11 
12DATA tasas_v2;
13 LENGTH Moneda $3;
14 INPUT Moneda $ Tasa;
15 CARDS;
16USD 1.00
17EUR 0.93
18GBP 0.79
19CAD 1.35
20;
21RUN;

Étapes de réalisation

1
Cargar la versión inicial de las tasas ('tasas_v1') a una tabla global en CAS. Se usan las opciones 'promote=true' para hacerla visible a otras sesiones y 'copies=2' para asegurar la tolerancia a fallos.
¡Copiado!
1DATA casuser.tasas_cambio_global(replace=true promote=true copies=2);
2 SET work.tasas_v1;
3RUN;
2
Simular un intento de sobrescritura accidental. Se intenta cargar la misma tabla de nuevo pero sin la opción 'replace=true'. Se espera que SAS genere un error, protegiendo los datos existentes.
¡Copiado!
1/* Este paso generará un error intencionadamente */
2DATA casuser.tasas_cambio_global;
3 SET work.tasas_v1;
4RUN;
3
Realizar una sobrescritura controlada y legítima. Se carga la nueva versión de las tasas ('tasas_v2') utilizando explícitamente 'replace=true' para actualizar la tabla global.
¡Copiado!
1DATA casuser.tasas_cambio_global(replace=true promote=true copies=2);
2 SET work.tasas_v2;
3RUN;
4
Verificar el alcance y el contenido final de la tabla. La acción 'table.tableInfo' confirmará que el alcance es 'Global', y un 'proc print' mostrará que los datos corresponden a 'tasas_v2'.
¡Copiado!
1PROC CAS;
2 TABLE.tableInfo / caslib='casuser' name='tasas_cambio_global';
3RUN;
4QUIT;
5PROC PRINT DATA=casuser.tasas_cambio_global;
6RUN;

Resultado esperado


La tabla 'tasas_cambio_global' se crea con éxito y es visible globalmente. El intento de sobrescritura en el paso 2 debe fallar con un error en el log de SAS. El paso 3 debe ejecutarse correctamente, actualizando la tabla. La verificación final debe mostrar que la tabla tiene alcance 'Global' y contiene las 4 filas de 'tasas_v2', confirmando que la protección contra sobrescritura y la actualización explícita funcionan como se espera.