Vous n'êtes pas identifié.
Vous êtes sur le forum du master ESA !
Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!
Venez visiter notre nouveau site : www.master-esa.fr
Bonjour !
On a un gros problème quand on lance plusieurs instructions sous SAS (proc ou étapes data, et surtout simulations ! ), la fenêtre "journal" se remplie au max.. et du coup SAS nous demande (à chaque fois!!!) si on souhaite sauvegarder ou la vider sans sauvegarder.
C'est sympa de nous le demander ..mais quand c'est toutes les 5 minutes et que l'exécution du programme dure des heures ça devient lourd !!!! (on aimerait bien reprendre nos activités normales plutôt que rester devant le PC pour cocher une case lol )
Donc ce que je voudrais savoir si il y a une option ou une case à cocher quelque part, pour ne plus qu'il nous le redemande à chaque fois ?
AH OUI.. au fait , si je met NOPRINT je peux plus utiliser les ODS OUTPUT (option méga importante dans mon programme!!!!)
Avis aux âmes charitables...
Dernière modification par alaa-eddine (07-11-2007 15:56:02)
Hors ligne
y'a de la macro dans le programme en question ?
si oui, il existe des options pour limiter la production dans la fenêtre journal (c'est dans mon poly)
si non, de quelle nature sont les sorties de la fenêtre journal ?
il me semble bien qu'il existe une option pour demander à SAS de ne pas tout mettre dans la fenêtre journal et d'envoyer plutôt vers un fichier
enfin : solution définitive - et si vous fermiez la fenêtre journal ?
c'est le principe : en cas de fièvre, casser le thermomètre...
cordialement
SR
Hors ligne
Aïe !!! ah non ça ne passe pas !! lol
Je viens de fermer les fenêtres "sortie" et "journal" mais y a toujours cette maudite fenêtre de dialogue "FENÊTRE PLEINE ET DOIT ÊTRE EFFACÉE: sauvegarder dans un fichier ou effacer sans sauvegarder" qui surgit .
(c'est du Boostrap que je fais.. donc je m'en fiche des résultats ! de plus je sais que le programme fonctionne vue que je l'ai exécuté pour 5 simulations ce qui n'est pas grand chose... mais ça me coute 6 clicks toutes les 45 secondes environ sur "effacer sans sauvegarder"... lol ) .
Conclusion : c'est la fenêtre résultats dans l'explorateur à droite de l'écran qui demande à être vidée. (je pense..)
Donc en fait, mon programme c'est une macro faisant appel à plusieurs macros. j'ai essayé de limiter au maximum les boucles sur les proc arima et les "sous-macros" pour économiser la fenêtre "sortie" et le temps de calcul, mais apparemment pas assez...
Hors ligne
donc, une solution est présentée ici :
http://support.sas.com/kb/12/452.html
cordialement
SR
Hors ligne
ah... on a crié victoire un peu trop vite !! mais pas de panique !
en fait la proc printto permet de de sauvegarder la fenêtre sortie, cela dit, il reste la fenêtre journal à vider.
quelques solutions pour y remédier :
Comment vider la log depuis la fenêtre "Program Editor" ? La commande suivante permet d’effacer le contenu de la log SAS : dm log 'clear' editor; Comment diminuer le contenu de la log SAS ? Différentes options SAS permettent d’alléger la log SAS. Voici les principales: - L’option "nonotes" permet de supprimer les notes SAS dans la log. Les messages d’alertes (Warning) et les erreurs seront toujours visibles. - L’option "nosource" permet de ne pas afficher dans la log le code exécuté. - L’option "noechoauto" permet de ne pas afficher dans la log le résultat de l’exécution d’un fichier autoexec.sas. Comment exécuter une étape data sans l’afficher dans la log ? Cet exemple permet d’exécuter des étapes data sans afficher leur déroulement dans la log SAS. data sample; input code 3. ; cards; 1 1 2 ; run; /* répertoire de stockage du programme */ libname stored 'C:\temp\stored'; /* le code suivant sera sauvegardé dans la bibliothèque STORED et aura pour nom SAMPLE */ data sample2 / pgm=stored.sample; set sample; if code = 1 then do; Type='Perennial'; number+4; end; run; /* Ensuite, pour exécuter ce programme, sans faire apparaître le code dans la log, vous pouvez exécuter le code suivant : */ data pgm=stored.sample; execute; run; La log ainsi générée sera la suivante : 216 data pgm=stored.sample; 217 execute; 218 run;
Un grand merci un Mr S.R qui nous a débloqué la situation !
P.S : faut faire attention à l'espace disque ! prévoir 2 Go de libre pour le .lst s'il y a trop de proc.
Hors ligne
Bon... la première solution "dm log 'clear' editor;" n'est pas terrible lol
il ne peut pas s'empêcher de demander de sauvegarder ou non !
Hors ligne
euhh.... j'ai rien dis !! "dm log 'clear' editor;" marche parfaitement !!
j'avais juste oublié de décocher une case dans les options... (c'était la fin de journée ! ...et oui y en qui viennent en cours "tôt" le matin et qui font la fermeture de la B.U... )
Hors ligne
lol tant que ca tu y passe autant de temps à la fac hummmm reste à verifier ....
Hors ligne
Salut,
Le sujet semble dater de longtemps mais je vais quand méme poser ma question.
Jai le méme probléme que Alaa-eddine mais je nárrive pas a le solutionner avec ce qui est proposer.
J'utilise un proc nlin data=...; et juste aprés jái essayé dm log 'clear' editor; mais rien á faire, Alaa-eddine dit qu'il a décoché une option est-ce que quelqu'un aurait une idé de qiuoi il s'agit ??
J'ai éssayé aussi le proc printto print="c:\some directory\file.lst";run; et j'ai placé le proc printto;run; á la fin de mon programme mais rien á faire.
Merci par avance
Hors ligne
Alors l'option à cocher : ça me dit plus rien ! mais je sais que j'avais juste combiné la proc printto et le clear editor dans ma macro.
En fait je mettait la proc printto au début de mon programme pour stoker le journal des sorties dans "file.lst" et à la fin de chaque boucle de ma macro j'utilisais dm log 'clear' editor; pour vider le journal.
Et même si t'utilise un BY dans ta proc nlin normalement tout est écrit dans le file.lst au lieu du journal des sorties... à condition de la placer avant d'exécuter la proc nlin...
Hors ligne
ok merci je vais essayer
Hors ligne