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

SSAS Discussion :

Précision de la méthode DateDiff


Sujet :

SSAS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Précision de la méthode DateDiff
    Je débute en MDX et ne trouve pas la réponse à une question qui me semble relativement simple.

    Je cherche à calculer l'âge des personnes à une date donnée.
    J'ai une dimension Personne avec la date de naissance et une dimension Temps.
    Après quelques soucis de formatage de dates (mes dates d1 et d2 sont bien passées au format 'yyyy-mm-dd') pour que la méthode DateDiff accepte de faire le calcul, j'en arrive au problème suivant.
    Quand j'appelle DateDiff('yyyy', d1,d2), le résultat retourné ne prend pas en compte le mois et l'année, par exemple avec une date de naissance au 1982-11-23, quelque soit la date passée de l'année 2011, la réponse est 29 que ce soit avant ou après le 23/11.

    Mon problème vient-il du format ('yyyy') ?

    Si l'un de vous peut m'aider ou m'indiquer où trouver de la doc.

    D'avance merci.

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    DateDiff est une extension VBA. D'où:
    http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx

    Intervalles plus grands. Si Interval a la valeur DateInterval.Year, la valeur de retour est calculée exclusivement à partir des parties année de Date1 et Date2.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci pour ces infos.

    J'ai trouvé une solution en "parsant" mes dates et en comparant les mois et jours.
    finalement j'ai perdu du temps à chercher une méthode toute faite alors que le calcul est simple et repose simplement sur l'algo suivant :
    si (mois_courant >= mois_naissance et jour_courant >= jour_naissance)
    alors age = annee_courante - annee_naissance
    sinon age = annee_courante - annee_naissance - 1

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

Discussions similaires

  1. Précisions sur la class Process et la méthode waitFor()
    Par Pierre.B dans le forum Général Java
    Réponses: 13
    Dernier message: 28/08/2009, 17h51
  2. Précision méthode atof()
    Par mister2502 dans le forum Général Python
    Réponses: 5
    Dernier message: 24/03/2009, 11h06
  3. Augmenter la précision avec la méthode de corrélation de phase
    Par Programmeur_Aladdin dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 28/02/2008, 16h59
  4. précision sur la valeur de retour de la méthode GetDirectories
    Par piotrr dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/06/2007, 15h07
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 09h22

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