Publicado el :
Macro MIXTE

Macro AHGsplitVar: División de variable

Este código también está disponible en: Deutsch English Français
En espera de validación
Esta macro itera sobre una lista de nombres de variables objetivo (`toVars`) y utiliza la función `scan` para extraer los segmentos correspondientes de la variable fuente (`inVar`) separados por un delimitador (`dlm`, por defecto ' @code_sas©/16.4'.sas©). Genera un paso DATA para realizar esta transformación. Gestiona opcionalmente la eliminación de la variable fuente y la definición del conjunto de datos de salida. Nota: Depende de macros utilitarias externas no proporcionadas aquí (`%AHGblank`, `%AHGbarename`, `%AHGcount`).
Análisis de datos

Type : MIXTE


Los datos se proporcionan dinámicamente a través del parámetro `dsn` durante la llamada a la macro.

1 Bloque de código
DATA STEP Data
Explicación :
Definición de la macro. Primero verifica si se proporciona un nombre de tabla de salida; de lo contrario, deriva un nombre. Luego, inicia un paso DATA leyendo la tabla de entrada. Un bucle `%do` genera dinámicamente las instrucciones de asignación para cada nueva variable utilizando la función `scan`. Finalmente, la variable original se elimina si el parámetro `drop` está activo.
¡Copiado!
1%macro AHGsplitVar(dsn,inVar,toVars,out=,dlm= @,drop=1);
2 %IF %AHGblank(&out) %THEN %let out=%AHGbarename(&dsn);
3 DATA &out;
4 SET &dsn;
5 %local i;
6 %DO i=1 %to %AHGcount(&toVars);
7 %scan(&ToVars,&i)=scan(&inVar,&i,"&dlm");
8 %END;
9 %IF &drop %THEN drop &invar;;
10 RUN;
11%mend;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.