Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2008, 16h30   #1
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Par défaut création physique d'un répertoire sous sas

Bonjour,

j'ai crée un site intranet, l'utilisateur sur un des formulaires devra saisir le nom d'un repertoire pour ensuite crée ce repertoire physiquement. lorsque il validera le programme sas ce lancera a partir d'un lancement.bat.
Ce que je n'arrive pas c'est le programme sas en lui même, je pense qu'il faut faire une macro pour crée le repertoire.
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 16h39   #2
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
La commande X te permet d'exécuter des commandes dos ( ou unix) à partir de SAS
Code :
1
2
3
4
OPTION noxwait noXSYNC;
DATA _null_;
x mkdir c:\temp\toto;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 16h52   #3
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
est ce que quelq'un peut vérifier mon bout de code
parceque je n'arrive.J'éssaie de crée un fichier dans le repertoire mais sa ne donne rien.
Pour info le repertoire que je récupére est celui d'un fichier txt.
Code :
1
2
3
4
5
6
7
8
9
10
libname dessin "Y:\bf\Programmes";
 
OPTION noxwait noXSYNC;
DATA _null_;
INFILE 'C:\wamp\www\Dessin\sas_dessin\parametre.txt' lrecl=500 dlm='*' dsd pad missover;
length repertoire $100;
x mkdir repertoire;
length _token $100 ;
_token =  "fichiers" ; output ;
run;
merci
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 16h57   #4
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
l' output ne sert à rien puisque tu as data _null_!!!!
si tu veux garder les résultats, rempalce _null_ par le nom d'une table.
C'est quoi le problème?
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h05   #5
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Je ne veus pas conserver les données mais crées un repertoire physique et des dossier dans ce repertoire sous windows.
je ne sais pas si j'ai été bien compris, je veut juste passé par sas pour crée mon repertoire et dossier, si c'est possible bien entendu

Merci
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h07   #6
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
C'est quoi le problème?
l'etape data ne marche pas.?
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h11   #7
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Est ce que c'est possible d'avoir une extrait de ton fichier parametre.txt?

Code :
1
2
3
4
5
6
OPTION noxwait noXSYNC;
DATA _null_;
INFILE 'C:\wamp\www\Dessin\sas_dessin\parametre.txt' lrecl=500 dlm='*' dsd pad missover;
length repertoire $100;
x mkdir repertoire;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h24   #8
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Dans mon fichier repertoire.txt et non paramettre.txt.j'ai uniquement la valeur que j'ai recupérer du site intranet.
De plus sas me dis qu'il n'arrive pas a lire le fichier repertoire.txt sachant qu'il n'ya que la valeur a récupérer soit C:/wamp/www/Dessin/sas_dessin.
dans mon fichier repertoire.txt il n'ya pas de code.
je ne sais pas qu'est ce que je peut fait d'autre pour que l'on m'aide.
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h28   #9
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Tu as slash(/) dans ton chemin, ce qui n'est pas bon, tu dois les transfomer en santislash(\).

Tu importes le fichier parametre.txt
Code :
INFILE 'C:\wamp\www\Dessin\sas_dessin\parametre.txt'
repertoire c'est le nom de la variable.

Test juste l'import du fichier
Code :
1
2
3
4
DATA toto;
INFILE 'C:\wamp\www\Dessin\sas_dessin\parametre.txt' lrecl=500 dlm='*' dsd pad missover;
length repertoire $100;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h41   #10
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Bon sa j'ai réussi a importer le nom du repertoire dans ma table sas, mais comment la crée sur WINDOWS avec des dossiers.
Merci
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h44   #11
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
il faut utiliser la fonction tranwrd pour corriger le nom du répertoire
Code :
1
2
3
4
DATA _null_; SET nom_table;
rep1=tranwrd(repertoire,'/','\');
x mkdir rep1;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h50   #12
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
ok sa c'est bon
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h52   #13
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Bouton RESOLU
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h12   #14
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Bonjour,

Je voudrais reprendre le probléme qui a été résolu.
J'ai un souci c'est que a chaque fois que je crée mes fichiers, il se crée toujour dans le repertoire.bat et non dans celles qui a été saisi par l'utilisateur. Si quelq'un peut m'aider;

Merci
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h16   #15
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Tu peux nous montrer ton code?
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h22   #16
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Voici mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
libname dessin "Y:\a\Programmes";
 
OPTION noxwait noXSYNC;
DATA dessin.tutu;
INFILE 'C:\wamp\www\Dessin\sas_dessin\repertoire.txt' lrecl=500 dlm='*' dsd pad missover;
length repertoire $100 type $50 ;
input repertoire type;
run;
DATA dessin.toto; 
SET dessin.tutu;
rep1=tranwrd(repertoire,'/','\');
run;
 
data dessin.toto;
SET dessin.toto;
x mkdir fichiers norm1 plan_fichie prog tables1 tables2 tables3;
run;
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h27   #17
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
Ce code est censé faire quoi?
Code :
1
2
3
4
5
 
DATA dessin.toto;
SET dessin.toto;
x mkdir fichiers norm1 plan_fichie prog tables1 tables2 tables3;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h29   #18
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
ce code est censé crée les dossier fichier table1 table2 table3 ... dans le repertoire saisi par l'utulisateur soit rep1 qui a été récupéré dans la table sas
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h34   #19
Membre Expert
 
Inscription : mars 2005
Messages : 1 028
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 028
Points : 1 278
Points : 1 278
Envoyer un message via Yahoo à bahraoui
tu ne crées même pas le répertoire rep1!!!
Vérifies que la concaténation se fait correctement.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
DATA dessin.toto;
SET dessin.toto;
x mkdir rep1\fichiers;
x mkdir rep1\norm1 ;
x mkdir rep1\plan_fichie ;
x mkdir rep1\prog ;
x mkdir rep1\tables1 ;
x mkdir rep1\tables2 ;
x mkdir rep1\tables3;
run;
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 11h55   #20
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 33
Points : 33
Il y'a quelque chose qui ne va pas, normalement le rep1 est le repertoire qui a été saisie par l'utilisateur mais a chaque fois que je lance repertoire.bat il crée mon repertoire dans le repertoire ou setrouve le.bat
mioke est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web