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

Débutez Discussion :

Format de date et soustraction poura avoir l'age


Sujet :

Débutez

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Format de date et soustraction poura avoir l'age
    Bonjour,
    J'ai un fichier ou je dois concaténer les variables ANAIS et MNAIS pour créer une variable caractère DATE_NAIS de la forme 01/MM/AAAA.
    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data TEST.individu;
     SET TEST.INDIVIDU;
    	DATE_NAIS='01'!!'/'!!compress(PUT(MNAIS,z2.),'')!!'/'!!compress(PUT(ANAIS,z4.),'');
    run;
    J'obtiens bien le résulat voulu.
    Maintenant je dois calculer l'age de la personne à partir d'aujourd'hui (j'obtiens la bonne réponse), mais je ne comprend pas pourquoi la variable DATE_NUM ne me retourne pas une valeur de la forme DDMMYYYY mais un nombre de jour.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    data TEST.individu;
     SET TEST.INDIVIDU;
    	DATE_NAIS='01'!!'/'!!compress(PUT(MNAIS,z2.),'')!!'/'!!compress(PUT(ANAIS,z4.),'');
    	DATE_NUM=input(DATE_NAIS,DDMMYY10.);
    	AGE=intck ( "year",input(DATE_NAIS,DDMMYY10.),today() ) ;
    run;
    Puis je avoir des explications sur le fait que ma variable DATE_NUM ne me renvoie pas la valeur souhaitée?

    Cordialement,
    Mohamed

  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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Puis je avoir des explications sur le fait que ma variable DATE_NUM ne me renvoie pas la valeur souhaitée?
    Définir le format de DATE_NUM.

    Si tu n'as pas besoin de la variable DATE_NUM pour la suite des traitements, je te propose cette solution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DATA TEST1;
    format DATE_NAIS DDMMYY10.;
     SET test;
    	DATE_NAIS=input('01'!!'/'!!compress(PUT(MNAIS,z2.),'')!!'/'!!compress(PUT(ANAIS,z4.)),DDMMYY10.);
    	AGE=intck ( "year",DATE_NAIS,today() ) ;
     
    run;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup.
    Il faut donc toujours définir le format et oui la ça a marché.

    Cdlt,
    Mohamed

  4. #4
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    tu pourrais utiliser la jolie fonction mdy (pour month day year)
    le code doit ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_NAIS= mdy ( MNAIS , 01 , ANAIS );

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

Discussions similaires

  1. [DOM] Comment avoir ce format de date en xml "2008-01-15T15:23:00Z"
    Par pracede2005 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 27/02/2008, 09h17
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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