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 :

Problème d'export sas en txt


Sujet :

SAS Base

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable d'affaires BDD
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable d'affaires BDD
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Problème d'export sas en txt
    Bonjour,

    J'ai à ma disposition une table sas contenant des valeurs numériques manquantes et des champs caractères.
    Une valeur d'un champ caractère (cod_mod_veh) contient une sous-chaine encadrée par des doubles quotes : aaaa "bbbb" cccc

    J'ai codé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data _null_;
    file "/datvol4/iler/export/test.txt" lrecl = 32767 delimiter = '|'  dsd;
    set tbsas.test;
    put num_visit km_veh cod_mrq_veh cod_mod_veh;
    run;
    L'option dsd permet de ne pas afficher les points pour les valeurs numériques manquantes, cependant cette option crée un problème pour ma valeur de cod_mod_veh.
    Elle crée des doubles-quotes indésirables : "aaaa""bbbb""cccc"

    Ma question est la suivante: Comment exporter ces données sans mettre des points pour les valeurs numériques manquantes ni dénaturer les valeurs de mes champs caractères ?

    Merci d'avance de votre aide.

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Je te propose cette solution:
    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
    option missing='';
     
    data test;
    input var1 var2 $ var3 $ var4 ;
    cards;
    1 "test" test 2
    2 "test1" test . 
    3 test2 "test" 3
    ;run;
     
    data _null_;
      set test;
      file "test.txt" lrecl = 32767 delimiter = '|' ;
      put var1 var2 $ var3 $ var4;
    run;
    COrdialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable d'affaires BDD
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable d'affaires BDD
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour votre proposition de solution.
    Cependant cela laisse un espace pour les valeurs numériques manquantes, or je souhaiterais vraiment n'avoir aucun caractère.

    Avez-vous une solution ?

    Bien cordialement,

  4. #4
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Pourrais-tu nous donner un échantillon de la table avant l'export et l'export souhaité en format txt
    Merci
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable d'affaires BDD
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable d'affaires BDD
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici la table en question:

    Nom : table_sas.jpg
Affichages : 298
Taille : 43,5 Ko

    Voici l'export (fichier texte) souhaité:

    188885754|104279|CITROEN|C4 PICASSO
    188885755||CITROEN|C1
    188885756||RENAULT|CLIO
    188885757|155001|RENAULT|MASTER
    188885758|129801|MERCEDES BENZ|CLASSE B
    188885759||RENAULT|MEGANE SCENIC
    188885760||CITROEN|C4
    186310019|352284|OPEL|ZAFIRA "LTED ED"1.9 CDTI 100

    Donc pas d'espace ni de point pour les valeurs numériques manquantes et je souhaite que la dernière valeur de la dernière colonne reste inchangée.

    Merci pour votre aide.

  6. #6
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    option missing='';
     
    data test;
    input var1 var2 var3 :$20.  var4 $ ;
    cards;
    1 . "test" test 
    2 . t"test1"test test 
    3 6 t"test1"test test
    ;run;
     
     
    data _null_;
     set sashelp.vcolumn(keep=libname memname name type where=(libname='WORK' and memname='TEST')) end=last;
     if _n_ eq 1 then call execute('proc sql; create table test1 as select ');
     if type='char' then call execute(' '||strip(name)||' format=$50. length=50 as '||strip(name));
      else call execute('put('||strip(name)||',best32. -l) length=50 as '||strip(name));
     if not last then call execute(',');
      else call execute(' from test;quit;');
    run;
     
     
    data test2(drop= i  );
    set test1;
    array X(*) _all_;
    do i=1 to dim(x);
       if x(i)='' then do;
       x(i)='|';
     end;
     end;
    run;
     
    data test2 ;
    set test2;
    length varg $1000.;
    array X(*) _all_;
    varg=strip(tranwrd(catx('|', of x(*)),'|||','||'));
    run;
     
    data _null_;
      set test2;
      file "test.txt" lrecl = 32767  ;
      put varg;
    run;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable d'affaires BDD
    Inscrit en
    Novembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable d'affaires BDD
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    C'est brillant, cela fonctionne !

    En vous remerciant vivement !

Discussions similaires

  1. Image dans un excel après un export sas dans cet excel
    Par fulgurr dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 02/02/2018, 15h33
  2. Problèmes exportation dans fichier *.txt
    Par mamour71 dans le forum MATLAB
    Réponses: 8
    Dernier message: 07/12/2011, 19h04
  3. Crontab : problème export SAS
    Par hbhf2010 dans le forum Administration système
    Réponses: 2
    Dernier message: 23/05/2010, 10h07
  4. Problème d'exportation jar : où est mon répertoire bin ?
    Par fredcontin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/05/2004, 16h57
  5. [ websphere] problème d'export DISPLAY
    Par gogozep001 dans le forum Websphere
    Réponses: 8
    Dernier message: 04/09/2003, 13h31

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