Les données sont générées dynamiquement en exécutant la commande système 'set' via l'instruction 'filename pipe'. La source n'est donc pas un fichier préexistant mais la sortie standard de cette commande système, qui liste les variables d'environnement de la session.
1 Bloc de code
FILENAME
Explication : Cette instruction associe le fileref '_env2ds' à un 'pipe'. Elle exécute la commande système 'set' et capture sa sortie standard pour qu'elle puisse être lue comme un fichier plat par SAS.
Copié !
filename _env2ds pipe 'set';
1
filename _env2ds pipe 'set';
2 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP lit les données provenant du 'pipe' _env2ds. Pour chaque ligne lue ('input'), il extrait le nom de la variable d'environnement en prenant la partie avant le signe '=' et sa valeur en prenant la partie après. Une condition vérifie que la valeur n'est pas vide avant de l'assigner. Les variables 'name' et 'value' sont créées avec des longueurs prédéfinies et des labels descriptifs.
Copié !
data &dsout;
length name $ 40 value $ 1000;
infile _env2ds;
input;
name=scan(_infile_,1,"=");
if scan(_infile_,2,"=") NE " " then value=substr(_infile_,index(_infile_,"=")+1);
label name="Environment Variable Name"
value="Environment Variable Value"
;
run;
1
DATA &dsout;
2
LENGTH name $ 40 value $ 1000;
3
INFILE _env2ds;
4
INPUT;
5
name=scan(_infile_,1,"=");
6
IF scan(_infile_,2,"=") NE " "THEN value=substr(_infile_,index(_infile_,"=")+1);
7
label name="Environment Variable Name"
8
value="Environment Variable Value"
9
;
10
RUN;
3 Bloc de code
FILENAME
Explication : Cette instruction libère le fileref '_env2ds' et ferme le 'pipe' associé, ce qui est une bonne pratique de nettoyage des ressources.
Copié !
filename _env2ds clear;
1
filename _env2ds clear;
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.
Informations de Copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.