J'ai des rapports basés sur le serveur (* .rdl) qui renvoient des données d'une vue SQL Server 2008. L'utilisateur souhaite pouvoir ajouter dynamiquement un filtrage, par ex.Reporting Services: ajouter dynamiquement des filtres au rapport de serveur
- me montrer que les données avec Language = Anglais,
ou - me montrer que les données pour une unité d'organisation donnée
ou des trucs comme ça. Le nombre de critères de filtrage est raisonnablement faible (quatre ou cinq).
Mais comment je fais ça? J'ai mon RDL sur le serveur, avec la requête de base (SELECT (fields) FROM MyView WHERE ......
) à l'intérieur de l'ensemble de données de rapport - comment puis-je ajouter dynamiquement le filtrage à cela? J'espérais pouvoir définir des filtres de jeu de données, mais ceux-ci semblent devoir être en place lorsque le RDL est rendu (par exemple, ils font partie du rapport RDL lui-même).
Les valeurs possibles pour chaque critère sont trop nombreux que je ne pouvais tout simplement les ajouter comme une liste et définir un IN (list of values)
type de filtre .....
Toutes les idées ?? Pensées? Est-ce que je manque quelque chose?
Solution: Je l'ai résolu en utilisant l'option de filtrage sur l'ensemble des données du rapport, que je mets à un filtre « factice » au début, qui rend compte de tout, puis mettre à jour pour filtrer le réel colonne et la valeur que l'utilisateur spécifie dans l'interface utilisateur. Fonctionne très bien jusqu'à présent!
@Ed: pour un ou deux d'entre eux, cela fonctionnerait - ils n'ont qu'une poignée de valeurs possibles. Certains ont cependant potentiellement des centaines ou des milliers de valeurs possibles, ce qui n'est pas vraiment faisable. –
@marc_s: êtes-vous préoccupé par la taille des listes de valeurs en raison de leur convivialité, de leur performance ou de quelque chose d'autre? Si la facilité d'utilisation est le problème, pourrait-il être possible de sous-catégoriser les listes en hiérarchies? –
@Ed: les deux, vraiment - une liste avec quatre ou cinq entrées est acceptable, mais si c'est des centaines ou plus, ce n'est ni vraiment gérable (pour l'utilisateur) ni vraiment bon pour la performance .... –