Utilisation de paramètres pour contrôler les données des rapports

Nouveau : 17 juillet 2006

Vous pouvez utiliser des paramètres pour déterminer les données qui sont extraites de la source de données lors du traitement d'un rapport, et vous pouvez utiliser des paramètres pour filtrer les données une fois qu'elles ont été extraites. En règle générale, il est recommandé de n'extraire de la source de données que les données qui sont indispensables au rapport. Cependant, lorsque vous utilisez des procédures stockées pour extraire les données, vous ne pouvez pas déterminer les éléments qui sont extraits de la requête ; par conséquent, vous devez filtrer les données du rapport au terme de l'extraction.

Filtrage des données de la source de données

Les paramètres de requête vous permettent de spécifier précisément les données que vous voulez extraire de la source de données. Grâce à ces paramètres, vous pouvez filtrer les données sur le serveur, avant qu'elles ne soient envoyées au rapport.

Lorsque vous définissez un dataset avec une requête qui inclut des variables, le composant Concepteur de requêtes de Reporting Services crée un paramètre de requête pour chaque variable. Un paramètre de rapport correspondant est créé pour chaque paramètre de requête afin que les utilisateurs ou les auteurs de rapport puissent sélectionner les valeurs des paramètres de rapport puis les transmettre dans la requête à la source de données.

Paramètres de requête

Les paramètres de requête sont définis lors de la définition de la requête d'un dataset. Étant donné que chaque dataset de rapport définit une seule requête, les paramètres de requête sont définis en tant que propriétés dans le dataset.

Lorsque vous définissez un dataset, vous spécifiez un type de source de données spécifique ; par exemple, Microsoft SQL Server. Le Concepteur de rapports ouvre un concepteur de requêtes conçu pour fonctionner avec ce type de source de données ou le concepteur de requêtes générique qui peut fonctionner avec n'importe quel type de données. Lorsque vous définissez la requête pour cette source de données, le concepteur de requêtes identifie des variables dans le texte de la commande de la requête, puis il crée un paramètre de requête pour chaque variable. Pour plus d'informations sur la syntaxe de la requête attendue par la source de données, consultez Utilisation de paramètres de requête avec des sources de données spécifiques.

Pour une source de données SQL Server, les requêtes incluent généralement des variables dans la clause WHERE d'une instruction Transact-SQL pour limiter l'étendue des données retournées lors de l'exécution d'une requête. De même, une requête d'une source de données Analysis Services inclut en principe des variables MDX utilisées dans une clause FILTER. Les requêtes peuvent également inclure des variables transmises en tant qu'entrées aux procédures stockées ou aux fonctions définies par l'utilisateur.

Chaque fois que vous modifiez la requête d'un dataset, la requête est retraitée. Si vous modifiez une requête en supprimant ou en renommant une variable, les paramètres de la requête reflèteront ces modifications. Seules les variables qui existent dans le texte de la commande de la requête constitueront des paramètres de requête dans la définition de requête du dataset.

La valeur par défaut de chaque paramètre de requête est définie à une expression qui correspond au paramètre de rapport associé. Cette liaison de paramètre est définie sous l'onglet Paramètres des propriétés Dataset. Par exemple, pour une source de données SQL Server, si le paramètre de requête est @MyParameter, le paramètre de rapport est MyParameter et la valeur de @MyParameter est définie à l'expression =Parameters!MyParameter.Value. Pour plus d'informations, consultez Dataset (onglet Paramètres, Générateur de rapports). Vous pouvez modifier manuellement les paramètres de requête et définir leurs valeurs par défaut. Pour plus d'informations, consultez Procédure : associer un paramètre de requête à un paramètre de rapport (Générateur de rapports).

Aa337287.note(fr-fr,SQL.90).gifRemarque :
Si vous supprimez ou modifiez le nom d'un paramètre de requête, le paramètre de rapport correspondant n'est pas supprimé ou modifié automatiquement.

Paramètres de rapport

Dans le Concepteur de rapports, les paramètres de rapport sont automatiquement créés lorsque vous définissez une requête de dataset qui inclut des variables. Dans le Générateur de rapports, les paramètres de rapport sont automatiquement créés lorsque vous définissez une invite sur une clause de filtre. Vous pouvez également créer manuellement des paramètres de rapport qui ne sont pas liés à des paramètres de requête dans la boîte de dialogue Paramètres du rapport.

  • Le type de données du paramètre de rapport et d'autres propriétés de paramètre de rapport ont une incidence sur la présentation du paramètre dans la barre d'outils Rapports. En fonction du type de données du paramètre, vous pouvez définir les propriétés des paramètres de rapport à l'aide de cases d'option, de zones de texte, de listes déroulantes, de contrôles calendrier ou de plusieurs cases à cocher.
  • Un paramètre de rapport peut comporter une seule valeur ou plusieurs valeurs. Les paramètres à valeurs multiples permettent à un utilisateur de sélectionner plusieurs valeurs pour le paramètre.
  • Un paramètre de rapport peut être dépendant d'un autre paramètre de rapport. L'ordre des paramètres de rapport est important. Un paramètre situé plus avant dans la liste des paramètres peut être dépendant d'un paramètre qui le précède dans la liste. Ceci vous permet de définir un jeu de paramètres appelé « paramètres en cascade », c'est-à-dire que la liste des valeurs disponibles pour un paramètre dépend de la valeur choisie dans un autre paramètre.
  • Un paramètre de rapport peut être utilisé dans une expression. Les expressions qui incluent des paramètres peuvent être utilisées partout où il est possible d'utiliser une expression. Lors de l'exécution du rapport, la valeur de chaque paramètre est remplacée dans l'expression. De cette manière, lorsque l'utilisateur sélectionne des paramètres, il peut contrôler de manière conditionnelle de nombreux aspects de l'apparence et du contenu d'un rapport ; par exemple, le masquage de lignes et de colonnes, le tri et le filtrage de données, ainsi que la gestion de données Null.

Les paramètres de rapport font partie d'une définition de rapport lorsque vous créez un rapport qui peut être géré indépendamment une fois qu'il a été publié. Dans le Concepteur de rapports, en mode Données ou Mise en page, vous pouvez modifier les paramètres définis pour le rapport. Pour plus d'informations, consultez Procédure : ajouter, modifier ou supprimer un paramètre de rapport (Concepteur de rapports). Une fois la définition de rapport publiée, vous pouvez modifier les propriétés des paramètres à l'aide du Gestionnaire de rapports. Pour plus d'informations, consultez Définition des propriétés de paramètres d'un rapport publié.

Modification rapide des valeurs valides d'un paramètre

Lorsque vous définissez des valeurs disponibles qui changent très rapidement, ces valeurs peuvent être obsolètes avant même que le rapport ne soit exécuté. Ainsi, il peut arriver que l'utilisateur sélectionne dans la liste une valeur qui n'est plus valide au moment où il la soumet et exécute le rapport. Pour éviter pareille situation, écrivez des requêtes retournant des datasets pour des listes de valeurs valides qui ne changeront généralement pas avant que l'utilisateur ait eu le temps de sélectionner une valeur et d'exécuter le rapport.

De même, il faut éviter les valeurs non interrogées qui changent rapidement. Par exemple, si vous indiquez la date actuelle comme l'une des valeurs disponibles, écrivez une expression utilisant la propriété DateTime.Today et non la propriété DateTime.Now. Ceci permet d'éliminer la partie heure de la valeur, qui change de seconde en seconde.

Filtrage des données de rapport

Vous pouvez filtrer les données une fois qu'elles ont été récupérées de la source de données en définissant une expression de filtre sur un dataset qui inclut une référence de paramètre. De cette manière, si un lecteur de rapport sélectionne des valeurs pour un paramètre, lorsque le rapport est traité, seules les données transitant par le filtre sont affichées dans le rapport.

Voir aussi

Tâches

Procédure : associer un paramètre de requête à un paramètre de rapport (Générateur de rapports)

Concepts

Définition des datasets de rapports

Autres ressources

Didacticiel : Ajout de paramètres à un rapport tabulaire de base
Didacticiel : Fonctionnalités avancées utilisant les paramètres
Définition des sources de données de rapport
Vue Données (Concepteur de rapports)

Aide et Informations

Assistance sur SQL Server 2005