SSRS - Comment créer plusieurs chevauchements de critères optionnels
-
mardi 30 août 2011 13:37
Bonjour,
J'utilise SSRS 2008 R2 et je cherche comment faire pour créer plusieurs niveaux de critères sql ou de filtres pour un rapport aux quels je pourrais activer/désactiver au besoin. Ainsi, pour un ensemble de données, je pourrais demander la liste filtrée par nom='Royer'. Je pourrais aussi filter par ville (au besoin).
Il est certain qu'il est plus efficace de filtrer directement par sql pour minimiser le flux de données.
Si quelqu'un connait une solution, je vous serais grée de m'aider.
Merci d'avance à tous!
- Déplacé Ciprian Duduiala mercredi 31 août 2011 06:30 (Origine :SQL Server pour les développeurs)
Toutes les réponses
-
mardi 30 août 2011 14:27Modérateur
Bonjour
Pour pouvoir faire celà vous pouvez soit utiliser les paramètres directement dans vos dataset, soit utiliser les filtres.
Je m'explique, il est possible de créer un DataSet qui sert de liste de données pour les valeurs disponible pour un paramètre donné.
Cette requête dans le dataset peut prendre un paramètre elle aussi :SELECT DimCurrency.CurrencyKey ,DimCurrency.CurrencyAlternateKey ,DimCurrency.CurrencyName FROM DimCurrency WHERE DimCurrency.CurrencyName LIKE @p
Ici @p est un paramètre de la requête SQL, dans les propriétés du Dataset et l'onglet "Paramètres", Reporting Services vous offrira la possibilité de mapper ce paramètre de requête @p avec n'importe quel paramètre du rapport.Il y a une seconde solution, toujours dans les propriétés du DataSet, mais cette fois avec une requête plus simple :
SELECT DimCurrency.CurrencyKey ,DimCurrency.CurrencyAlternateKey ,DimCurrency.CurrencyName FROM DimCurrency
Allez sur l'onglet "Filtres" et acliquez sur Ajouter. Vous pourrez alors indiquer une condition entre une des colonnes du DataSet et une formule, cliquez sur fx et vous aurez accès à la liste des paramètres du rapport.La principale différence entre les 2 méthodes, c'est que la première executera la requête contenu dans le DataSet à chauqe changement du paramètre source, la seconde chargera les données une fois pour toute et le filtre se fera du côté de Reporting Services. Le choix se fait en fonction du volume de données et des aller/retour souhaités ou non entre RS et le serveur de données source.
Bonne journée
Christian Robert - MVP SQL Server - Microsoft Certified Master - SQL Server 2008
Blog : http://www.sqlnco.ch
Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr- Proposé comme réponse Christian Robert - MCT - MCMMicrosoft Contingent Staff, Moderator lundi 5 septembre 2011 20:47
-
mardi 30 août 2011 21:58Modérateur
Accessoirement si un modérateur peut déplacer le topic dans "SQL Server - Décisionnel (modules BI de SQL Server)", çà sera plus çà place.
Merci
Christian Robert - MVP SQL Server - Microsoft Certified Master - SQL Server 2008
Blog : http://www.sqlnco.ch
Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr

