Bonjour en regardant un article du SUGI:
Bulletproofing Your SAS Results
Je vois qu'il crée une fichier .lis
On parle ici de parcourir le log et l'output d'un programme SAS, de récupérer les résultats produits pour les mettre dans différents fichiers que l'on aura créé. Un peu comme si l'on désirait filtrer les résultats.
J'ai un problème avec la création du fichier "lisfile".
Voici le message d'erreur:
Je pensais que si le fichier n'existait pas, il serait alors créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ERROR: Physical file does not exist, C:\UserTemp\CXDC_2_GV.lis.
Je ne comprends pas pour quoi ça fonctionne avec de nouveau fichier *.log et pas avec mon fichier *.lis...
J'ai écrit ci dessous un code simplifié de la version du SUGI:Comment puis-je faire pour qu'il crée mon fichier automatiquement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 /*options nosource nonotes; * Empêche l'affichage du code exécuté dans le log; dm log 'clear' editor; * Efface la log; */ /*options source;*/ filename logfile 'C:\UserTemp\log_CXDC_2_GV.log'; filename result 'C:\UserTemp\Result_CXDC_2_GV.log'; filename lisfile 'C:\UserTemp\CXDC_2_GV.lis'; proc printto log=logfile new; run; %put MESSAGE: mon message; proc printto; run; data _null_; infile logfile truncover; input linetxt $90.; if index(linetxt,"MESSAGE:")>0 and index(linetxt,"put MESSAGE:")=0 then /*Empeche d'écrire la ligne d'instruction %put*/ do; file result; put linetxt; end; run; %macro print_to_gfile; proc gprint fileref=lisfile; run; %mend; %print_to_gfile;
Partager