El script utiliza el conjunto de datos `CLASS` de la librería interna `SASHELP`.
1 Bloque de código
MACRO DEFINITION
Explicación : Este bloque define la macro `create_newfolder`. Toma un argumento `newfld` (la ruta de la carpeta a crear). Utiliza `%sysfunc(fileexist())` para verificar si la carpeta ya existe. Si no, usa `%sysexec` con `md` (para Windows) o `mkdir -p` (para Linux) para crear la carpeta. El uso de `%sysexec` es una función administrativa que permite la ejecución de comandos del sistema y requiere privilegios adecuados.
¡Copiado!
%macro create_newfolder(newfld);
%*---------------------------------------------------------;
%*check for the existence of the folder;
%*---------------------------------------------------------;
%if %sysfunc(fileexist(&newfld)) %then %put NOTE:The directory "&newfld" already EXISTS.;
%*---------------------------------------------------------;
%*create the folder(s) recursively if absent;
%*---------------------------------------------------------;
%else %do;
%*---------------------------------------------------------;
%*check the operating system and use the OS specific command;
%*---------------------------------------------------------;
%if "%bquote(%substr(&sysscp,1,3))"="WIN" %then %sysexec md "&newfld";
%else %if "%bquote(%substr(&sysscp,1,3))"="LIN" %then %sysexec mkdir -p "&newfld";
%put NOTE:The directory "&newfld" has been CREATED.;
%end;
%mend csg_create_newfolder_001;
%put NOTE:The directory "&newfld" has been CREATED.;
20
%END;
21
22
23
%mend csg_create_newfolder_001;
2 Bloque de código
MACRO CALL / LIBNAME
Explicación : Este bloque llama a la macro `create_newfolder` para crear la carpeta `D:\SAS\mactest`. Luego, asigna el nombre de librería `mylib` a esta nueva carpeta, haciéndola accesible para las operaciones SAS.
Explicación : Este bloque DATA STEP copia el conjunto de datos `CLASS` de la librería SASHELP (implícitamente, ya que `set class;` sin libname calificado se refiere a `SASHELP.CLASS` si `WORK.CLASS` no existe) a la nueva librería `mylib`, creando así `mylib.class` en la carpeta `D:\SAS\mactest`.
¡Copiado!
data mylib.class;
set class;
run;
1
DATA mylib.class;
2
SET class;
3
RUN;
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.