Publicado el :
Macro CREATION_INTERNE

Macro AHGautoformat - Generación dinámica de formatos

Este código también está disponible en: Deutsch English Français
Esta macro analiza una cadena de caracteres proporcionada como parámetro, separa los elementos según un delimitador y utiliza estos elementos para generar dinámicamente un paso PROC FORMAT. Depende de macros externas no proporcionadas aquí (%AHGcount y %AHGpop) para contar los elementos y extraer los pares valor/etiqueta.
Análisis de datos

Type : CREATION_INTERNE


Los datos utilizados para crear el formato se proporcionan directamente a través de los parámetros de la macro.

1 Bloque de código
PROC FORMAT
Explicación :
Definición de la macro que itera sobre la cadena de entrada para construir la instrucción VALUE de un PROC FORMAT. Genera una correspondencia clave-valor para un formato de carácter ($).
¡Copiado!
1%macro AHGautoformat(str,fmt,dlm=/,quote=);
2 %local fmtN;
3 %let fmtN=%AHGcount(&str,dlm=/);
4 %local i item;
5 %DO i=1 %to &fmtN;
6 %let item=%scan(&str,&i,&dlm);
7 %local value&i FORMAT&i;
8 %AHGpop(item,value&i);
9 %let FORMAT&i=&item;
10 %END;
11 PROC FORMAT;
12 value $&fmt
13 %DO i=1 %to &fmtN;
14 "&&value&i"="&&format&i"
15 %END;
16 ;RUN;
17 
18 
19%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.