Bonjour,
J'ai une question à propos de l'exécution des libnames à chaque fois je ferme et j'ouvre mon projet.
Est ce qu'il n y a pas de moyen pour éviter ça?
Merci
Bonjour,
J'ai une question à propos de l'exécution des libnames à chaque fois je ferme et j'ouvre mon projet.
Est ce qu'il n y a pas de moyen pour éviter ça?
Merci
Bonjour,
Il te faut modifier le fichier autoexec.sas
et comment le modifier ?
excuse moi, mais j'ai toujours pas compris.
J'ajoute les lignes de code qui m'intéressent (libname, requêtes, commentaires...) où ?
En fait je ne sais pas comment modifier le fichier autoexec.sas ?
Un exemple SVP
Tu recherches le fichier autoexec.sas , tu l'ouvres avec un éditeur de texte et tu rajoute tes instructions, par exemple :
Ce fichier sera exécuté par SAS à chaque ouverture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /* lignes à insérer dans le fichier autoexec.sas */ libname lib_rm sref=lib server=serv1; /*déclaration d'une libraire distante en local */ libname lib "r:\chemin\repertoire"; /*déclaration d'une librairie */ %include "r:\chemin\pgmlot1.sas"; /*exécution du programme : "pgmlot1" */
Hello,
le programme qui permet d'exécuter des instructions SAS à l'ouverture d'une session ( SAS ou SEG ) est AUTOEXEC.SAS.
si t'as les droits d'écriture sur le dossier d'install SAS et si ton fichier autoexec.sas existe dans ce dossier, tu peux faire ceci :
ce bout de code permet d'insérer le libname dans le fichier AUTOEXEC.SAS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 data _null_; file "%str(%sysfunc(getoption(autoexec)))" mod; put /// %nrstr("libname rep 'c:\test';"); run;
N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
N'oubliez pas de mettre votre message à
si la solution donnée résout votre problème
Je rajoute un exemple de mise à jour ou de création du fichier Autoexec.sas s'il n'existe pas avec rajout d'un libname.
( pas tester)
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 %macro ajout_lignes_autoexec; %if %qsysfunc( filexist(%str(%sysfunc(getoption(autoexec)))))=1 %then %do; data _null_; file "%str(%sysfunc(getoption(autoexec)))" mod; put /// %nrstr("libname rep 'c:\test';"); run; %end; %else %do ; data _null_; file "&racine.\autoexe.sas" ; put / // 'libname rep "c:\test";'; run; %end; %mend; %ajout_lignes_autoexec;
N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
N'oubliez pas de mettre votre message à
si la solution donnée résout votre problème
Mais avant d'ajouter ces lignes de code, il faut trouver le fichier AUTOEXEC.SAS ?
J'ai fais une recherche dans la barre recherche sur mon ordinateur, mais je ne trouve rien.
avez vous une idée sur où je dois aller ?
Merci
Le code que je t'ai proposé se charge de trouver le programme AUTOEXEC.SAS s'il ne le trouve pas, il le crée au bon endroit et insert les lignes que tu souhaites exécuter au démarrage de SAS.
Exécute ce code si ton autoexec.sas existe, il sera affiché dans la log:
sinon, il est au même endroit que SAS.EXE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 %put %sysfunc(getoption(autoexec));
N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
N'oubliez pas de mettre votre message à
si la solution donnée résout votre problème
1. Ouvrir SAS EG
2. Sélectionner Outils
3. Sélectionner Options
4. Sélectionner Programme SAS
Cocher la case «Soumettre le code SAS lorsque le serveur est connecté»
Cliquer sur «Modifier...»
Une fenêtre s'ouvre
Y coller le code SAS que vous voulez exécuter automatiquement au démarrage de SAS
OK partout, fermer votre session.
Le tout devrait se faire automatiquement lors de la prochaine ouverture de votre SAS.
Autre méthode un peu moins souple:
Créer un "Flux de processus" nommé "Autoexec"
A chaque ouverture du projet , le logiciel demandera si il faut executer ce flux. on peut egalement configurer dans les options pour que le message n'apparaisse pas et que le flux soit exécuté automatiquement
- Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
- Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.
- Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
- Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.
Parfois un dessin vaut mieux que mille explications...
![]()
N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
N'oubliez pas de mettre votre message à
si la solution donnée résout votre problème
ça ne marche pas. Ci-joint ce que SAS m'affiche comme erreur.
Pour ce qui concerne le type de sas que j'ai, je ne sais vraiment pas. C'est sur un PC qu'on m'a laissé. Je pense que c'est une version cracké mais je ne sais pas si c'est ça le problème. Sinon j'ai une version gratuite sur un autre PC mais c'est le PC de l'école.
- Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
- Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.
Haache, sans vouloir polémiquer, ce serait assez agréable que tu lises les posts et que tu répondes aux questions de ceux qui prennent de leur temps pour t'aider...
Hello HAACH,
(t’avais raison il y avait une coquille dans le premier code que j'ai proposé ).peux-tu essyer le code ci-dessous et me dire si ça marche ?
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 %macro ajout_lignes_autoexec; %if %sysfunc(getoption(autoexec))ne %then %do; data _null_; file "%str(%sysfunc(getoption(autoexec)))" mod; put /// %nrstr("libname lib1 'c:\test';"); put /// %nrstr("libname lib2 'c:\test1';"); run; %end; %else %do ; data _null_; file "!sasroot\autoexe.sas" ; put /// %nrstr("libname lib1 'c:\test';"); put /// %nrstr("libname lib2 'c:\test1';"); run; %end; %mend; %ajout_lignes_autoexec;
N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
N'oubliez pas de mettre votre message à
si la solution donnée résout votre problème
Le code fonctionne correctement en EG avec SAS local (9.3) mais plantait en mode connecté sur serveur Linux (9.4 M1)
Partager