Publicado el :

Configuración dinámica del entorno SAS

Este código también está disponible en: Deutsch English Français
Attention : Este código requiere privilegios de administrador.
La macro '%AHGsetauto' está diseñada para ajustar las opciones globales de la sesión SAS©. Utiliza una lógica condicional ('%if %upcase(&theuser)=LIUH04') para aplicar un conjunto de opciones específico si el usuario es 'LIUH04', o un conjunto por defecto en los demás casos. Las opciones configuradas incluyen la desactivación de la visualización de la fecha y el número de página ('nodate nonumber'), la desactivación de la centralización del log ('nocenter'), la activación de la búsqueda automática de macros ('mautosource'), la especificación de los valores perdidos ('missing=' '). También define filerefs para rutas de proyecto ('filename someauto'). Las opciones 'sasautos' son cruciales, ya que especifican la lista ordenada de directorios donde SAS© debe buscar las definiciones de macros autocall, incluyendo rutas de sistema, rutas de usuario personalizadas y rutas específicas del proyecto. La opción 'fmtsearch' define el orden de búsqueda de los catálogos de formatos SAS©. Finalmente, el ancho de línea del log se fija en 180 caracteres ('ls=180') y los mensajes de error relacionados con formatos no encontrados se desactivan ('nofmterr').
Análisis de datos

Type : EXTERNE


Este script no manipula directamente conjuntos de datos SAS. Su función es configurar las rutas donde SAS buscará archivos de macros externos (a través de sasautos) y catálogos de formatos externos (a través de fmtsearch) que serán necesarios para la ejecución de otros programas SAS. No crea ni lee datos transaccionales.

1 Bloque de código
DÉFINITION DE MACRO
Explicación :
Este bloque contiene la definición de la macro 'AHGsetauto'. Incluye una lógica condicional ('%if...%then...%else') para adaptar las configuraciones en función del valor de la variable macro '&theuser'. Dentro de estos bloques condicionales, se definen varias opciones SAS para controlar el comportamiento de la sesión. Estas incluyen opciones de visualización ('nodate nonumber nocenter'), de gestión de macros ('mautosource', 'sasautos'), de gestión de datos ('missing=' ') y de búsqueda de formatos ('fmtsearch'). La declaración 'filename someauto' crea un acceso directo a rutas de archivos locales. Las opciones 'sasautos' y 'fmtsearch' son listas de rutas, que definen dónde SAS debe buscar respectivamente los archivos de macros autocall y los catálogos de formatos, mezclando rutas del sistema ('!sasroot'), rutas de usuario y rutas de proyecto. Las opciones 'ls=180' y 'nofmterr' ajustan respectivamente el ancho de línea del log y la gestión de errores de formato.
¡Copiado!
1%macro AHGsetauto(mode=allLib /*AllLib onlyMac onlyAna*/);
2 
3 %IF %upcase(&theuser)=LIUH04 %THEN
4 %DO;
5 options nodate nonumber nocenter mautosource missing=' ' ;
6 filename someauto ("&projectpath\\analysis" "&projectpath\\extract" "&projectpath\\macros");
7 option
8 sasautos=( %IF &mymac ne %THEN "&mymac"; sasautos '!sasroot/sasautos'
9 "&kanbox\\my sas files\\macros" "&kanbox\\allover " "&kanbox\\alloverhome" '!sasroot\\base\\sasmacro' someauto "&preadonly\\pds1_0\\macros" /*gmac hctools*/ sasautos )
10 ;option fmtsearch=(work.formats library GCAT.GROFMTS GCAT.INTV6 GCAT.INTV5 GCAT.CSA608) cmdmac;
11 option ls=180;
12 option nofmterr;
13 %END;
14 %ELSE
15 %DO;
16 
17 
18 
19 options nodate nonumber nocenter mautosource missing=' ' font=("Courier New" 9)
20 sasautos=( %IF &mymac ne %THEN "&mymac"; '!sasroot/sasautos' '!sasroot\\base\\sasmacro' "&projectpath\\analysis" "&readonly\\pds1_0\\macros" "&projectpath\\extract" "&projectpath\\macros" '!sasroot\\base\\sasmacro' /*gmac hctools*/ sasautos /*_my*/ )
21 fmtsearch=(work.formats ) cmdmac;
22 /*%b_formats;*/
23 
24 option ls=180;
25 option nofmterr;
26 
27 
28 %END;
29%mend;
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.