Partager via


Ajouter des filtres de datasets, des filtres de régions de données et des filtres de groupes (Générateur de rapports et SSRS)

Dans un rapport, un filtre est une partie d'un dataset, d'une région de données ou d'un groupe de régions de données que vous créez pour limiter les données utilisées dans le rapport. Les filtres vous aident à contrôler les données de rapport si vous ne pouvez pas modifier la requête de dataset, par exemple, si vous utilisez un dataset partagé.

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.

Pour plus d'informations, consultez Ajouter un filtre à un dataset (Générateur de rapports et SSRS) et Exemples d'équations de filtre (Générateur de rapports et SSRS).

[!REMARQUE]

Vous pouvez créer et modifier des définitions de rapport (.rdl) dans le Générateur de rapports et dans le Concepteur de rapports dans SQL Server Data Tools. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes. Pour plus d'informations, consultez Conception de rapports dans le Concepteur de rapports et le Générateur de rapports (SSRS) sur le site Web Microsoft.

Choix de la planification d'un filtre

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'un instantané de rapport paramétrable affiche des données personnalisées pour les différents utilisateurs.

Vous pouvez filtrer les données de rapport avant ou après leur récupération pour un dataset de rapport. Pour filtrer les données avant qu'elles ne soient récupérées, modifiez la requête pour chaque dataset. Lorsque vous filtrez des données dans la requête, vous les filtrez au niveau de la source de données, ce qui réduit le volume de données à récupérer et à traiter dans un rapport. Pour filtrer les données après leur récupération, créez des expressions de filtre dans le rapport. Vous pouvez définir des expressions de filtre pour un dataset, une région de données ou un groupe, y compris les groupes de détail. Vous pouvez également inclure des paramètres dans les expressions de filtre, ce qui permet de filtrer des données pour des valeurs ou des utilisateurs spécifiques, par exemple en filtrant sur une valeur qui identifie l'utilisateur qui consulte le rapport.

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.

Retour au début

Fonctionnement 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 :

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.

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 récupérez à partir 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.

Type de données de schéma de définition de rapport

Type 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 sélectionner de manière interactive une valeur de filtre.

Retour au début

Voir aussi

Concepts

Utilisation d'expressions dans les rapports (Générateur de rapport et SSRS)

Paramètres de rapport (Générateur de rapports et SSRS)