Filtrage des données de rapport dans le rapport
Les filtres vous aident à contrôler l'affichage et le traitement des données dans un rapport. Vous pouvez spécifier des filtres pour un dataset, une région de données, un groupe ou toute association de ces éléments.
Dans la mesure du possible, filtrez les données au niveau de la source avant de les extraire dans un rapport, en modifiant la requête afin d'inclure des paramètres de requête restreignant la quantité de données extraites. Pour plus d'informations, consultez Filtrage des données de rapport au niveau de la source.
Spécifiez des filtres pour les éléments de rapport lorsque vous ne pouvez pas filtrer les données à la source. Par exemple, utilisez des filtres de rapport lorsque la source de données ne prend pas en charge les paramètres de requête, lorsque que vous devez exécuter des procédures stockées et ne pouvez pas modifier la requête ou encore lorsqu'une capture instantanée de rapport paramétrable affiche des données personnalisées pour les différents utilisateurs.
Choix de l'emplacement de définition d'un filtre
Déterminez l'emplacement où vous souhaitez définir un filtre en fonction de l'effet que vous souhaitez obtenir dans votre rapport. Au moment de l'exécution, le processeur de rapports applique les filtres dans l'ordre suivant : sur le dataset, puis sur la région de données, puis sur les groupes dans l'ordre de haut de bas de chaque hiérarchie de groupe. Dans une table, une matrice ou une liste, les filtres des groupes de lignes, des groupes de colonnes et des groupes adjacents sont appliqués indépendamment. Dans un graphique, les filtres des groupes de catégories et des groupes de séries sont appliqués indépendamment. Lorsque le processeur de rapports applique le filtre, toutes les équations de filtre sont appliquées dans l'ordre dans lequel elles sont définies sur la page Filtre de la boîte de dialogue Propriétés pour chaque élément de rapport, ce qui revient à les associer à l'aide d'opérations booléennes de type AND.
La liste suivante compare l'effet de la définition de filtres sur les différents éléments de rapport :
Sur le dataset Définissez un filtre sur le dataset lorsque vous souhaitez filtrer une ou plusieurs régions de données liées à un dataset unique. Par exemple, définissez le filtre sur le dataset lié à à la fois à une table qui affiche des chiffres des ventes et à un graphique qui affiche les mêmes données.
Sur la région de données Définissez un filtre sur la région de données lorsque vous souhaitez qu'une ou plusieurs régions de données liées à un dataset unique offrent une vue différente du dataset. Par exemple, définissez le filtre sur une région des données de table pour afficher les dix magasins totalisant le plus de ventes et sur une autre région des données de table pour afficher les dix magasins totalisant le moins de ventes, le tout dans le même rapport.
Sur les groupes de lignes ou de colonnes d'une région de données de tableau matriciel Définissez un filtre sur un groupe lorsque vous souhaitez inclure ou exclure certaines valeurs dans une expression de groupe afin de contrôler les valeurs de groupe qui apparaissent dans la table, la matrice ou la liste.
Sur le groupe de détails d'une région de données de tableau matriciel Définissez un filtre sur le groupe de détails lorsque vous disposez de plusieurs groupes de détails pour une région de données et souhaitez que chaque groupe de détails affiche un ensemble de données différent issu du dataset.
Sur les groupes de séries ou de catégories d'une région de données de graphique Définissez un filtre sur un groupe de séries ou de catégories lorsque vous souhaitez inclure ou exclure certaines valeurs dans une expression de groupe afin de contrôler les valeurs qui s'affichent dans le graphique.
Création d'une équation de filtre
Au moment de l'exécution, le processeur de rapports convertit la valeur dans le type de données spécifié, puis utilise l'opérateur spécifié pour comparer l'expression et la valeur. La liste suivante décrit chaque élément de l'équation de filtre :
Expression Définit l'élément en fonction desquels vous filtrez les données. En général, il s'agit d'un champ de dataset.
Type de données Spécifie le type de données à utiliser lorsque l'équation de filtre est évaluée au moment de l'exécution par le processeur de rapports. Le type de données sélectionné doit être pris en charge par le schéma de définition de rapport.
Opérateur Définit la manière dont les deux éléments de l'équation de filtre doivent être comparés.
Valeur Définit l'expression à utiliser dans la comparaison.
Les sections suivantes décrivent chaque élément de l'équation de filtre : Pour des exemples d'équations de filtre, consultez Exemples d'équations de filtre (Reporting Services).
Expression
Lorsque l'équation de filtre est évaluée par le processeur de rapports au moment de l'exécution, les types de données pour l'expression et la valeur doivent être identiques. Le type de données du champ sélectionné pour Expression est déterminé par l'extension de traitement des données ou le fournisseur de données utilisé(e) pour extraire les données de la source de données. Le type de données de l'expression entrée pour Value est déterminé par les valeurs par défaut de Reporting Services. Les choix proposés pour le type de données sont déterminés par les types de données pris en charge pour une définition de rapport. Les valeurs de la base de données peuvent être converties par le fournisseur de données en un type CLR. Pour plus d'informations, consultez Fonctionnement des datasets de rapport.
Type de données
Pour que le processeur de rapports puisse comparer deux valeurs, les types de données doivent être identiques. Le tableau suivant répertorie le mappage entre les types de données CLR et les types de données de définition de rapport. Les données que vous extrayez d'une source de données peuvent être converties en un type de données différent lorsqu'il s'agit de données de rapport. Pour plus d'informations, consultez Fonctionnement des datasets de rapport.
Type de données de schéma de définition de rapport |
Type(s) CLR |
---|---|
Boolean |
Boolean |
DateTime |
DateTime, DateTimeOffset |
Integer |
Int16, Int32, UInt16, Byte, SByte |
Float |
Single, Double, Decimal |
Text |
String, Char, GUID, Timespan |
Dans les cas où vous devez indiquer un type de données, vous pouvez spécifier votre propre conversion dans la partie Value de l'expression.
Opérateur
Le tableau suivant répertorie les opérateurs que vous pouvez utiliser dans une équation de filtre et ceux que le processeur de rapports utilise pour évaluer l'équation de filtre.
Opérateur |
Action |
---|---|
Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual |
Compare l'expression à une valeur. |
TopN, BottomN |
Compare l'expression à une valeur Integer. |
TopPercent, BottomPercent |
Compare l'expression à une valeur Integer ou Float. |
Between |
Teste si l'expression est comprise entre deux valeurs (y compris ces valeurs). |
In |
Teste si l'expression est contenue dans un jeu de valeurs. |
Valeur
L'expression Value spécifie la dernière partie de l'équation de filtre. Le processeur de rapports convertit l'expression évaluée dans le type de données que vous avez spécifié, puis évalue l'équation de filtre entière pour déterminer si les données spécifiées dans le champ Expression sont filtrées ou non.
Pour effectuer une conversion dans un type de données autre que CLR standard, vous devez modifier l'expression afin de procéder à une conversion explicite dans un type de données spécifique. Vous pouvez utiliser les fonctions de conversion répertoriées dans la boîte de dialogue Expression sous Fonctions communes, Conversion. Par exemple, pour un champ ListPrice qui représente les données stockées avec un type de données monétaire dans une source de données SQL Server, l'extension de traitement des données retourne la valeur du champ en utilisant le type de données System..::..Decimal. Pour définir un filtre afin d'utiliser uniquement des valeurs supérieures à 50 000,00 $ dans la devise du rapport, convertissez la valeur en Décimal à l'aide de l'expression =CDec(50000.00).
Cette valeur peut également inclure une référence de paramètre permettant à un utilisateur de déterminer une valeur de filtre de manière interactive. Pour plus d'informations, consultez Exemples d'équations de filtre (Reporting Services).
Voir aussi