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 :

Exporter table vers un fichier txt entête en tabulé


Sujet :

SAS Base

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut Exporter table vers un fichier txt entête en tabulé
    Bonjour à tous,

    Je suis débutante en SAS, et j'aimerais exporter ma table vers un fichier txt mais je ne sais pas comment créer une entête en tabulé.

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    data _null_;
    file "Z:\fichier.txt" dlm="09"x ;
    set table1;
    if _n_=1 then put  'numclient;civilite;nom;prenom';
    put
     
    numclient
    civilite
    nom
    prenom
    ;
    run;
    il me met le fichier en tabulé mais l'entête reste en ';'

    Merci pour votre aide!

  2. #2
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello,
    pout faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    proc export data=sashelp.class
                    outfile= "Z:\fichier.txt" 
    			dbms=dlm replace ;
                delimiter="09"x ;
     
    run;

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Merci Sam pour ta réponse mais mon fichier.txt n'a pas d'entête, je dois la créer et la rajouter manuellement à mon fichier c'est pour cela que je ne passe pas par proc export!!!

  4. #4
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Ok !! je n'ai pas tout saisi, mais essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    data _null_;
    file "Z:\fichier.txt"  dlm= "09"x;
    set table1;
    if _n_=1 then put 'numclient' "09"x 'civilite' "09"x 'nom' "09"x 'prenom' ;
    put
     
    numclient
    civilite
    nom
    prenom
    ;
    run;

  5. #5
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Merci pour ta réponse, je vais essayer ça demain et je te dirai si ça marche, sauf que rajouter "09"x après chaque champs c'est beaucoup, car en moyenne j'ai une quinzaine de champs.

    A demain! et merci encore.

  6. #6
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Je vien juste d'essayer ton programme et ça marche

    Merci SAM et à la prochaine question

  7. #7
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    par contre dis moi SAM est ce qu'il y a un moyen de mettre le '09'x qu'une seule fois, au lieu de le mettre derrière chaque champs, car comme j'ai plusieurs champs c'est un peu lent!!!!! moi j'ai essayé mais ça ne marche pas!! peut être que toi plus expérimenté t'as une idée?

    Merci et bonne journée.

  8. #8
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello;
    Tes champs tu les récupères bien d'une table SAS ?,il y a plusieurs façon de le faire.Je n'ai pas SAS ce soir pour tester.
    je te propose l'exemple qui suit , essaies de t'adapter à ton besoin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /*Attention !! ici de récupère toutes les variables de la table SASHELP.CLASS*/
    proc sql noprint;
    select quote(name) , name  into: mv_champs1 sepatared by "  '09'x  " ,: mv_champs2 separated by ' ' from dictionary.columns 
    where upcase(libname)="SASHELP" and upcase(Memnae)="CLASS);
    quit;
    data _null_;
    file "~/s_a_m/file.csv" dlm="09"x;
    set sashelp.class;
    if _n_=1 then put &mv_champs1;
    put &mv_champs2 ;
    run;

  9. #9
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Je vais essayer Mardi tout et je te tiens au courant!

    bon we!

  10. #10
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello;
    en attendant ton retour, voici quelques petites corrections à ce que j'ai proposé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    proc sql noprint;
    	SELECT quote(strip(name)) , name  INTO: mv_champs1 separated BY "'09'x" ,: mv_champs2 separated BY ' ' FROM dictionary.COLUMNS 
    	WHERE upcase(libname)="SASHELP" AND upcase(Memname)="CLASS";
    quit;
     
     
    data _null_;
    	file "~/s_a_m/file.csv" dlm="09"x;
    	set sashelp.class;
    	if _n_=1 then put &mv_champs1;
    	put &mv_champs2 ;
    run;
    mais j'avoue sa donnera la même chose en passant par la proc export.

  11. #11
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Merci Samir,


    Je crois que je vais utiliser ta première solution, plus simple et ça marche!


    Bonne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/03/2014, 16h41
  2. [WD15] Export table vers fichier .txt
    Par loloxp dans le forum WinDev
    Réponses: 9
    Dernier message: 09/04/2010, 13h21
  3. exporter table vers fichier txt
    Par joe370 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/05/2009, 13h08
  4. Problème d'export table vers un fichier plat
    Par david71 dans le forum Modélisation
    Réponses: 1
    Dernier message: 21/01/2008, 17h51
  5. Export d'une table vers un fichier Txt
    Par Max30 dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 19h10

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