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

BIRT Discussion :

Ordre d'execution des filtres d'un dataset


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Ordre d'execution des filtres d'un dataset
    Bonsoir à tous,

    Je galère depuis quelques heures deja sur un problème.
    J'ai une table :
    madate
    voiture
    utilisateur
    temps_utilisation
    sachant que la voiture sera utilisé par plusieurs utilisateurs.
    Pour chaque voiture je récupere le top 5 des utilisateurs du jour avec cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT trunc(maTable.madate,'DD'),
        maTable.voiture,
        maTable.utilisateur,
        maTable.temps_utilisation,
        row_number() over(partition BY maTable.utilisateur ORDER BY SUM (temps_utilisation) DESC ) AS rank
    FROM netreport.px_daily_view_visits
    WHERE trunc(maTable.madate,'DD')=To_date('2009-09-24','YYY-MM-DD')
    AND rank <6
    Le soucis etant que ma date To_date('2009-09-24','YYY-MM-DD') va varier en fonction des jours, et que si je passe en filtre pour opuvoir récuperer mon parametre, Birt execute d'abord mon over partition et ensuite trie en fonction de la date.

    Quelqu'un a une idée de comment je pourrai modifier ceci ?

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Hummm
    peut etre avec un
    where trunc(maTable.madate,'DD') = '@madate_a_remplacer'
    et apres je définie mon '@madate_a_remplacer' dans le script ?
    Mais est ce que dans ce fameux script je peux appeler un parametre deja définit ?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Salut ubititi.

    Si je comprends bien tu voudrais afficher la liste des top 5 des clients par jour? (en calculant la somme du temps d'utilisation)

    Est-ce que jour est un paramètre(c-à-d l'utilisateur peut choisir n'importe quelle date) ou seulement la date du jour?

    Tu utilises quel langage ?(sql,pl\sql,...)

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Merci the_darksoldier pour ta réponse
    Ma requete etait correcte, pas de soucis de ce coté la. Le problème était que toute mes clauses where etait dans un filtre (filtre sur la date et sur mon nombre de ligne) il me selectionnait d'abord mes 5 users, et ensuite appliquait ma clause where sur le time. J'ai simplement supprimer ce filtre et utiliser un parametre avec un where time = ?
    Ca change la vie

Discussions similaires

  1. Ordre d'execution des objets
    Par H.Lionne dans le forum Informatica
    Réponses: 13
    Dernier message: 13/09/2010, 16h15
  2. Ordre de passage des filtres sur les images
    Par Alec6 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 08/12/2009, 11h25
  3. [javascript] ordre d'execution des functions ?
    Par gretch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2009, 15h51
  4. Ordre d'execution des tables
    Par zoom61 dans le forum SQL
    Réponses: 7
    Dernier message: 25/02/2009, 15h27
  5. Réponses: 3
    Dernier message: 14/12/2007, 09h04

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