|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Bonjour,
Je vais commencer par vous expliquer ma situation. Je suis sur un rapport simple avec un paramètre d'état. Ce paramètre me permet de choisir un pays. Mon rapport affiche une liste d'acteur correspondant à ce pays. Pour cela j'ajoute un filtre au niveau du DataSet pour que le pays de mon acteur corresponde au pays sélectionné. Donc quelque chose qui ressemble à ça : Acteur.pays_id Egal à params["Choix Pays"].value. Lorsqu'on crée un nouveau paramètre on peut sélectionner s'il est requis ou non. Au moment de l'exécution du rapport, je voudrais que lorsque l'utilisateur coche "no value" ma liste complète des acteurs s'affiche. Je m'attendais à ce que ce soit le comportement par défaut. Pourtant mon tableau n'affiche pas la liste de tous les pays. En fait mon DataSet récupère du coup les acteurs dont le pays est la chaine de caractère vide. Je vois plusieurs solutions à mon problème mais aucune de simple. 1- Je peux ajouter une valeur "Aucun" dans ma liste que j'interprèterai dans mon filtre avec un "%" pour que tous les pays passent par exemple. 2- J'ajoute le filtre dans le beforeOpen. Si le paramètre est vide je le mets pas. 3- Je modifie à la volée ma query avec un "WHERE ..." en fonction de mes paramètres. Mais je me demandais s'il n'y avait pas un moyen plus simple et plus propre de faire ce que je souhaite ? Bonne journée, -- Marie |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : avril 2008 Messages : 1 053 ![]() |
Si je comprends bien , vous voulez filtrer la liste d'un 2e param dynamique en fonction du choix utilisateur dans un 1er param?
Si oui , ce choix est-il unique ou multi-valeurs?
__________________
BIRT / Actuate Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/ Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
J'ai un seul paramètre avec une liste de pays. J'essaie de simuler la valeur "Tous les pays" le plus simplement possible. Dans le cas où l'utilisateur ne met pas de valeur (par exemple en cochant 'no value') j'aurai souhaité que mon rapport affiche dans un tableau une liste de personne tout pays confondu.
En fait j'ai déjà eu plusieurs fois ce problème. L'utilisateur peut sélectionner un pays mais s'il souhaite les sélectionner tous comment il fait ? En gardant une liste déroulante sans multi-sélection. Donc je ne vois pas de manière simple pour le faire sans scripting. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : avril 2008 Messages : 1 053 ![]() |
Dans la version Actuate vous avez le Paramètre Dynamique. Décocher Est requis et "No Condition" ( tout ) se rajoute automatiquement dans la liste.
![]() En open source Gratuit , il y a une petite modif. Dans le SQL : remplacer Champ = ? , par Champ LIKE ? Dans le paramètre rajouter une valeur ( avec un UNION ALL par exemple ) du genre Tout (champ affichage ) et % ( valeur ).
__________________
BIRT / Actuate Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/ Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Le paramètre filtre dynamique ?
J'avais déjà vu que ça existait mais pas compris comment ça marchait En général quand on crée un paramètre on s'en sert ensuite dans des conditions de filtre ou bien dans les DataSet avec les '?'. Mais dans la démo que j'ai vu la personne crée juste le paramètre filtre dynamique et par magie ça filtre les résultats qui s'affiche. Y'a une chose que je ne comprends pas : le champ Colonne. C'est grâce à lui que le filtre va se faire mais je ne comprends pas à quoi il est censé correspondre. |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Je réponds à moi même : dans le dataset section Filtre on peut ajouter un filtre statique ou dynamique. C'est comme ça qu'on lie le paramètre dynamique. Je viens de le voir dans un rapport exemple que j'ai.
Cependant dans mon rapport je ne peux pas choisir entre statique et dynamique mais il doit surement y avoir moyen de paramétrer ça quelque part. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Tada!
On ne peut pas mettre de filtre dynamique sur un DataSet qui est le résultat d'une jointure. Donc soit il faut mettre un filtre sur chacun des DataSet (à tester) soit je retourne à la case départ. Quelqu'un sait pourquoi ce n'est pas possible ? Je ne vois pas la différence entre filtrer un DataSet simple et un DataSet joint. |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Marie Ingénieur développement logiciels Inscription : septembre 2008 Messages : 48 ![]() |
Dans le cas des DataSet joint il faut mettre le filtre au niveau du tableau.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com