Los datos se obtienen consultando la tabla del sistema `dictionary.tables` de SAS, que proporciona metadatos sobre todas las tablas registradas en el entorno SAS. Se trata de una fuente de información interna del sistema SAS y no de datos externos o creados por el usuario directamente en este script.
1 Bloque de código
Macro SAS
Explicación : Este bloque marca el inicio de la ejecución de la macro y su definición. Anuncia la llamada a la macro e inicializa la variable macro global `_dslist_` a vacío. Contiene la lógica para asignar un valor predeterminado al parámetro `libref` si no se proporciona (utilizando la opción del sistema 'user' o 'work') y asegura que el `libref` esté en mayúsculas.
%IF not %LENGTH(&libref) %THEN %let libref=%sysfunc(getoption(user));
7
%IF not %LENGTH(&libref) %THEN %let libref=work;
8
%let libref=%upcase(&libref);
2 Bloque de código
PROC SQL
Explicación : Este segmento utiliza `PROC SQL` en modo silencioso (`noprint`) para consultar la tabla de metadatos `dictionary.tables`. Selecciona todos los nombres de miembros (`memname`) distintos que son de tipo 'DATA' y que pertenecen a la librería especificada por `&libref`. Los nombres recuperados se almacenan en la variable macro `_dslist_`, con un separador condicional: un espacio o `&libref..` si el parámetro `prefix` está activado.
¡Copiado!
proc sql noprint;
select distinct memname into :_dslist_ separated by
%if %length(&prefix) %then %do;
" &libref.."
%end;
%else %do;
' '
%end;
from dictionary.tables
where memtype='DATA'
and libname="&libref";
quit;
1
PROC SQL noprint;
2
select distinct memname into :_dslist_ separated BY
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 : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.
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.