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

  1. #1
    Futur Membre du Club
    Problème de format de date entre l'export excel et SAS
    Bonjour,

    J'ai un fichier excel avec un tableau et notamment avec des dates sous le format personnalisé "mmm-aa". Lorsque je fais l'import avec proc import.
    La variable date se met en alphanumérique. Je veux transformer cette variable en date . J'utilise une étape data set comme ci-dessous:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data a;
    set pdonnees.L2020_CAPEX_RESS_SPLANIF;
    format d1 Date9. ;
    d1= INput(date_arrivee, DDMMYY10.);
    run;


    mais ça ne fonctionne pas.

    Est-ce que quelqu'un peut m'aider ?

    Merci d'avance.

    Cordialement,

  2. #2
    Membre éprouvé
    date formats et informats
    Bonjour,

    Avec l'instruction input, il faut choisir l'informat correspondant à la donnée en entrée, ici eurdfmy7. ou fradfmy7.. Il existe aussi un informat monyy7. mais il permet d'importer les données au format anglais uniquement.

    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
    data test;
      input datet $7.;
      cards;
    jan-20
    fev-20
    mar-20
    avr-20
    mai-20
    jun-20
    jul-20
    aou-20
    sep-20
    oct-20
    nov-20
    dec-20
    ;
    run;


    • options dflang=english

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    options dflang=english;
    data test;
      set test;
      date1 = input(datet,eurdfmy7.);
      date2 = input(datet,fradfmy7.);
      date3 = input(datet,monyy7.);
      format date1 date2 date3 date9.;
    run;


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    datet         date1        date2        date3
    JAN-20    01JAN2020    01JAN2020    01JAN2020
    FEV-20            .    01FEB2020            .
    MAR-20    01MAR2020    01MAR2020    01MAR2020
    AVR-20            .    01APR2020            .
    MAI-20            .    01MAY2020            .
    JUN-20    01JUN2020    01JUN2020    01JUN2020
    JUL-20    01JUL2020    01JUL2020    01JUL2020
    AOU-20            .    01AUG2020            .
    SEP-20    01SEP2020    01SEP2020    01SEP2020
    OCT-20    01OCT2020    01OCT2020    01OCT2020
    NOV-20    01NOV2020    01NOV2020    01NOV2020
    DEC-20    01DEC2020    01DEC2020    01DEC2020


    • options dflang=french

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    options dflang=french;
    data test;
      set test;
      date1 = input(datet,eurdfmy7.);
      date2 = input(datet,fradfmy7.);
      date3 = input(datet,monyy7.);
      format date1 date2 date3 date9.;
    run;


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    datet          date1         date2        date3
    JAN-20    01/01/2020    01/01/2020    01JAN2020
    FEV-20    01/02/2020    01/02/2020            .
    MAR-20    01/03/2020    01/03/2020    01MAR2020
    AVR-20    01/04/2020    01/04/2020            .
    MAI-20    01/05/2020    01/05/2020            .
    JUN-20    01/06/2020    01/06/2020    01JUN2020
    JUL-20    01/07/2020    01/07/2020    01JUL2020
    AOU-20    01/08/2020    01/08/2020            .
    SEP-20    01/09/2020    01/09/2020    01SEP2020
    OCT-20    01/10/2020    01/10/2020    01OCT2020
    NOV-20    01/11/2020    01/11/2020    01NOV2020
    DEC-20    01/12/2020    01/12/2020    01DEC2020


    Une page très utile pour trouver le bon informat : https://v8doc.sas.com/sashtml/lrcon/zenid-63.htm.

    Cordialement,

###raw>template_hook.ano_emploi###