Publicado el :
Macro CREATION_INTERNE

Macro _HEAD para manipulación de lista

Este código también está disponible en: Français Deutsch English
La macro `_HEAD` está diseñada para procesar una cadena de caracteres considerada como una lista de elementos. Toma dos parámetros: `arg1` que es la lista a procesar, y `split=` que es el carácter delimitador de los elementos (un espacio por defecto). Utiliza una macro externa `%_count` (no proporcionada en este script) para determinar el tamaño de la lista, luego reconstruye una nueva cadena que contiene todos los elementos de la lista original excepto el último, separándolos con el delimitador especificado. Esta macro es útil para operaciones de subselección o transformación de listas de elementos textuales.
Análisis de datos

Type : CREATION_INTERNE


La macro no consume datos de archivos externos ni de bibliotecas SASHELP. Opera únicamente sobre cadenas de caracteres pasadas como argumento, tratando estos argumentos como datos internos de la macro para operaciones de manipulación de texto.

1 Bloque de código
DEFINICIÓN DE MACRO
Explicación :
Este bloque define la macro `%_head`. Declara tres variables locales (`i`, `j`, `k`) para su lógica interna. Utiliza la macro `%_count` para determinar el número total de elementos (`j`) en la lista `arg1` usando el delimitador `split`. Un bucle `%do` recorre los elementos desde 1 hasta el penúltimo (`j-2`), acumulando cada elemento junto con el delimitador en la variable `k`. Finalmente, agrega el penúltimo elemento de la lista original a `k` sin delimitador final, lo que resulta en una cadena de todos los elementos excepto el último.
¡Copiado!
1%macro _head(arg1, split=%str( ));
2 %local i j k;
3 %let j=%_count(&arg1, split=&split);
4 
5 %DO i=1 %to &j-2;
6 %let k=&k%scan(&arg1, &i, &split)&split;
7 %END;
8 
9 &k%scan(&arg1, &j-1, &split)
10%mend _head;
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 : Copyright (c) 2001-2004 Rodney Sparapani. Distribuido bajo los términos de la Licencia Pública General GNU, versión 2 o posterior.