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

Deski Discussion :

(BO v5.1.3) Calcul du nombre de jours entre 2 dates [V5]


Sujet :

Deski

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut (BO v5.1.3) Calcul du nombre de jours entre 2 dates
    Bonjour,
    Je souhaite calculer le nombre de jours entre les dates 1 & 2 ci dessous.

    Réception Cahier des charges : 15/06/08 (1)
    Lancement des travaux : 01/09/08 (2)
    Réception .... : 15/10/08 (3)

    Nota : les libéllés sont issus de l'objet <tache> et les dates de l'objet <Date réalisée>

    j'ai tenté la formule suivante (mais celle-ci me remonte 0 ???) :

    =JoursEntre(<Date Réalisée>Où (<Tache contrat>="Réception Cahier des charges") ,<Date Réalisée>Où (<Tache contrat>="Lancement des travaux"))

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Si j'ai bien compris, chaque date apparait sur une ligne différente dans ton microcube. Ce n'est pas le plus simple pour faire la comparaison de dates.

    Je suppose que tu as un autre objet qui reprend le numéro de commande, le numéro de projet ou autre chose qui se réfère à tes 3 objets. Bref un truc qui sert à dire que les dates se réfèrent à un travail et qui permettrait de faire une jointure unique.

    Si c'est le cas, tu fais trois requêtes séparées (une pour chaque date), tu synchronises dans le microcube (si elles ne se sont pas synchronisées automatiquement) les 3 requêtes avec l'ensemble des dimensions permettant d'identifier cette jointure unique. Tes 3 dates devraient alors être sur la même ligne.

    A partir de là, la fonction JoursEntre devrait marcher.

    Cordialement,

  3. #3
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Citation Envoyé par dlra_ Voir le message
    Bonjour,

    Si j'ai bien compris, chaque date apparait sur une ligne différente dans ton microcube. Ce n'est pas le plus simple pour faire la comparaison de dates.

    Je suppose que tu as un autre objet qui reprend le numéro de commande, le numéro de projet ou autre chose qui se réfère à tes 3 objets. Bref un truc qui sert à dire que les dates se réfèrent à un travail et qui permettrait de faire une jointure unique.
    Jusque là je me poserais la même question que dlra
    En revanche, pour la suite je ne ferais pas trois requêtes...
    Simplement je ferais un tableau croisé avec

    • La variable commune en ligne (ID Projet)
    • La tâche en colonne
    • La date en valeur

    Ce qui donnerait :
    Projet - Réception Cahier des charges - Lancement des travaux - Réception
    Projet x -------15/06/08 -------------------01/09/08 -----------15/10/08
    Bien entendu on peut mettre un filtre sur la variable Tâche si on ne veut pas voir la date de réception

    Il suffira ensuite de calculer dans une colonne à droite le Nombre de jours entre Réception Cahier des charges et Lancement des travaux


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JoursEntre(Date Réalisée Où (Tâche = "Réception Cahier des charges"),
    DateRéalisée Où (Tâche = "Lancement des travaux") )
    Rappel : Pour ajouter une colonne à droite d'un tableau croisé, on ne fait pas insérer une colonne en ayant sélectionné la colonne de valeurs (ce qui aurait pour effet d'intercaler une colonne entre chacune d'elles).
    On sélectionne une des valeurs (ici dates) et on clique sur l'outil Somme (lettre Sigma). La somme des dates n'a ici bien entendu aucun sens mais on obtient ainsi une colonne à droite dans laquelle on peut remplacer la formule de somme par celle décrite ci-dessus.
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut BINGO
    Bonjour,

    Je tiens à vous remercier, car mon problème est enfin résolu .
    J'ai tenté les 2 solutions et la combinaison de requêtes est la solution qui m'a permis de m'en sortir ( je ne suis vraiment pas doué avec les tableaux croisés....).

    Résumé de la solution :

    1- j'ai construit et synchronisé 8 Requêtes (mon besoin concerné 8 dates différentes....)

    2- Je me suis aperçu que pour pouvoir travailler mon état (insertion de colonnes et formule "jours entre", ajouts de zone de texte, .....) il fallait que toutes mes variables soit liées ???? (je ne comprend pas vraiment pourquoi, mais bon ça marche!!).

    3- Une fois l'êtat "modélisé", j'ai délié mes deux objets "DATE" et "TACHE"


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Content que tu ai résolu ton problème.

    Lancer 8 requêtes pour réaliser un état pourrait poser des problèmes de performance si le système est chargé et que tu rapatries beaucoup de données.

    Si le temps d'affichage de l'état te pose problème, je suggère que tu regardes de plus près la solution de Bruno2r qui est réellement plus performante que la mienne (une seule requête au lieu de 8) mais qui ne fonctionne que si tes dates sont des indicateurs.

    Tu peux passer de dimension à indicateur en créant une variable sur la dimension avec une fonction d'agrégation min ou max au choix.

    Cordialement,

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

Discussions similaires

  1. [Dates] Calcul du nombre de jours entre 2 dates
    Par FredLam dans le forum Langage
    Réponses: 8
    Dernier message: 30/11/2011, 19h41
  2. Calcul du nombre de jours entre 2 date
    Par djso3 dans le forum Général VBA
    Réponses: 3
    Dernier message: 06/11/2009, 09h29
  3. Calcul du nombre de jours entre plusieurs dates
    Par pcl73 dans le forum Access
    Réponses: 6
    Dernier message: 06/03/2007, 21h16
  4. [Dates] calcul du nombre de jours entre 2 dates
    Par lilie62 dans le forum Langage
    Réponses: 5
    Dernier message: 22/11/2006, 15h55
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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