Best Practice SAS : La méthode "Save & Restore" pour modifier vos options sans casser votre environnement

Ce code est également disponible en : Deutsch English Español

Niveau de difficulté
Débutant
Publié le :
Simon

Le Conseil de l'Expert

Simon
Expert SAS et fondateur.

La gestion dynamique des options de session est une marque de fabrique des programmes SAS de qualité "production". Ce script illustre le concept de confinement de configuration : modifier l'environnement pour un besoin spécifique sans laisser de traces permanentes qui pourraient perturber les programmes suivants.

Attention : Ce code nécessite des droits administrateur.
Ce script SAS© démontre une méthode robuste pour gérer les options de l'environnement SAS© de manière temporaire. Il capture les valeurs actuelles des options 'CENTER', 'NUMBER' et 'DATE' dans une variable macro. Ensuite, il modifie ces options (les désactivant dans cet exemple) avant l'exécution d'un bloc de code 'utilisateur'. Enfin, il restaure les options à leurs valeurs initiales, garantissant que les changements n'affectent pas les opérations ultérieures dans la session SAS©.
Analyse des données

Type : N_A


Ce script ne traite ni ne génère de données. Son objectif est la gestion de l'environnement d'exécution SAS.

1 Bloc de code
MACRO / OPTIONS
Explication :
Ce bloc sauvegarde les valeurs actuelles des options système SAS 'CENTER', 'NUMBER' et 'DATE' dans la variable macro '&saveOptions' à l'aide de la fonction '%sysfunc(getoption())'. Ensuite, il modifie ces options en les désactivant ('nocenter', 'nonumber', 'nodate') pour le code qui suit.
Copié !
1%let saveOptions =
2%sysfunc(getoption(CENTER)) %sysfunc(getoption(NUMBER)) %sysfunc(getoption(DATE));
3options nocenter nonumber nodate;
4 
2 Bloc de code
N/A
Explication :
Ceci est un commentaire servant de marqueur pour l'emplacement où le code SAS de l'utilisateur, qui dépend des options système spécifiées, doit être inséré. Il n'y a pas de code exécutable dans ce bloc.
Copié !
1/* your code that depends on these options */
3 Bloc de code
OPTIONS
Explication :
Ce bloc restaure les options système SAS 'CENTER', 'NUMBER' et 'DATE' à leurs valeurs originales, qui avaient été sauvegardées au début du script dans la variable macro '&saveOptions'. Cela assure que l'environnement SAS est réinitialisé à son état précédent.
Copié !
1options &saveOptions;
2/* reset options to original values */
L'Astuce Pro
Bien que l'utilisation de macros soit fonctionnelle pour quelques options simples, la méthode la plus fiable et professionnelle pour sauvegarder l'état complet d'une session est d'utiliser la procédure PROC OPTSAVE out=sasuser.config; avant votre code, puis PROC OPTLOAD data=sasuser.config; à la fin. Cela gère automatiquement les centaines d'options système sans risque d'oubli ou d'erreur de syntaxe sur les valeurs complexes.
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.

Documentation liée

Aucune documentation spécifique pour cette catégorie.