Los datos de origen utilizados por esta macro provienen exclusivamente de las vistas del diccionario SQL interno de SAS (`dictionary.dictionaries` y `dictionary.views`). Estas vistas son tablas de sistema integradas que proporcionan metadatos sobre el entorno SAS y no requieren ninguna fuente de datos externa o creación explícita de datos en el script.
1 Bloque de código
PROC SQL Data
Explicación : Este bloque de código define la macro `%mp_dictionary`. Utiliza `PROC SQL` para interactuar con el diccionario SAS. Primero, se crea una vista temporal llamada 'dictionaries' en la biblioteca especificada (&lib) a partir de 'dictionary.dictionaries'. Esta vista contiene una lista de todas las vistas disponibles en el diccionario SQL. Luego, se ejecuta un `SELECT DISTINCT` para extraer los nombres de estas vistas en una variable macro 'list'. Un bucle `%do` itera sobre esta lista, y para cada nombre de vista ('&mem'), se crea una nueva vista en la biblioteca especificada. Esto permite transformar cada vista del diccionario SQL en una vista accesible en la biblioteca SAS elegida.
¡Copiado!
%macro mp_dictionary(lib=WORK)/*/STORE SOURCE*/;
%local list i mem;
proc sql noprint;
create view &lib..dictionaries as select * from dictionary.dictionaries;
select distinct memname into: list separated by ' ' from &lib..dictionaries;
%do i=1 %to %sysfunc(countw(&list,%str( )));
%let mem=%scan(&list,&i,%str( ));
create view &lib..&mem as select * from dictionary.&mem;
%end;
quit;
%mend mp_dictionary;
1
%macro mp_dictionary(lib=WORK)/*/STORE SOURCE*/;
2
%local list i mem;
3
PROC SQL noprint;
4
create view &lib..dictionaries as select * from dictionary.dictionaries;
5
select distinct memname into: list separated BY' ' from &lib..dictionaries;
6
%DO i=1 %to %sysfunc(countw(&list,%str( )));
7
%let mem=%scan(&list,&i,%str( ));
8
create view &lib..&mem as select * from dictionary.&mem;
9
%END;
10
QUIT;
11
%mend mp_dictionary;
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.
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.