?>Array ( [lang] => es [id] => 88 ) Análisis de Campaña de Marketing con Formatos Personalizados - WeAreCAS
sessionProp addFmtLib

Análisis de Campaña de Marketing con Formatos Personalizados

Scénario de test & Cas d'usage

Contexto empresarial

Un equipo de marketing necesita analizar la efectividad de una campaña por segmentos de clientes. Para ello, requieren formatos personalizados que agrupen códigos de países en 'Territorios de Venta' y clasifiquen a los clientes según su nivel de gasto en categorías como 'Alto', 'Medio' y 'Bajo'. El objetivo es validar que la acción `addFmtLib` puede crear y aplicar correctamente estos formatos desde una tabla de control.
Preparación de datos

Se crean dos tablas. Primero, `clientes_ventas`, que contiene los datos de los clientes. Segundo, `tabla_control_formatos`, que define las reglas para dos formatos: `paisfmt` para mapear países a territorios y `nivelgastofmt` para categorizar el gasto.

¡Copiado!
1DATA clientes_ventas;
2 LENGTH pais $2 cliente_id 8 gasto 8;
3 INPUT cliente_id pais $ gasto;
4 DATALINES;
5101 US 1500
6102 DE 800
7103 FR 350
8104 UK 2100
9105 ES 950
10;
11RUN;
12 
13DATA tabla_control_formatos;
14 LENGTH FmtName $32 Start $20 Label $50;
15 /* Formato para Territorios */
16 FmtName='paisfmt'; Start='US'; Label='Norteamérica'; OUTPUT;
17 FmtName='paisfmt'; Start='DE'; Label='Europa Central'; OUTPUT;
18 FmtName='paisfmt'; Start='FR'; Label='Europa Occidental'; OUTPUT;
19 FmtName='paisfmt'; Start='UK'; Label='Europa Occidental'; OUTPUT;
20 FmtName='paisfmt'; Start='ES'; Label='Europa Occidental'; OUTPUT;
21 /* Formato para Nivel de Gasto */
22 FmtName='nivelgastofmt'; Start='low'; END='900'; Label='Bajo Valor'; OUTPUT;
23 FmtName='nivelgastofmt'; Start='901'; END='1600'; Label='Medio Valor'; OUTPUT;
24 FmtName='nivelgastofmt'; Start='1601'; END='high'; Label='Alto Valor'; OUTPUT;
25RUN;

Étapes de réalisation

1
Cargar las tablas de datos y de control de formatos en la caslib 'CASUSER'.
¡Copiado!
1PROC CAS;
2 TABLE.loadTable / caslib='CASUSER' path='%sysfunc(pathname(work))/clientes_ventas.sashdat' casout={name='CLIENTES_VENTAS', replace=true};
3 TABLE.loadTable / caslib='CASUSER' path='%sysfunc(pathname(work))/tabla_control_formatos.sashdat' casout={name='TABLA_CONTROL_FORMATOS', replace=true};
4QUIT;
2
Crear la biblioteca de formatos 'MarketingFmts' a partir de la tabla de control.
¡Copiado!
1PROC CAS;
2 sessionprop.addFmtLib /
3 fmtLibName='MarketingFmts'
4 name='TABLA_CONTROL_FORMATOS'
5 caslib='CASUSER'
6 replace=true;
7QUIT;
3
Verificar la aplicación de los formatos. Se asocia la biblioteca a la tabla y se ejecuta una tabulación cruzada para ver los resultados agrupados por los nuevos formatos.
¡Copiado!
1PROC CAS;
2 TABLE.setTableFmtLib / TABLE={caslib='CASUSER', name='CLIENTES_VENTAS'} fmtLibName='MarketingFmts';
3 SIMPLE.crossTab /
4 TABLE={name='CLIENTES_VENTAS', caslib='CASUSER', groupBy={{name='pais', FORMAT='paisfmt'}, {name='gasto', FORMAT='nivelgastofmt'}}};
5QUIT;

Resultado esperado


La salida de la acción `crossTab` debe mostrar los datos de los clientes agregados según las etiquetas definidas en los formatos. Por ejemplo, los clientes de 'FR', 'UK' y 'ES' deben estar agrupados bajo la etiqueta 'Europa Occidental', y el cliente con gasto 2100 debe aparecer en la categoría 'Alto Valor'. Esto confirma que la biblioteca de formatos se creó y aplicó correctamente.