Publicado el :
Macro CREATION_INTERNE

Generación de esqueletos IF-THEN en el log

Este código también está disponible en: Deutsch English Français
Esta macro recorre una lista de valores especificada en el parámetro 'values'. Para cada valor, construye una instrucción condicional 'if var=valor then do; ... end;' y la escribe en el registro (log) a través de %PUT. Gestiona la adición de comillas alrededor de los valores si el parámetro 'quote' está activado. Depende de una macro externa llamada '%AHGcount' para contar los elementos.
Análisis de datos

Type : CREATION_INTERNE


El código no accede a ningún dato externo o tabla SAS. Solo procesa las cadenas de caracteres pasadas como parámetros.

1 Bloque de código
MACRO
Explicación :
Definición de la macro. Itera sobre el número de elementos devueltos por %AHGcount. En cada iteración, extrae un valor a través de %SCAN, aplica opcionalmente comillas a través de %SYSFUNC(QUOTE), y luego usa %PUT para escribir la sintaxis de un bloque IF/THEN/DO SAS en el log.
¡Copiado!
1%macro AHGifstat(var,values,quote=0,dlm=%str( ));
2 %local i one;
3
4 %DO i=1 %to %AHGcount(&values,dlm=&dlm);
5 %IF "e %THEN %let one=%sysfunc(quote(%scan(&values,&i,&dlm)));
6 %ELSE %let one= %scan(&values,&i,&dlm);
7 %put %str(IF &var=&one THEN );
8 %put %str( DO;);
9 %put %str( );
10 %put %str( END;);
11 %put %str( );
12 %END;
13 
14%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.