table append

Consolidación Diaria de Interacciones de Clientes para Campaña de Marketing

Scénario de test & Cas d'usage

Contexto empresarial

Un equipo de marketing necesita consolidar los registros de interacción de los clientes, que se generan diariamente desde múltiples canales (web, móvil), en una tabla maestra semanal. Esta consolidación es crucial para analizar el comportamiento del cliente y medir la efectacia de las campañas en curso. Este escenario prueba la funcionalidad básica de 'append' en un contexto de negocio común.
Sobre el conjunto : table

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

Descubrir todas las acciones de table
Preparación de datos

Se crean dos tablas. 'interacciones_semana' representa los datos ya consolidados en memoria. 'interacciones_hoy' representa los nuevos datos del día que deben ser añadidos.

¡Copiado!
1DATA casuser.interacciones_semana;
2 LENGTH ID_CLIENTE $ 10 CANAL $ 6 TIPO_EVENTO $ 15;
3 FORMAT FECHA_INTERACCION datetime20.;
4 FECHA_INTERACCION = '24NOV2025:10:00:00'dt; ID_CLIENTE = 'CLI001'; CANAL = 'WEB'; TIPO_EVENTO = 'INICIO_SESION'; OUTPUT;
5 FECHA_INTERACCION = '24NOV2025:10:05:00'dt; ID_CLIENTE = 'CLI001'; CANAL = 'WEB'; TIPO_EVENTO = 'VISITA_PRODUCTO'; OUTPUT;
6RUN;
7 
8DATA casuser.interacciones_hoy;
9 LENGTH ID_CLIENTE $ 10 CANAL $ 6 TIPO_EVENTO $ 15;
10 FORMAT FECHA_INTERACCION datetime20.;
11 FECHA_INTERACCION = '25NOV2025:11:30:00'dt; ID_CLIENTE = 'CLI002'; CANAL = 'MOVIL'; TIPO_EVENTO = 'INICIO_SESION'; OUTPUT;
12 FECHA_INTERACCION = '25NOV2025:11:32:00'dt; ID_CLIENTE = 'CLI001'; CANAL = 'WEB'; TIPO_EVENTO = 'AGREGAR_CARRITO'; OUTPUT;
13 FECHA_INTERACCION = '25NOV2025:11:45:00'dt; ID_CLIENTE = 'CLI002'; CANAL = 'MOVIL'; TIPO_EVENTO = 'COMPRA_CONFIRMADA'; OUTPUT;
14RUN;

Étapes de réalisation

1
Cargar la tabla de destino 'interacciones_semana' en memoria para asegurar que cumple el pre-requisito de la acción 'append'.
¡Copiado!
1 
2PROC CAS;
3TABLE.loadTable / caslib='casuser' path='interacciones_semana.sashdat' casout={name='interacciones_semana', replace=true};
4RUN;
5 
2
Ejecutar la acción 'append' para añadir los datos de 'interacciones_hoy' a la tabla en memoria 'interacciones_semana'.
¡Copiado!
1PROC CAS;
2 TABLE.append /
3 SOURCE={name='interacciones_hoy', caslib='casuser'},
4 target={name='interacciones_semana', caslib='casuser'};
5RUN;
3
Verificar el resultado. Se comprueba el número de filas en la tabla de destino para confirmar que la operación de 'append' fue exitosa.
¡Copiado!
1 
2PROC CAS;
3TABLE.rowCount / TABLE={name='interacciones_semana', caslib='casuser'};
4RUN;
5 

Resultado esperado


La tabla 'interacciones_semana' debe contener 5 filas (2 originales + 3 añadidas). El log de CAS debe mostrar una nota indicando que 3 filas fueron añadidas desde 'casuser.interacciones_hoy' a 'casuser.interacciones_semana'. La verificación con 'rowCount' debe confirmar el recuento total de 5 filas.