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

Webi Discussion :

Max d'une date [Vxi3]


Sujet :

Webi

  1. #1
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut Max d'une date
    Bonjour à tous,

    J'ai un problème pour récupérer le Max d'une date.

    Voilà ce que j'ai :
    Nom;Date;Statut
    AAAA;20/05/11;OK
    AAAA;19/05/11;OK
    BBBB;20/05/11;KO
    BBBB;19/05/11;OK

    Je cherche à récupérer le max de la date ou mes 2 Noms ont pour statut OK. (ici : 19/05/11)
    J'ai cherché avec des PourChaque, des Max ... un peu dans tous les sens sans succès

    Merci d'avance de votre aide !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    Petite question (au cas où):
    tes dates sont bien au format DATE ? (sinon faudra faire une manip avant, ou ça ne marchera jamais)

  3. #3
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut Elsa,
    Oui, elles sont bien au format date.

  4. #4
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Citation Envoyé par NorocBzh Voir le message
    Bonjour à tous,

    J'ai un problème pour récupérer le Max d'une date.

    Voilà ce que j'ai :
    Nom;Date;Statut
    AAAA;20/05/11;OK
    AAAA;19/05/11;OK
    BBBB;20/05/11;KO
    BBBB;19/05/11;OK

    Je cherche à récupérer le max de la date ou mes 2 Noms ont pour statut OK. (ici : 19/05/11)
    J'ai cherché avec des PourChaque, des Max ... un peu dans tous les sens sans succès

    Merci d'avance de votre aide !
    Max([Date] WHERE ([STATUT] = "OK"))

    Je pense que ton pb sera résolu...

  5. #5
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut Djam,

    J'ai déjà essayé cette méthode, mais cela me renvoie la date du "20/05/2011".
    En effet, BO trouve bien le max de la date ou le statut est à OK, mais pour un seul Nom, et pas le max de la date ou le statut est OK pour tous mes Noms

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    Et:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = Max([date] Where ([statut]="OK") PourChaque ([nom]))
    ?

  7. #7
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut Elsa,

    ça me renvoie une ValeurMulti du coup =/ (C'est bizarre puisqu'on prend un max )

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    T'es sûr que t'as mis les parenthèses au bon endroit ?
    Je te demande parce que j'ai testé, et ça ne me renvoie ValeurMulti que si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Max([date] WHERE (([statut]="OK") PourChaque ([nom])))
    Tu écris bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    max ( A Where (B) PourChaque (C) )
    ?

  9. #9
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Je crois bien que oui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Max(EnDate([Date fin de traitement];"dd/MM/yyyy") Where ([Type Traitement]="TABLE DE FAIT" AND [Statut]="OK") PourChaque([Nom du traitement]))
    (Je passe par des "EnDate" parce que ma source de données vient d'un fichier Excel)

  10. #10
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 142
    Points : 1 458
    Points
    1 458
    Par défaut
    Bonjour,

    Essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Max([Date] dans ([Date];[Nom]) where ([Statut]="OK")) dans ([Nom])
    Bon courage
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    Oui tu as raison.
    Je suis en train de réfléchir à une manière (peut-être un peu barbare) de feinter BO, mais j'ai besoin de quelques précisions "métier".

    Veux-tu savoir si cette date n'existe pas ?
    Si un de tes traitements n'a jamais été OK, veux-tu que ça te renvoie "Null", ou la dernière date où tous les autres traitements ont été OK ?

    Parce que je me dis qu'une rupture sur le statut te permettrait de prendre le max de tes dates tout basiquement ensuite, non ?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par NorocBzh Voir le message
    Bonjour à tous,

    J'ai un problème pour récupérer le Max d'une date.

    Voilà ce que j'ai :
    Nom;Date;Statut
    AAAA;20/05/11;OK
    AAAA;19/05/11;OK
    BBBB;20/05/11;KO
    BBBB;19/05/11;OK

    Je cherche à récupérer le max de la date ou mes 2 Noms ont pour statut OK. (ici : 19/05/11)
    J'ai cherché avec des PourChaque, des Max ... un peu dans tous les sens sans succès

    Merci d'avance de votre aide !
    Bonjour,
    C'est peut-être idiot ce que je vais dire, mais si tu cherches les Max des dates où le Statut est OK, c'est qu'en fait tu recherches uniquement le statut OK.
    Donc, je me positionne sur la colonne Statut et je réalise, par exemple, un filtre express = OK

    AAAA;20/05/11;OK
    AAAA;19/05/11;OK
    BBBB;19/05/11;OK

    Ne pas tenir compte de ce message si je passe à côté de la demande
    Cordialement,
    MeuchAlf

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    Non, je crois que ce n'est pas ce qu'il veut obtenir, justement.
    En faisant ça, le max est le 20/05, date à laquelle AAAA est OK. Mais pas BBBB !!!

    De ma compréhension, je dirais que justement, on cherche la date à laquelle les 2 sont OK.

    Par contre je ne sais pas si une rupture équivaut à un filtre à cet égard...

  14. #14
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Max([Date] WHERE ([STATUT] = "OK") Dans ([Nom])
    alors

  15. #15
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Merci à tous pour votre aide et désolé du temps de réponse...

    Citation Envoyé par Julien59 Voir le message
    Bonjour,
    Essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Max([Date] dans ([Date];[Nom]) where ([Statut]="OK")) dans ([Nom])
    Je n'arrive pas à valider la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =Max(
    EnDate([Date fin de traitement];"dd/MM/yyyy") Dans (EnDate([Date fin de traitement];"dd/MM/yyyy");[Nom du traitement])
    Where ( [Statut]="OK" AND [Type Traitement]="TABLE DE FAIT" )) Dans ( [Nom du traitement] )
    "Identificateur d'objet manquant dans toDate à la position 58. (WIS 10069)
    --> Erreur sur le EnDate orange.
    Si j'enlève cet EnDate, la formule est correcte mais me renvoie une #ValeurMulti.

    Citation Envoyé par Elsa1
    De ma compréhension, je dirais que justement, on cherche la date à laquelle les 2 sont OK.
    C'est exactement ça !

    Citation Envoyé par Djam21
    Max([Date] WHERE ([STATUT] = "OK") Dans ([Nom])
    alors
    Cette formule me retourne bien la dernière date pour chaque traitement ou le statut est OK. (20/05/11 pour AAAA et 19/05/11 pour BBBB).
    Et le Max me ramène donc la date du 20/05/11.

    Je vais m'arranger en prenant le Min de ta formule Djam, cela me ramènera le 19/05/11.

  16. #16
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Citation Envoyé par NorocBzh Voir le message
    Merci à tous pour votre aide et désolé du temps de réponse...


    Je n'arrive pas à valider la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =Max(
    EnDate([Date fin de traitement];"dd/MM/yyyy") Dans (EnDate([Date fin de traitement];"dd/MM/yyyy");[Nom du traitement])
    Where ( [Statut]="OK" AND [Type Traitement]="TABLE DE FAIT" )) Dans ( [Nom du traitement] )
    "Identificateur d'objet manquant dans toDate à la position 58. (WIS 10069)
    --> Erreur sur le EnDate orange.
    Si j'enlève cet EnDate, la formule est correcte mais me renvoie une #ValeurMulti.


    C'est exactement ça !


    Cette formule me retourne bien la dernière date pour chaque traitement ou le statut est OK. (20/05/11 pour AAAA et 19/05/11 pour BBBB).
    Et le Max me ramène donc la date du 20/05/11.

    Je vais m'arranger en prenant le Min de ta formule Djam, cela me ramènera le 19/05/11.
    Je pense que tu dois garder le MAX...

    Dans le sens inverse çà n'ira plus...
    AAAA 20/05/11 OK
    BBBB 19/05/11 KO

    Il te ramènera 19/05/11 ==> erreur...

    Il faut travailler sur la formule...

    Si Max([Date] WHERE ([STATUT] = "OK") Dans ([Nom]) te ramène 20/05/11 c'est qu'elle ne fait pas ce qu'on veut...

    Tente :
    Max([Date] WHERE ([STATUT] = "OK")) Dans ([Nom])
    plutôt que
    Max([Date] WHERE ([STATUT] = "OK") Dans ([Nom]))

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 20
    Points
    20
    Par défaut
    Je me demande si c'est une bonne idée de faire un "Endate" dans un "Dans"...
    Ca donne quoi si tu enlèves ce deuxième Endate ?

    Ce que je ne comprends pas c'est sous quel format tu récupères tes dates.
    Excel ou pas, elles sont toutes de la forme dd/MM/yyyy ?

  18. #18
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    @Djam,
    En fait, je fais le Min(Max(......)). Ainsi, j'ai bien :
    BBBB;19/05/11;OK
    AAAA;19/05/11;OK

    @Elsa,
    Oui effectivement, le Endate dans un "Dans" me retourne une erreur.
    En faite, voilà d'où viennent mes dates :
    - Objet date dans un univers
    - Objet utilisé dans un rapport
    - Rapport exporté au format Excel
    - Ce fichier Excel est fournisseur de données de mon rapport en question.

    Dans tous les cas, je n'ai plus le temps de faire d'autres modifications ... Et cela convient fonctionnellement au client.

    Merci beaucoup de votre aide !

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

Discussions similaires

  1. max pour une date
    Par Papy214 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/08/2010, 09h40
  2. Select avec max sur une date
    Par olibara dans le forum Requêtes
    Réponses: 10
    Dernier message: 06/07/2010, 07h18
  3. Max a une date precise mais doit retourner aussi si dernier
    Par cloche44 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/01/2007, 09h51
  4. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59
  5. [oracle 9i] Max d'une date
    Par Requin15 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/06/2006, 15h09

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