Publicado el :
Macro SASHELP

Macro de búsqueda de macros por prefijo

Este código también está disponible en: Deutsch Français
La macro `AHGurlMacros` toma dos parámetros: `startwith` (el prefijo a buscar, por defecto 'AHGurl') e `into` (el nombre de la macro-variable en la que almacenar la lista de macros encontradas, por defecto 'AHGmacs'). Utiliza `PROC SQL` para consultar la vista del sistema `sashelp.vmacro`, filtrando las macros cuyos nombres comienzan con la cadena especificada en `startwith` (la comparación no distingue entre mayúsculas y minúsculas gracias a `%upcase`). Los nombres de las macros correspondientes se almacenan luego en la macro-variable especificada por `into`, separados por espacios. Esta macro es útil para la introspección del entorno SAS© y la gestión dinámica de macros.
Análisis de datos

Type : SASHELP


El script consulta la vista del sistema `sashelp.vmacro`, que proporciona metadatos sobre las macros SAS compiladas y disponibles en la sesión actual.

1 Bloque de código
MACRO DEFINITION / PROC SQL
Explicación :
Este bloque define la macro `AHGurlMacros` con dos parámetros. En su interior, se utiliza `PROC SQL` para seleccionar la columna `name` (nombre de la macro) de la tabla `sashelp.vmacro`. La cláusula `where` filtra los registros para incluir solo las macros cuyo nombre comienza con el valor del parámetro `startwith` (después de la conversión a mayúsculas para una búsqueda insensible a mayúsculas y minúsculas). Los nombres de las macros encontradas se concatenan luego en la macro-variable especificada por el parámetro `into`, cada nombre separado por un espacio.
¡Copiado!
1%macro AHGurlMacros(startwith=AHGurl,into=AHGmacs);
2 PROC SQL noprint;
3 select name into :&into separated BY ' '
4 from sashelp.vmacro
5 where index(name,%upcase("&startwith"))=1
6 ;QUIT;
7%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.