Ajouter des paramètres en cascade à un rapport paginé (Générateur de rapports)

S’applique à : Générateur de rapports Microsoft (SSRS) Power BI Report Builder Concepteur de rapports dans SQL Server Data Tools

Les paramètres en cascade permettent de gérer d’importantes quantités de données dans un rapport paginé. 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. Par exemple, le premier paramètre est indépendant et peut présenter une liste de catégories de produits. Lorsque l'utilisateur sélectionne une catégorie, le deuxième paramètre dépend de la valeur du premier paramètre. Ses valeurs sont mises à jour avec une liste de sous-catégories au sein de la catégorie choisie. 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.

Notes

Il est possible de créer et de modifier des fichiers de définition de rapports (.rdl) paginés dans le Générateur de rapports Microsoft, dans Power BI Report Builder et dans le Concepteur de rapports de SQL Server Data Tools.

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. Vous devez également créer un dataset distinct pour chaque paramètre en cascade pour fournir les valeurs disponibles. 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).

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. 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.

Pour plus d'informations sur la création de paramètres en cascade avec plusieurs valeurs et notamment la fonctionnalité Sélectionner tout, consultez Comment avoir un paramètre Tout sélectionner en cascade à valeurs multiples(en anglais).

  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.

  2. Dans Nom, tapez le nom du 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.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée. Cette rubrique part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des données pour ce rapport. La requête doit être constituée des éléments suivants :

    1. La liste des champs de sources de données. Dans une instruction Transact-SQL par exemple, 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.

    2. Un paramètre de requête par paramètre en cascade. 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. En règle générale, les paramètres de requête se déclenchent dans une clause de restriction dans la requête. Par exemple, dans une instruction Transact-SQL SELECT, les paramètres de requête se déclenchent dans la clause WHERE.

  6. Cliquez sur Exécuter ( ! ). 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.

    Notes

    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. Pour modifier l’ordre, consultez Modifier l’ordre d’un paramètre de rapport (Générateur de rapports et SSRS)

  7. Sélectionnez OK.

Vous allez ensuite créer un dataset qui fournit les valeurs du paramètre indépendant.

Pour créer un dataset en vue de fournir les valeurs d'un paramètre indépendant

  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.

  2. Dans Nom, tapez le nom du 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.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée. Cette rubrique part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des valeurs pour ce paramètre. En règle générale, les requêtes des paramètres indépendants ne contiennent pas de paramètres de requête. 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-SQL semblable à celle-ci :

    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.

    Cliquez sur Exécuter ( ! ). Le jeu de résultats indique les valeurs qui sont disponibles pour ce premier paramètre.

  6. Sélectionnez 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.

Pour définir les valeurs disponibles d'un paramètre de rapport

  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.

  2. Dans Nom, vérifiez que le nom du paramètre est correct.

  3. Cliquez sur Valeurs disponibles.

  4. Cliquez sur Obtenir les valeurs à partir d'une requête. Trois champs apparaissent.

  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.

  6. Dans le champ Valeur , cliquez sur le nom du champ qui fournit la valeur de paramètre.

  7. Dans le champ Étiquette , cliquez sur le nom du champ qui fournit l'étiquette de paramètre.

  8. Sélectionnez OK.

Vous allez ensuite créer un dataset qui fournit les valeurs d'un paramètre dépendant.

Pour créer un dataset en vue de fournir les valeurs d'un paramètre dépendant

  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.

  2. Dans Nom, tapez le nom du 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.

  4. Dans Type de requête, choisissez le type de requête de la source de données sélectionnée. Cette rubrique part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, tapez la requête à utiliser pour récupérer des valeurs pour ce paramètre. 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. 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-SQL semblable à celle-ci :

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

    Dans la clause WHERE, Category correspond au nom d’un champ de la <table> et @Category est un paramètre de requête. Cette instruction génère la liste des sous-catégories de la catégorie spécifiée dans @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.

  6. Sélectionnez 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.

Pour définir les valeurs disponibles pour le deuxième paramètre

  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.

  2. Dans Nom, vérifiez que le nom du paramètre est correct.

  3. Cliquez sur Valeurs disponibles.

  4. Cliquez sur Obtenir les valeurs à partir d'une requête.

  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.

  6. Dans le champ Valeur , cliquez sur le nom du champ qui fournit la valeur de paramètre.

  7. Dans le champ Étiquette , cliquez sur le nom du champ qui fournit l'étiquette de paramètre.

  8. Sélectionnez OK.

Pour tester les paramètres en cascade

  1. Cliquez sur Exécuter.

  2. Dans la liste déroulante du premier paramètre indépendant, choisissez une valeur.

    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. 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.

  3. Dans la liste déroulante du deuxième paramètre dépendant, choisissez une valeur.

    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.

  4. Cliquez sur Afficher le rapport. Le rapport actualise l'affichage en fonction des paramètres que vous avez choisis.

Voir aussi

Ajouter, modifier ou supprimer un paramètre de rapport (Générateur de rapports et SSRS)
Paramètres de rapport (Générateur de rapports et Concepteur de rapports)
Tutoriel : Ajouter un paramètre à un rapport (Générateur de rapports)
Didacticiels du Générateur de rapports
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)
Datasets incorporés dans le rapport et datasets partagés (Générateur de rapports et SSRS)