Ajouter des paramètres en cascade à un rapport (Générateur de rapports et SSRS)Add Cascading Parameters to a Report (Report Builder and SSRS)

Les paramètres en cascade permettent de gérer d'importantes quantités de données de rapport.Cascading parameters provide a way of managing large amounts of report data. Vous pouvez définir un ensemble de paramètres associés, de telle sorte que la liste des valeurs d'un paramètre dépende de la valeur choisie dans un autre paramètre.You can define a set of related parameters so that the list of values for one parameter depends on the value chosen in another parameter. Par exemple, le premier paramètre est indépendant et peut présenter une liste de catégories de produits.For example, the first parameter is independent and might present a list of product categories. Lorsque l'utilisateur sélectionne une catégorie, le deuxième paramètre dépend de la valeur du premier paramètre.When the user selects a category, the second parameter is dependent on the value of the first parameter. Ses valeurs sont mises à jour avec une liste de sous-catégories au sein de la catégorie choisie.Its values are updated with a list of subcategories within the chosen category. Lorsque l'utilisateur affiche le rapport, les valeurs des paramètres de catégorie et de sous-catégorie permettent de filtrer les données du rapport.When the user views the report, the values for both the category and subcategory parameters are used to filter report data.

Note

Vous pouvez créer et modifier des fichiers de définition de rapport (.rdl) paginés dans le Générateur de rapports et dans le Concepteur de rapports dans SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in 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.Each authoring environment provides different ways to create, open, and save reports and related items.

Pour créer des paramètres en cascade, commencez par définir la requête de dataset et incluez un paramètre de requête pour chaque paramètre en cascade dont vous avez besoin.To create cascading parameters, you define the dataset query first and include a query parameter for each cascading parameter that you need. Vous devez également créer un dataset distinct pour chaque paramètre en cascade pour fournir les valeurs disponibles.You must also create a separate dataset for each cascading parameter to provide available values. Pour plus d’informations, consultez Ajouter, modifier ou supprimer les valeurs disponibles d’un paramètre de rapport (Générateur de rapports et SSRS).For more information, see Add, Change, or Delete Available Values for a Report Parameter (Report Builder and SSRS).

L'ordre des paramètres en cascade est important, car la requête de dataset d'un paramètre situé plus bas dans la liste comporte une référence à chaque paramètre situé plus haut dans la liste.Order is important for cascading parameters because the dataset query for a parameter later in the list includes a reference to each parameter that is earlier in the list. Au moment de l'exécution, l'ordre des paramètres dans le volet des données de rapport détermine l'ordre d'apparition des requêtes de paramètre dans le rapport et, par conséquent, l'ordre dans lequel un utilisateur choisit chaque valeur de paramètre consécutive.At run time, the order of the parameters in the Report Data pane determines the order in which the parameter queries appear in the report, and therefore, the order in which a user chooses each successive parameter value.

Pour plus d'informations sur la création de paramètres en cascade avec plusieurs valeurs et notamment la fonctionnalité Sélectionner tout, consultez How to have a Select All Multivalue Cascading Parameter(en anglais).For information about creating cascading parameters with multiple values and including the Select All feature, see How to have a Select All Multivalue Cascading Parameter.

  1. Dans le volet Données du rapport, cliquez avec le bouton droit sur une source de données, puis cliquez sur Ajouter un dataset.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Dans Nom, tapez le nom du dataset.In Name, type the name of the dataset.

  3. Dans Source de données, sélectionnez le nom de la source de données ou cliquez sur Nouvelle pour en créer une.In Data source, choose the name of the data source or click New to create one.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée.In Query type, choose the type of query for the selected data source. Cette rubrique part du principe que le type de requête Texte est utilisé.In this topic, query type Text is assumed.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des données pour ce rapport.In Query, type the query to use to retrieve data for this report. La requête doit être constituée des éléments suivants :The query must include the following parts:

    1. La liste des champs de sources de données.A list of data source fields. Par exemple, dans une instruction Transact-SQLTransact-SQL , l'instruction SELECT spécifie la liste des noms de colonnes de bases de données à partir d'une table ou d'une vue donnée.For example, in a Transact-SQLTransact-SQL statement, the SELECT statement specifies a list of database column names from a given table or view.

    2. Un paramètre de requête par paramètre en cascade.One query parameter for each cascading parameter. Un paramètre de requête limite les données extraites de la source de données en spécifiant certaines valeurs à inclure dans la requête ou à exclure de la requête.A query parameter limits the data retrieved from the data source by specifying certain values to include or exclude from the query. En règle générale, les paramètres de requête se déclenchent dans une clause de restriction dans la requête.Typically, query parameters occur in a restriction clause in the query. Par exemple, dans une instruction Transact-SQLTransact-SQL SELECT, les paramètres de requête se déclenchent dans la clause WHERE.For example, in a Transact-SQLTransact-SQL SELECT statement, query parameters occur in the WHERE clause. Pour plus d'informations, consultez la rubrique « Filtrage des lignes avec les clauses WHERE et HAVING » dans la documentation Reporting ServicesReporting Services de la documentation en ligne SQL Server.For more information, see "Filtering Rows by Using WHERE and HAVING" in the Reporting ServicesReporting Services documentation in SQL Server Books Online.

  6. Cliquez sur Exécuter (!).Click Run (!). Une fois que vous avez inclus les paramètres de requête et exécuté la requête, les paramètres de rapport qui correspondent aux paramètres de requête sont automatiquement créés.After you include query parameters and then run the query, report parameters that correspond to the query parameters are automatically created.

    Note

    L'ordre des paramètres de requête lors de la première exécution d'une requête détermine leur ordre de création dans le rapport.The order of query parameters the first time you run a query determines the order that they are created in the report. Pour modifier l’ordre, consultez Modifier l’ordre d’un paramètre de rapport (Générateur de rapports et SSRS).To change the order, see Change the Order of a Report Parameter (Report Builder and SSRS)

  7. Cliquez sur OK.Click OK.

    Vous allez ensuite créer un dataset qui fournit les valeurs du paramètre indépendant.Next, you will create a dataset that provides the values for the independent parameter.

Pour créer un dataset en vue de fournir les valeurs d'un paramètre indépendantTo create a dataset to provide values for an independent parameter

  1. Dans le volet Données du rapport, cliquez avec le bouton droit sur une source de données, puis cliquez sur Ajouter un dataset.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Dans Nom, tapez le nom du dataset.In Name, type the name of the dataset.

  3. Dans Source de données, vérifiez que le nom correspond au nom de la source de données que vous avez choisie au cours de l'étape 1.In Data source, verify the name is the name of the data source you chose in step 1.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée.In Query type, choose the type of query for the selected data source. Cette rubrique part du principe que le type de requête Texte est utilisé.In this topic, query type Text is assumed.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des valeurs pour ce paramètre.In Query, type the query to use to retrieve values for this parameter. En règle générale, les requêtes des paramètres indépendants ne contiennent pas de paramètres de requête.Queries for independent parameters typically do not contain query parameters. Par exemple, pour créer une requête pour un paramètre qui fournit toutes les valeurs de catégorie, vous pouvez utiliser une instruction Transact-SQLTransact-SQL semblable à celle-ci :For example, to create a query for a parameter that provides all category values, you might use a Transact-SQLTransact-SQL statement similar to the following:

    SELECT DISTINCT <column name> FROM <table>  
    

    La commande SELECT DISTINCT supprime les valeurs dupliquées du jeu de résultats, de telle sorte que vous puissiez obtenir chaque valeur unique de la colonne spécifiée dans la table spécifiée.The SELECT DISTINCT command removes duplicate values from the result set so that you get each unique value from the specified column in the specified table.

    Cliquez sur Exécuter (!).Click Run (!). Le jeu de résultats indique les valeurs qui sont disponibles pour ce premier paramètre.The result set shows the values that are available for this first parameter.

  6. Cliquez sur OK.Click OK.

    Vous allez ensuite définir les propriétés du premier paramètre en vue d'utiliser ce dataset pour remplir ses valeurs disponibles au moment de l'exécution.Next, you will set the properties of the first parameter to use this dataset to populate its available values at run-time.

Pour définir les valeurs disponibles d'un paramètre de rapportTo set available values for a report parameter

  1. Dans le dossier Paramètres du volet Données du rapport, cliquez avec le bouton droit sur le premier paramètre, puis cliquez sur Propriétés du paramètre.In the Report Data pane, in the Parameters folder, right-click the first parameter, and then click Parameter Properties.

  2. Dans Nom, vérifiez que le nom du paramètre est correct.In Name, verify that the name of the parameter is correct.

  3. Cliquez sur Valeurs disponibles.Click Available Values.

  4. Cliquez sur Obtenir les valeurs à partir d'une requête.Click Get values from a query. Trois champs apparaissent.Three fields appear.

  5. Dans Dataset, dans la liste déroulante, cliquez sur le nom du dataset que vous avez créé lors de la procédure précédente.In Dataset, from the drop-down list, click the name of the dataset you created in the previous procedure.

  6. Dans le champ Valeur , cliquez sur le nom du champ qui fournit la valeur de paramètre.In Value field, click the name of the field that provides the parameter value.

  7. Dans le champ Étiquette , cliquez sur le nom du champ qui fournit l'étiquette de paramètre.In Label field, click the name of the field that provides the parameter label.

  8. Cliquez sur OK.Click OK.

    Vous allez ensuite créer un dataset qui fournit les valeurs d'un paramètre dépendant.Next, you will create a dataset that provides the values for a dependent parameter.

