1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    consultant en actuariat
    Inscrit en
    avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : consultant en actuariat

    Informations forums :
    Inscription : avril 2018
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Import d'un fichier CSV sous sas

    bonjour,
    j'ai un fichier CSV que je veux importer sous sas et je rencontre un problème avec une variable date. en effet lorsque je fais l'importation, j'ai l'erreur suivante:

    NOTE: Invalid data for date_d in line 2 88-107.
    REGLE : ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
    2 EURODOM_AUTO;6101600001;6101600001;4R;10/01/2017;09/02/2017;65.31;51.58;0;2.54;11.19;0;5.32907051820
    101 075E-15;10/01/2017;09/02/2017 129
    COURTIER=EURODOM_AUT id_court=6101600001 Identification=6101600001 Produit=4R date_deb=10/01/2017 date_fin=09/02/2017
    Prime_emise_ann=65.31 RC=51.58 CN=0 DOM=2.54 GC=11.19 test=0 date_d=. date_f=10/01/2017 _ERROR_=1 _N_=1

    après avoir importé mon fichier csv sous sas, je l'ai exporté sous excel et je me suis rendu compte que ma variable date_d est vide pour chacune de mes lignes. le code que j'ai utilisé est le suivant :


    %macro import_csv_court(fichier_csv=,table_sortie=);
    data &table_sortie.;
    %let _EFIERR_ = 0; /* set the ERROR detection macro variable */
    infile "&dossier_csv.\&fichier_csv."
    delimiter = ';'
    MISSOVER DSD lrecl=32767
    firstobs=2 ;

    informat COURTIER $20. ;
    informat id_court $30. ;
    informat Identification $30. ;
    informat Produit $3. ;
    informat date_deb ddmmyy10. ;
    informat date_fin ddmmyy10. ;
    informat Prime_emise_ann best32. ;
    informat RC best32. ;
    informat CN best32. ;
    informat DOM best32. ;
    informat GC best32. ;
    informat test best32. ;
    informat date_d ddmmyy10. ;
    informat date_f ddmmyy10. ;
    format COURTIER $11. ;
    format id_court $30. ;
    format Identification $30. ;
    format Produit $3. ;
    format date_deb ddmmyy10. ;
    format date_fin ddmmyy10. ;
    format Prime_emise_ann best12. ;
    format RC best12. ;
    format CN best12. ;
    format DOM best12. ;
    format GC best12. ;
    format test best12. ;
    format date_d ddmmyy10. ;
    format date_f ddmmyy10. ;
    input
    COURTIER $
    id_court $
    Identification $
    Produit $
    date_deb
    date_fin
    Prime_emise_ann
    RC
    CN
    DOM
    GC
    test
    date_d
    date_f
    ;
    if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
    run;
    %mend;


    %import_csv_court(fichier_csv=csv_OCEALIZ_ant_dhp.csv,table_sortie=court_ocealiz_ant_dhp);

    merci d'avance pour votre aide.
    Images attachées Images attachées  

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 11
    Points : 8
    Points
    8

    Par défaut

    Bonjour Dimitri,

    Pourquoi dans ta macro tu n'utilises pas un proc import ?

    Cordialement

  3. #3
    Membre à l'essai
    Homme Profil pro
    Biostatisticien
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Santé

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 16
    Points
    16

    Par défaut

    Bonjour,

    A mon avis il y a un problème dans la liste des variables qui sont listées.
    As-tu rajouté une variable ?

    Car si je reprends le code SAS interprète date_f comme l'avant dernière donnée soit ici 10/01/2017.
    Il doit a mon avis manquer une variable qui arrive avant dans l'informat et format.

    Bien à vous,

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    décembre 2013
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : décembre 2013
    Messages : 160
    Points : 604
    Points
    604

    Par défaut

    Bonsoir,

    Effectivement il manque une variable appelée dans l'Input car la variable Date_d tombe sur le champs 0, ce qui avec un informat ddmmyy10 ne donnera rien.

    Flo00154

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/06/2012, 11h34
  2. Import d'un fichier .xls sous SAS 9.2
    Par yemal dans le forum SAS Base
    Réponses: 2
    Dernier message: 28/03/2012, 14h29
  3. Import CSV sous SAS
    Par id301077 dans le forum SAS Base
    Réponses: 1
    Dernier message: 21/11/2008, 16h13
  4. importe des fichier csv sous eclipse
    Par nael_n dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/08/2006, 13h57
  5. importer des fichier csv sous eclipse
    Par nael_n dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/08/2006, 13h00

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