El script utiliza el conjunto de datos `sashelp.class` por defecto. Este conjunto de datos es interno a SAS y siempre está disponible.
1 Bloque de código
MACRO
Explicación : Este bloque define y llama a una macro `%defaults`. Esta macro verifica la existencia de la variable macro `dset`. Si `dset` no existe, la declara global y la inicializa con la ruta `sashelp.class`.
¡Copiado!
%macro defaults ;
%* these defaults may be passed in, or else they default ;
%if %symexist(dset)=0 %then %do;
%global dset;
%let dset=sashelp.class;
%end;
%mend defaults;
%defaults
1
%macro defaults ;
2
%* these defaults may be passed in, or ELSE they default ;
3
%IF %symexist(dset)=0 %THEN %DO;
4
%global dset;
5
%let dset=sashelp.class;
6
%END;
7
%mend defaults;
8
%defaults
2 Bloque de código
DATA STEP
Explicación : Este `DATA _NULL_` paso a paso abre el conjunto de datos especificado por `&dset` (por defecto `sashelp.class`), recupera el número de observaciones (`nobs`) a través de la función `attrn` y lo almacena en una variable macro llamada `nobs` usando `call symput`.
¡Copiado!
data _null_ ;
dsid=open("&dset");
nobs=attrn(dsid,'nobs');
call symput('nobs',strip(put(nobs,8.)));
run;
1
DATA _null_ ;
2
dsid=open("&dset");
3
nobs=attrn(dsid,'nobs');
4
call symput('nobs',strip(put(nobs,8.)));
5
RUN;
3 Bloque de código
DATA STEP Data
Explicación : Este bloque genera un archivo XML. Primero recupera la ruta del directorio de trabajo (`work`) y la almacena en la variable macro `pathname`. Luego, se asigna una libname `test` de tipo `xml` a un archivo `temp.xml` en este directorio. El contenido del conjunto de datos `&dset` se copia en `test.test`, creando así el archivo XML. La libname se libera a continuación. Finalmente, un `DATA _NULL_` lee el archivo `temp.xml` y muestra su contenido directamente a través de `_webout`.
¡Copiado!
%let pathname=%sysfunc(pathname(work)) ;
libname test xml "&pathname/temp.xml" ;
data test.test ;
set &dset ;
run ;
libname test ;
data _null_ ;
infile "&pathname/temp.xml" ;
file _webout ;
input ;
put _infile_ ;
run ;
1
%let pathname=%sysfunc(pathname(work)) ;
2
LIBNAME test xml "&pathname/temp.xml" ;
3
DATA test.test ;
4
SET &dset ;
5
RUN ;
6
LIBNAME test ;
7
DATA _null_ ;
8
INFILE"&pathname/temp.xml" ;
9
file _webout ;
10
INPUT ;
11
put _infile_ ;
12
RUN ;
4 Bloque de código
MACRO
Explicación : Estas líneas definen los delimitadores para un proceso almacenado de SAS. `%STPBEGIN` y `%STPEND` enmarcan el código que se ejecutará como parte del proceso almacenado. La línea `*';*\"*/;run;` es una sintaxis estándar para terminar potencialmente bloques de código o instrucciones pendientes, a menudo utilizada para asegurar una ejecución limpia en el contexto de los procesos almacenados.
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.