IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAS Base Discussion :

Sortie lst copier automatique dans un répertoire sur mon C:\


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Sortie lst copier automatique dans un répertoire sur mon C:\
    Bonjour,

    J'aimerais savoir comment enregistrer automatiquement ma sortie lst de mon programme sas sur un répertoire sur mon C:\ par programmation.

    Merci.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Avec la proc printto, tu peux rediriger la log et l'output dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc printto print="c:\temp\output.lst";
    run;
     
    traitements SAS
     
    proc printto;
    run;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut erreur
    dsl mais cela ne fonctionne pas pour moi pas de de message d'erreur mais le fichier n'est pas copié

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut code
    Voici le code que j'exécute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    submit;
     
    PROC PRINTTO PRINT='C:\Temp\Test\aaa.lst'                                                                                               
                 LOG='C:\Temp\Test\aaa.log' NEW;                                                                                            
    RUN;
     
     
    PROC PRINT DATA=sashelp.class;                                                                                                          
    RUN;
     
     
    ROC PRINTTO PRINT=PRINT LOG=LOG ;                                                                                                      
    RUN;

  5. #5
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Voici le code que j'exécute :
    submit;
    C'est quoi ce SUBMIT ? Tu es dans un code SCL ? (Si oui, SUBMIT CONTINUE plutôt.)
    Sur le fond, je pense comme Francis : proc Printto, ou ODS LISTING avec l'option FILE.
    Olivier

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut ...
    c'EST UN rsubmit, j'ai mal transcris,

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut ...
    Pourtant le code est bon, mais le fichier ne ce créer pas, vous avez une idée pk ?

  8. #8
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Si c'est un RSUBMIT, tout ce qui est écrit ensuite est exécuté sur le SERVEUR ! Donc tu écris sur c:\Temp\Test\ sur ton serveur (si un tel répertoire y existe).
    Il faudrait mettre la proc Printto AVANT le Rsubmit pour écrire dans un fichier en local.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Pour la proc printto, il faut avoir l'ODS listing ouvert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ODS listing ;
     
    proc printto print='M:\TEMP\OUTPUT.LST' new;
    run;
     
    proc print data=sashelp.vslib;
    run;
     
    proc printto;
    run;

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 34
    Points : 22
    Points
    22
    Par défaut ...
    Merci pour les exemples, par contre le problème est que je lance mon programme sas et que mon fichier même si je lui donne un chemin d'accès sur windows il me copie le fichier sur unix, il faut ajouter une option pour dire de l'envoyer sur le poste et non sur unix

  11. #11
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Bonjour,

    Si tu travail en RSUBMIT, il faut déclarer en LOCAL un libname qui va pointer sur un libname du serveur.

    Ex: (soumission local)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    libname SHELP slibref=SASHELP server="nom_server";
    Ici je déclare un libname SHELP en local qui pointe sur la SASHELP du serveur.
    Apres il suffit d'utiliser SHELP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    PROC PRINTTO PRINT='C:\Temp\Test\aaa.lst'                                                                                               
                 LOG='C:\Temp\Test\aaa.log' NEW;                                                                                            
    RUN;
     
     
    PROC PRINT DATA=SHELP.class;                                                                                                          
    RUN;
     
     
    PROC PRINTTO PRINT=PRINT LOG=LOG ;                                                                                                      
    RUN;
    Bon courage,

    Steel

  12. #12
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Petite synthèse des différentes propositions :
    1) il faut effectivement que la destination ODS LISTING soit ouverte, sur le PC et sur le serveur (mais en général elle l'est par défaut)
    2) la solution proposée par Steel (travailler en local avec une bibliothèque pointant sur le serveur) n'est valable que pour de petits volumes de données. Parce qu'au final, c'est le réseau qui trimballe les tables, et le PC qui bosse.
    3) dans un bloc RSUBMIT, le serveur ne connaît pas le PC qui lui donne des ordres. On ne peut donc pas, sauf dans une proc Download, indiquer de chemin Windows dans un bloc RSUBMIT.
    Deux solutions me semblent donc envisageables :
    - soit mettre les proc Printto à l'extérieur du bloc RSUBMIT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROC PRINTTO PRINT="c:\temp\test.lst" ;
    RUN ;
    RSUBMIT ;
    ...
    ENDRSUBMIT ;
    PROC PRINTTO PRINT=PRINT ;
    RUN ;
    - soit mettre les proc Printto à l'intérieur du bloc RSUBMIT, créer un fichier sur le serveur par ce biais, et enfin le redescendre sur le PC avec la proc Download.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RSUBMIT ;
    PROC PRINTTO PRINT="/users/olivier/temp/test.lst" ;
    RUN ;
    ...
    PROC PRINTTO PRINT=PRINT ;
    RUN ;
    PROC DOWNLOAD INFILE="/users/olivier/temp/test.lst"
                        OUTFILE="c:\temp\test.lst" ;
    RUN ;
    ENDRSUBMIT ;
    Olivier

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/04/2010, 20h33
  2. Réponses: 15
    Dernier message: 01/11/2008, 15h57
  3. Utilisateur ne va pas automatiquement dans son répertoire
    Par gifffftane dans le forum Administration système
    Réponses: 4
    Dernier message: 29/02/2008, 16h41
  4. copier coller dans un répertoire
    Par guismoman33 dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 25/07/2007, 23h39
  5. [Apache] Copier dans un répertoire sur le réseau
    Par licorne dans le forum Apache
    Réponses: 10
    Dernier message: 23/11/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo