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 Report Designer 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).

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

  1. Dans le volet des données de rapport, faites un clic droit sur une source de données, puis sélectionnez Ajouter un jeu de données.

  2. Dans Nom, saisissez le nom du jeu de données.

  3. Dans Source de données, sélectionnez le nom de la source de données ou sélectionnez 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. Cet article part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, saisissez 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. Sélectionnez 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)

  7. Cliquez sur OK.

Créez ensuite un jeu de données qui fournit les valeurs du paramètre indépendant.

Créer un jeu de données afin de fournir des valeurs pour un paramètre indépendant

  1. Dans le volet des données de rapport, faites un clic droit sur une source de données, puis sélectionnez Ajouter un jeu de données.

  2. Dans Nom, saisissez le nom du jeu de données.

  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. Cet article part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, saisissez 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 au bloc suivant :

    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.

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

  6. Cliquez sur OK.

Définissez ensuite les propriétés du premier paramètre en vue d'utiliser ce jeu de données pour remplir ses valeurs disponibles au moment de l'exécution.

Définir des valeurs disponibles pour un paramètre de rapport

  1. Dans le dossier Paramètres du volet Données du rapport, faites un clic droit sur le premier paramètre, puis sélectionnez Propriétés du paramètre.

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

  3. Sélectionnez Valeurs disponibles.

  4. Sélectionnez Obtenir les valeurs à partir d'une requête. Trois champs apparaissent.

  5. Dans jeu de données, dans la liste, sélectionnez le nom du jeu de données que vous avez créé lors de la procédure précédente.

  6. Dans le champ Valeur, sélectionnez le nom du champ qui fournit la valeur de paramètre.

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

  8. Cliquez sur OK.

Créez ensuite un jeu de données qui fournit les valeurs d'un paramètre dépendant.

Créer un jeu de données afin de fournir des valeurs pour un paramètre dépendant

  1. Dans le volet des données de rapport, faites un clic droit sur une source de données, puis sélectionnez Ajouter un jeu de données.

  2. Dans Nom, saisissez le nom du jeu de données.

  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. Cet article part du principe que le type de requête Texte est utilisé.

  5. Dans Requête, saisissez 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, vous pouvez 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). Pour ce faire, vous pouvez utiliser une instruction Transact-SQL semblable au bloc suivant :

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

    dans la clause WHERE, Category correspond au nom d’un champ de <table> et @Category à 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. Cliquez sur OK.

Définissez ensuite les propriétés du deuxième paramètre en vue d'utiliser ce jeu de données pour remplir ses valeurs disponibles au moment de l'exécution.

Définir des valeurs disponibles pour le deuxième paramètre

  1. Dans le dossier Paramètres du volet Données du rapport, faites un clic droit sur le premier paramètre, puis sélectionnez Propriétés du paramètre.

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

  3. Sélectionnez Valeurs disponibles.

  4. Sélectionnez Obtenir les valeurs à partir d'une requête.

  5. Dans jeu de données, dans la liste, sélectionnez le nom du jeu de données que vous avez créé lors de la procédure précédente.

  6. Dans le champ Valeur, sélectionnez le nom du champ qui fournit la valeur de paramètre.

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

  8. Cliquez sur OK.

Tester des paramètres en cascade

  1. Sélectionnez Exécuter.

  2. Dans la liste 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 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 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. Sélectionnez Afficher le rapport. Le rapport actualise l'affichage en fonction des paramètres que vous avez choisis.