Publié le :

Configuration dynamique de l'environnement SAS

Ce code est également disponible en : Deutsch English Español
Attention : Ce code nécessite des droits administrateur.
La macro '%AHGsetauto' est conçue pour ajuster les options globales de la session SAS©. Elle utilise une logique conditionnelle ('%if %upcase(&theuser)=LIUH04') pour appliquer un ensemble d'options spécifique si l'utilisateur est 'LIUH04', ou un ensemble par défaut dans les autres cas. Les options configurées incluent la désactivation de l'affichage de la date et du numéro de page ('nodate nonumber'), la désactivation de la centration du log ('nocenter'), l'activation de la recherche automatique de macros ('mautosource'), la spécification des valeurs manquantes ('missing=' '). Elle définit également des filerefs pour des chemins de projet ('filename someauto'). Les options 'sasautos' sont cruciales, car elles spécifient la liste ordonnée des répertoires où SAS© doit rechercher les définitions de macros autocall, incluant des chemins système, des chemins utilisateur personnalisés et des chemins spécifiques au projet. L'option 'fmtsearch' définit l'ordre de recherche des catalogues de formats SAS©. Enfin, la largeur de ligne du log est fixée à 180 caractères ('ls=180') et les messages d'erreur liés aux formats non trouvés sont désactivés ('nofmterr').
Analyse des données

Type : EXTERNE


Ce script ne manipule pas de jeux de données SAS directement. Son rôle est de configurer les chemins où SAS recherchera des fichiers de macros externes (via sasautos) et des catalogues de formats externes (via fmtsearch) qui seront nécessaires pour l'exécution d'autres programmes SAS. Il ne crée ni ne lit de données transactionnelles.

1 Bloc de code
DÉFINITION DE MACRO
Explication :
Ce bloc contient la définition de la macro 'AHGsetauto'. Il intègre une logique conditionnelle ('%if...%then...%else') pour adapter les configurations en fonction de la valeur de la variable macro '&theuser'. À l'intérieur de ces blocs conditionnels, diverses options SAS sont définies pour contrôler le comportement de la session. Celles-ci incluent des options d'affichage ('nodate nonumber nocenter'), de gestion des macros ('mautosource', 'sasautos'), de gestion des données ('missing=' '), et de recherche de formats ('fmtsearch'). La déclaration 'filename someauto' crée un raccourci vers des chemins de fichiers locaux. Les options 'sasautos' et 'fmtsearch' sont des listes de chemins, définissant où SAS doit rechercher respectivement les fichiers de macros autocall et les catalogues de formats, mélangeant des chemins système ('!sasroot'), des chemins utilisateur et des chemins de projet. Les options 'ls=180' et 'nofmterr' ajustent respectivement la largeur de ligne du log et la gestion des erreurs de format.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« L'option cmdmac activée dans le script est un choix avancé : elle permet d'appeler des macros comme s'il s'agissait de commandes de fenêtre SAS. Assurez-vous toutefois que les noms de vos macros ne chevauchent pas des commandes système pour éviter tout comportement imprévisible. »