Publicado el :
Macro CREATION_INTERNE

Macro doallitem - Ejecución iterativa de código

Este código también está disponible en: Deutsch English Français
Esta macro acepta una lista de elementos separados por espacios y un fragmento de código SAS© (encerrado entre comillas simples). Itera sobre la lista y ejecuta el código para cada elemento, haciendo que el elemento actual esté disponible a través de la macro-variable `&item`. El script incluye una verificación de sintaxis para las comillas. Nota: Depende de una sub-macro externa `%words` (no proporcionada en este código).
Análisis de datos

Type : CREATION_INTERNE


El script solo define una lógica macro y no lee ni crea tablas de datos por sí mismo.

1 Bloque de código
MACRO
Explicación :
Muestra un mensaje en el log, luego define la macro `doallitem`. La macro valida que el parámetro `code` esté entre comillas, itera de 1 al número de palabras en `__dolist` (a través de `%words`), extrae cada palabra en `&item` y ejecuta el código pasado como parámetro.
¡Copiado!
1%put MACRO CALLED: doallitem v1.1;
2 
3%macro doallitem(__dolist,code);
4 %local i item err;
5 %let err=ERR%str(OR);
6 %IF %qsubstr(&code,1,1) NE %str(%')
7 or %qsubstr(&code,%length(&code),1) NE %str(%') %THEN
8 %put &err: (doallitem) Code supplied to second parameter must be enclosed in single quotes;
9 %ELSE %DO i=1 %to %words(&__dolist);
10 %let item=%scan(&__dolist,&i,%str( ));
11 %substr(&code,2,%LENGTH(&code)-2)
12 %END;
13%mend doallitem;
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.
Información de copyright : Roland Rashleigh-Berry - Public domain software