Publicado el :
Macro EXTERNE

Macro para contar variables

Este código también está disponible en: Deutsch English Français
Esta macro, llamada `vdo_numvar`, está diseñada para ser reutilizada para determinar fácilmente el número de variables presentes en cualquier conjunto de datos SAS©. Toma un único argumento, `dsn`, que representa el nombre completo (o referenciado a través de libname) del conjunto de datos objetivo.
Internamente, utiliza la función `%sysfunc` de SAS© para realizar las siguientes operaciones:
1. `open(&dsn)`: Abre el conjunto de datos especificado por `dsn` y devuelve su identificador de conjunto de datos (`dsid`).
2. `attrn(&dsid,nvars)`: Recupera el atributo numérico 'nvars' (número de variables) del conjunto de datos identificado por `dsid`.
3. `close(&dsid)`: Cierra el conjunto de datos para liberar los recursos.
La macro devuelve directamente el valor numérico correspondiente al número de variables encontradas. Es útil para la programación dinámica donde el número de variables puede variar y debe conocerse para procesamientos posteriores.
Análisis de datos

Type : EXTERNE


La macro funciona con un conjunto de datos SAS existente cuyo nombre se pasa como parámetro (`&dsn`). El origen específico de este conjunto de datos no está definido en la macro misma; puede tratarse de datos SASHELP, datos creados previamente en la sesión, o datos externos referenciados a través de una libname.

1 Bloque de código
MACRO
Explicación :
Este bloque define la macro `vdo_numvar`. Abre el conjunto de datos especificado por el parámetro `dsn`, utiliza la función `attrn` para recuperar el número de variables (`nvars`), y luego cierra el conjunto de datos. El resultado directo de la macro es el número de variables.
¡Copiado!
1macro vdo_numvar(dsn)/des="Nnmber of variables in a SAS dataset";
2 
3%let dsid=%sysfunc(open(&dsn));
4%sysfunc(attrn(&dsid,nvars)) %let rc=%sysfunc(close(&dsid));
5 
6%mend vdo_numvar;
7 
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.