La macro no crea datos. Lee los metadatos de un conjunto de datos SAS existente, cuyo nombre se pasa como parámetro (`libds`). Este conjunto de datos puede ser una tabla interna (como `sashelp.class` en los ejemplos) o cualquier otro conjunto de datos de usuario accesible. La macro no accede directamente a fuentes de datos externas, sino que opera sobre conjuntos de datos ya cargados o accesibles por SAS.
1 Bloque de código
DEFINICIÓN MACRO
Explicación : Declaración de la macro `%mf_getvarlist` con sus parámetros de entrada para el conjunto de datos, el delimitador, las opciones de comillas y el filtro de tipo. Las variables locales utilizadas por la macro también se definen aquí para evitar interferencias con otras macro-variables globales.
¡Copiado!
%macro mf_getvarlist(libds
,dlm=%str( )
,quote=no
,typefilter=A
)/*/STORE SOURCE*/;
/* declare local vars */
%local outvar dsid nvars x rc dlm q var vtype;
1
%macro mf_getvarlist(libds
2
,dlm=%str( )
3
,quote=no
4
,typefilter=A
5
)/*/STORE SOURCE*/;
6
/* declare local vars */
7
%local outvar dsid nvars x rc dlm q var vtype;
2 Bloque de código
LÓGICA MACRO (FORMATO DE COMILLAS)
¡Copiado!
/* credit Rowland Hale - byte34 is double quote, 39 is single quote */
%if %upcase("e)=DOUBLE %then %let q=%qsysfunc(byte(34));
%else %if %upcase("e)=SINGLE %then %let q=%qsysfunc(byte(39));
1
/* credit Rowland Hale - byte34 is double quote, 39 is single quote */
%else %do;
%put &sysmacroname: Unable to open &libds (rc=&dsid);
%put &sysmacroname: SYSMSG= %sysfunc(sysmsg());
%let rc=%sysfunc(close(&dsid));
%end;
1
%ELSE %DO;
2
%put &sysmacroname: Unable to open &libds (rc=&dsid);
3
%put &sysmacroname: SYSMSG= %sysfunc(sysmsg());
4
%let rc=%sysfunc(close(&dsid));
5
%END;
6 Bloque de código
RETORNO DE MACRO
¡Copiado!
%do;%unquote(&outvar)%end;
%mend mf_getvarlist;
1
%DO;%unquote(&outvar)%END;
2
%mend mf_getvarlist;
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 : Mencionado en los comentarios asociados: Allan Bowe. El archivo referenciado _version.sas indica 'Copyright (c) 2001-2006 Rodney Sparapani'.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.