Pour créer un dataset en vue de fournir les valeurs d'un paramètre dépendantTo create a dataset to provide values for a dependent parameter

  1. Dans le volet Données du rapport, cliquez avec le bouton droit sur une source de données, puis cliquez sur Ajouter un dataset.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Dans Nom, tapez le nom du dataset.In Name, type the name of the dataset.

  3. Dans Source de données, vérifiez que le nom correspond au nom de la source de données que vous avez choisie au cours de l'étape 1.In Data source, verify the name is the name of the data source you chose in step 1.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée.In Query type, choose the type of query for the selected data source. Cette rubrique part du principe que le type de requête Texte est utilisé.In this topic, query type Text is assumed.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des valeurs pour ce paramètre.In Query, type the query to use to retrieve values for this parameter. En règle générale, les requêtes pour les paramètres dépendants comportent des paramètres de requête pour chaque paramètre dont ce paramètre dépend.Queries for dependent parameters typically include query parameters for each parameter that this parameter is dependent on. Par exemple, pour créer une requête pour un paramètre qui fournit toutes les valeurs de sous-catégorie (paramètre dépendant) d’une catégorie (paramètre indépendant), vous pouvez utiliser une instruction Transact-SQLTransact-SQL semblable à celle-ci :For example, to create a query for a parameter that provides all subcategory (dependent parameter) values for a category (independent parameter), you might use a Transact-SQLTransact-SQL statement similar to the following:

    SELECT DISTINCT Subcategory FROM <table>   
    WHERE (Category = @Category)  
    

    Dans la clause WHERE, Category correspond au nom d’un champ de la <table> et @Category à un paramètre de requête.In the WHERE clause, Category is the name of a field from <table> and @Category is a query parameter. Cette instruction génère la liste des sous-catégories de la catégorie spécifiée dans @Category.This statement produces a list of subcategories for the category specified in @Category. Au moment de l'exécution, cette valeur est remplie avec la valeur que l'utilisateur choisit pour le paramètre de rapport qui porte le même nom.At run time, this value will be filled in with the value that the user chooses for the report parameter that has the same name.

  6. Cliquez sur OK.Click OK.

    Vous allez ensuite définir les propriétés du deuxième paramètre en vue d'utiliser ce dataset pour remplir ses valeurs disponibles au moment de l'exécution.Next, you will set the properties of the second parameter to use this dataset to populate its available values at run time.

Pour définir les valeurs disponibles d'un paramètre de rapportTo set available values for a report parameter

  1. Dans le dossier Paramètres du volet Données du rapport, cliquez avec le bouton droit sur le premier paramètre, puis cliquez sur Propriétés du paramètre.In the Report Data pane, in the Parameters folder, right-click the first parameter, and then click Parameter Properties.

  2. Dans Nom, vérifiez que le nom du paramètre est correct.In Name, verify that the name of the parameter is correct.

  3. Cliquez sur Valeurs disponibles.Click Available Values.

  4. Cliquez sur Obtenir les valeurs à partir d'une requête.Click Get values from a query.

  5. Dans Dataset, dans la liste déroulante, cliquez sur le nom du dataset que vous avez créé lors de la procédure précédente.In Dataset, from the drop-down list, click the name of the dataset you created in the previous procedure.

  6. Dans le champ Valeur , cliquez sur le nom du champ qui fournit la valeur de paramètre.In Value field, click the name of the field that provides the parameter value.

  7. Dans le champ Étiquette , cliquez sur le nom du champ qui fournit l'étiquette de paramètre.In Label field, click the name of the field that provides the parameter label.

  8. Cliquez sur OK.Click OK.

Pour tester les paramètres en cascadeTo test the cascading parameters

  1. Cliquez sur Exécuter.Click Run.

  2. Dans la liste déroulante du premier paramètre indépendant, choisissez une valeur.From the drop-down list for the first, independent parameter, choose a value.

    Le processeur de rapports exécute la requête de dataset du paramètre suivant et lui transmet la valeur que vous avez choisie pour le premier paramètre.The report processor runs the dataset query for the next parameter and passes it the value you chose for the first parameter. La liste déroulante du deuxième paramètre est remplie avec les valeurs disponibles qui reposent sur la première valeur de paramètre.The drop-down list for the second parameter is populated with the available values based on the first parameter value.

  3. Dans la liste déroulante du deuxième paramètre dépendant, choisissez une valeur.From the drop-down list for the second, dependent parameter, choose a value.

    Le rapport ne s'exécute pas automatiquement une fois que vous avez choisi le dernier paramètre afin que vous puissiez modifier votre choix.The report does not run automatically after you choose the last parameter so that you can change your choice.

  4. Cliquez sur Afficher le rapport.Click View Report. Le rapport actualise l'affichage en fonction des paramètres que vous avez choisis.The report updates the display based on the parameters you have chosen.

Voir aussiSee Also

Ajouter, modifier ou supprimer un paramètre de rapport (Générateur de rapports et SSRS) Add, Change, or Delete a Report Parameter (Report Builder and SSRS)
Paramètres de rapport (Générateur de rapports et Concepteur de rapports) Report Parameters (Report Builder and Report Designer)
Didacticiel : ajouter un paramètre à un rapport (Générateur de rapports) Tutorial: Add a Parameter to Your Report (Report Builder)
Didacticiels du Générateur de rapports Report Builder Tutorials
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) Add Dataset Filters, Data Region Filters, and Group Filters (Report Builder and SSRS)
Datasets incorporés dans le rapport et datasets partagés (Générateur de rapports et SSRS)Report Embedded Datasets and Shared Datasets (Report Builder and SSRS)