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

S’applique à : SQL Server 2016 (13.x) Reporting Services et versions ultérieures SharePoint

S’applique à : SQL Server 2016 (13.x) Reporting Services et versions ultérieures

Cette rubrique décrit les utilisations courantes des paramètres de rapport paginés, les propriétés que vous pouvez définir, et bien d’autres aspects. Les paramètres de rapport vous permettent de contrôler les données du rapport, d'interconnecter les rapports associés et de varier la présentation des rapports. Vous pouvez utiliser les paramètres de rapport dans les rapports paginés que vous créez dans --- title: include file description: include file author: maggiesMSFT ms.author: maggies ms.date: 12/06/2018 ms.service: ms.topic: include ms.custom: include fileReport Builder et Report Designer, et également dans les rapports mobiles que vous créez dans l’Éditeur de rapports mobiles SQL Server. En savoir plus sur les Concepts de paramètres de rapport.

Notes

L’Éditeur de rapports mobiles SQL Server est déprécié pour toutes les versions de SQL Server Reporting Services après SQL Server Reporting Services 2019. Il est supprimé à compter de SQL Server Reporting Services 2022 et Power BI Report Server.

Pour essayer d’ajouter vous-même un paramètre à un rapport, consultez Tutoriel : ajouter un paramètre à votre rapport (Générateur de rapports).

Utilisations courantes des paramètres

Voici quelques-unes des utilisations les plus courantes des paramètres.

Contrôler les données des rapports paginés et mobiles

  • Filtrez les données d’un rapport paginé au niveau de la source de données en écrivant des requêtes de jeu de données qui comportent des variables.

  • Filtrez les données à partir d'un dataset partagé. Lorsque vous ajoutez un jeu de données partagé à un rapport paginé, vous ne pouvez pas modifier la requête. Dans le rapport, vous pouvez ajouter un filtre de dataset qui inclut une référence à un paramètre de rapport de votre création.

  • Filtrez les données à partir d’un jeu de données partagé dans un rapport mobile SQL Server. Consultez la rubrique Create mobile reports with SQL Server Mobile Report Publisher (éventuellement en anglais) pour plus d'informations.

  • Permettez aux utilisateurs de spécifier des valeurs pour personnaliser les données d’un rapport paginé. Par exemple, fournissez deux paramètres pour la date de début et la date de fin des données de ventes.

Connecter des rapports associés

  • Utilisez des paramètres pour associer des rapports principaux à des rapports d'extraction, des sous-rapports et des rapports liés. Lorsque vous concevez un ensemble de rapports, vous pouvez élaborer chaque rapport pour obtenir des réponses à certaines questions. Chaque rapport peut offrir une vue différente ou un niveau de détail différent pour des informations connexes. Pour fournir un ensemble de rapports reliés entre eux, créez des paramètres pour les données associées sur les rapports cibles.

    Pour plus d’informations, consultez Rapports d’extraction (Générateur de rapports et SSRS), Sous-rapports (Générateur de rapports et SSRS) et Créer un rapport lié.

  • Personnalisez des ensembles de paramètres pour plusieurs utilisateurs. Créez deux rapports liés basés sur un état des ventes sur le serveur de rapports. L'un des rapports liés utilise des valeurs de paramètres prédéfinies pour les commerciaux et l'autre rapport lié utilise des valeurs de paramètres prédéfinies pour les responsables commerciaux. Les deux rapports utilisent la même définition de rapport.

Varier la présentation des rapports

Affichage d’un rapport doté de paramètres

Quand vous visualisez un rapport qui comporte des paramètres, la barre d’outils de la visionneuse de rapports affiche chaque paramètre pour vous permettre de spécifier des valeurs de manière interactive. L’illustration suivante montre la zone de paramètres d’un rapport avec les paramètres @ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota et @SalesDate.

View report with parameters

  1. Volet Paramètres : la barre d’outils de la visionneuse de rapports affiche une invite et une valeur par défaut pour chaque paramètre. Vous pouvez personnaliser la disposition des paramètres dans le volet Paramètres. Pour plus d’informations, consultez Personnaliser le volet Paramètres dans un rapport (Générateur de rapports).

  2. Paramètre @SalesDate : le paramètre @SalesDate a le type de données DateTime. L’invite de sélection de date s’affiche en regard de la zone de texte. Pour modifier la date, tapez une nouvelle date dans la zone de texte ou utilisez le contrôle calendrier.

  3. Paramètre @ShowAll : le paramètre @ShowAll a le type de données Boolean. Utilisez les cases d'option pour spécifier True ou False.

  4. Poignée Afficher ou masquer la zone de paramètres : dans la barre d’outils de la visionneuse de rapports, cliquez sur cette flèche pour afficher ou masquer le volet Paramètres.

  5. Paramètre @CategoryQuota : le paramètre @CategoryQuota a le type de données Float ; il prend donc une valeur numérique. @CategoryQuota est défini pour autoriser les valeurs multiples.

  6. Afficher le rapport Après avoir entré des valeurs de paramètre, cliquez sur Afficher le rapport pour exécuter le rapport. Si tous les paramètres possèdent des valeurs par défaut, le rapport s'exécute automatiquement au premier affichage.

Création de paramètres

Vous pouvez créer des paramètres de rapport de différentes façons :

Notes

Toutes les sources de données ne prennent pas en charge les paramètres.

Requête de dataset ou procédure stockée avec paramètres

Ajoutez une requête de dataset qui contient des variables ou une procédure stockée de dataset qui contient des paramètres d'entrée. Un paramètre de dataset est créé pour chaque variable ou paramètre d'entrée, et un paramètre de rapport est créé pour chaque paramètre de dataset.

Report Builder Parameter Dataset Properties

Cette image du Générateur de rapports montre :

  1. les paramètres du rapport dans le volet Données du rapport ;

  2. le dataset avec les paramètres ;

  3. le volet Paramètres ;

  4. les paramètres répertoriés dans la boîte de dialogue Propriétés du dataset.

Le dataset peut être incorporé ou partagé. Lorsque vous ajoutez un dataset partagé à un rapport, les paramètres de dataset marqués comme internes ne peuvent pas être substitués dans le rapport. Vous pouvez substituer les paramètres de dataset qui ne sont pas marqués comme internes.

Pour plus d'informations, consultez Requête de dataset dans cette rubrique.

Créer manuellement un paramètre

Créez manuellement un paramètre à partir du volet des données de rapport. Vous pouvez configurer des paramètres de rapport afin qu'un utilisateur puisse entrer de manière interactive des valeurs dans le but de personnaliser le contenu ou l'apparence d'un rapport. Vous pouvez également configurer des paramètres de rapport afin qu'un utilisateur ne puisse pas modifier les valeurs préconfigurées.

Notes

Les paramètres sont gérés indépendamment sur le serveur ; par conséquent, si vous republiez un rapport principal avec de nouveaux paramètres, les paramètres existants du rapport ne sont pas remplacés.

Partie de rapport dotée d’un paramètre

Notes

Les parties de rapport sont dépréciées pour toutes les versions de SQL Server Reporting Services à partir de SQL Server Reporting Services 2019 et toutes les versions de Power BI Report Server à partir de Power BI Report Server (septembre 2022).

Ajoutez une partie de rapport qui contient des références à un paramètre ou à un dataset partagé contenant des variables.

Les parties de rapports sont stockées sur le serveur de rapports et sont à la disposition des autres utilisateurs qui souhaitent s'en servir dans leurs rapports. Les parties de rapports qui sont des paramètres ne peuvent pas être gérées à partir du serveur de rapports. Vous pouvez rechercher des paramètres dans la bibliothèque de parties de rapports et les configurer une fois que vous les avez ajoutés à votre rapport. Pour plus d’informations, consultez Parties de rapports (Générateur de rapports et SSRS).

Notes

Les paramètres peuvent être publiés en tant que partie de rapport distincte pour les régions de données qui ont des datasets dépendants avec des paramètres. Bien que les paramètres apparaissent sous la forme d'une partie de rapport, vous ne pouvez pas ajouter directement un paramètre de partie de rapport à un rapport. À la place, ajoutez la partie de rapport pour que tous les paramètres de rapport nécessaires soient générés automatiquement à partir des requêtes de dataset qui sont contenues ou référencées par la partie de rapport. Pour plus d’informations sur les parties de rapport, consultez Publication de parties de rapports (Générateur de rapports et SSRS) et Parties de rapports dans le Concepteur de rapports (SSRS).

Valeurs des paramètres

Utilisez les options suivantes pour sélectionner les valeurs de paramètre dans le rapport.

  • Sélectionnez une valeur de paramètre dans la liste déroulante.

  • Sélectionnez plusieurs valeurs de paramètre dans la liste déroulante.

  • Sélectionnez une valeur dans la liste déroulante pour un paramètre, qui détermine les valeurs disponibles dans la liste déroulante pour un autre paramètre. Il s'agit de paramètres en cascade. Les paramètres en cascade vous permettent de filtrer successivement les valeurs de paramètres afin de passer de milliers de valeurs à un nombre plus gérable.

    Pour plus d’informations, consultez Ajouter des paramètres en cascade à un rapport (Générateur de rapports et SSRS).

  • Exécutez le rapport sans sélectionner une valeur de paramètre, car une valeur par défaut est créée pour le paramètre.

Propriétés de paramètres de rapport

Vous pouvez modifier les propriétés de paramètre de rapport en utilisant la boîte de dialogue Propriétés du rapport. Le tableau suivant récapitule les propriétés que vous pouvez définir pour chaque paramètre :

Property Description
Nom Tapez un nom de paramètre qui respecte la casse. Le nom doit commencer par une lettre et contenir des lettres, des chiffres, un trait de soulignement (_). Le nom ne peut pas contenir d'espace. Le nom des paramètres générés automatiquement correspond au paramètre dans la requête du jeu de données. Par défaut, les paramètres créés manuellement sont similaires à ReportParameter1.
Prompt Texte qui apparaît en regard du paramètre dans la barre d'outils de la visionneuse de rapports.
Type de données Un paramètre de rapport doit avoir l'un des types de données suivants :

Boolean. L'utilisateur sélectionne True ou False à l'aide d'une case d'option.

DateTime. L'utilisateur sélectionne une date à l'aide d'un contrôle calendrier.

Integer. L'utilisateur tape des valeurs dans une zone de texte.

Float. L'utilisateur tape des valeurs dans une zone de texte.

Text. L'utilisateur tape des valeurs dans une zone de texte.

Lorsque des valeurs disponibles sont définies pour un paramètre, l'utilisateur peut les sélectionner dans une liste déroulante, même lorsque le type de données est DateTime.

Pour plus d'informations sur les types de données de rapport, consultez RDL Data Types.
Autoriser une valeur vide Sélectionnez cette option si la valeur du paramètre peut être une chaîne ou une valeur vide.

Si vous spécifiez les valeurs valides d'un paramètre et si vous souhaitez qu'une valeur vide soit l'une des valeurs valides, vous devez l'inclure dans les valeurs que vous spécifiez. La sélection de cette option n'inclut pas automatiquement une valeur vide dans les valeurs disponibles.
Autoriser les valeurs de type NULL Sélectionnez cette option si la valeur du paramètre peut être Null.

Si vous spécifiez les valeurs valides d'un paramètre et si vous souhaitez qu'une valeur Null soit l'une des valeurs valides, vous devez l'inclure dans les valeurs que vous spécifiez. La sélection de cette option n'inclut pas automatiquement une valeur Null dans les valeurs disponibles.
Autoriser les valeurs multiples Fournissez les valeurs disponibles pour la création d'une liste déroulante dans laquelle vos utilisateurs peuvent effectuer des choix. Cela constitue une bonne méthode pour s'assurer que seules les valeurs valides sont envoyées dans la requête de dataset.

Sélectionnez cette option si la valeur pour le paramètre peut être plusieurs valeurs affichées dans une liste déroulante. Les valeurs NULL ne sont pas autorisées. Lorsque cette option est sélectionnée, les cases à cocher sont ajoutées à la liste de valeurs disponibles dans une liste déroulante de paramètre. Le haut de la liste comporte une case à cocher pour Sélectionner tout. Les utilisateurs peuvent activer les valeurs qu'ils souhaitent.

Si les données qui fournissent des valeurs changent rapidement, il est possible que la liste visible par l'utilisateur ne soit pas actualisée.
Visible Sélectionnez cette option pour afficher le paramètre de rapport en haut du rapport lorsqu'il est exécuté. Cette option permet aux utilisateurs de sélectionner des valeurs de paramètre au moment de l'exécution.
Hidden Sélectionnez cette option pour masquer le paramètre de rapport dans le rapport publié. Les valeurs de paramètre de rapport peuvent toujours être définies sur une URL de rapport, dans une définition d'abonnement ou sur le serveur de rapports.
Interne Sélectionnez cette option pour masquer le paramètre de rapport. Dans le rapport publié, le paramètre de rapport ne peut être affiché que dans la définition du rapport.
Valeurs disponibles Si vous avez spécifié les valeurs disponibles d'un paramètre, les valeurs valides s'affichent toujours sous forme de liste déroulante. Par exemple, si vous fournissez des valeurs disponibles pour un paramètre DateTime , une liste déroulante de dates s’affiche dans le volet des paramètres à la place d’un contrôle calendrier.

Pour vous assurer qu'une liste de valeurs est cohérente parmi un rapport et des sous-rapports, vous pouvez définir une option sur la source de données afin d'utiliser une transaction unique pour toutes les requêtes des datasets associés à une source de données.

Note de sécurité Dans un rapport qui contient un paramètre de type de données Text, veillez à utiliser une liste de valeurs disponibles (également appelée liste de valeurs valides) et vérifiez que l’utilisateur qui exécute le rapport dispose uniquement des autorisations nécessaires pour voir les données dans le rapport. Pour plus d’informations, consultez Sécurité (Générateur de rapports).
Valeurs par défaut Définissez les valeurs par défaut à partir d'une requête ou d'une liste statique.

Lorsque chaque paramètre a une valeur par défaut, le rapport s'exécute automatiquement au premier affichage.
Avancé Définissez l'attribut de définition de rapport UsedInQuery, valeur qui indique si ce paramètre affecte directement ou indirectement les données d'un rapport.

Déterminer automatiquement le moment de l'actualisation
Choisissez cette option lorsque vous souhaitez que le processeur de rapports détermine un paramètre pour cette valeur. La valeur est True si le processeur de rapports détecte une requête de dataset avec une référence directe ou indirecte à ce paramètre ou si le rapport possède des sous-rapports.

Toujours actualiser
Choisissez cette option lorsque le paramètre de rapport est utilisé directement ou indirectement dans une requête de dataset ou une expression de paramètre. Cette option affecte la valeur True à UsedInQuery .

Ne jamais actualiser
Choisissez cette option quand le paramètre de rapport n'est pas utilisé directement ou indirectement dans une requête de dataset ou une expression de paramètre. Cette option affecte la valeur False à UsedInQuery .

Attention Utilisez Ne jamais actualiser avec précaution. Sur le serveur de rapports, UsedInQuery permet de contrôler les options de cache pour les données de rapports et les rapports rendus, ainsi que les options de paramètres des rapports d'instantané. Si vous définissez l'option Ne jamais actualiser de manière incorrecte, vous risquez de provoquer la mise en cache incorrecte de rapports ou de données de rapports ou de provoquer la présence de données incohérentes dans un rapport d'instantané. Pour plus d’informations, consultez Langage de définition de rapport (SSRS).

Requête de dataset

Pour filtrer les données dans la requête de dataset, vous pouvez inclure une clause de restriction qui limite les données récupérées en spécifiant les valeurs à inclure ou exclure dans le jeu de résultats.

Utilisez le concepteur de requêtes pour la source de données pour générer plus facilement une requête paramétrable.

  • Pour les requêtes Transact-SQL, les différentes sources de données prennent en charge une syntaxe différente pour les paramètres. La prise en charge comprend les paramètres identifiés dans la requête par position ou par nom. Pour plus d’informations, consultez les rubriques relatives aux types de sources de données externes spécifiques dans Jeux de données de rapport (SSRS). Dans le concepteur de requêtes relationnelles, vous devez sélectionner l'option de paramètre pour un filtre afin de créer une requête paramétrable. Pour plus d’informations, consultez Interface utilisateur du Concepteur de requêtes relationnelles (Générateur de rapports).

  • Pour les requêtes basées sur une source de données multidimensionnelle telle que Microsoft SQL Server Analysis Services, SAP NetWeaver BI ou Hyperion Essbase, vous pouvez définir s'il faut créer un paramètre en fonction d'un filtre que vous spécifiez dans le concepteur de requêtes. Pour plus d’informations, consultez la rubrique relative au concepteur de requêtes dans Outils de création de requêtes (SSRS) qui correspond à l’extension de données.

Gestion des paramètres pour un rapport publié

Lorsque vous concevez un rapport, les paramètres de rapport sont enregistrés dans la définition de rapport. Lorsque vous publiez un rapport, les paramètres de rapport sont enregistrés et gérés indépendamment de la définition de rapport.

Pour un rapport publié, vous pouvez utiliser les éléments suivants :

  • Propriétés des paramètres de rapport. Modifiez des valeurs de paramètres du rapport directement sur le serveur de rapports, indépendamment de la définition de rapport.

  • Rapports mis en cache. Pour permettre la création d’un plan de cache pour un rapport, chaque paramètre doit avoir une valeur par défaut. Pour plus d’informations, consultez Mise en cache de rapports (SSRS).

  • Datasets partagés mis en cache. Pour permettre la création d’un plan de cache pour un jeu de données partagé, chaque paramètre doit avoir une valeur par défaut. Pour plus d’informations, consultez Mise en cache de rapports (SSRS).

  • Rapports liés. Vous pouvez créer des rapports liés avec des valeurs de paramètres prédéfinies pour filtrer les données selon les différents publics. Pour plus d’informations, consultez Créer un rapport lié.

  • Abonnements aux rapports. Vous pouvez spécifier des valeurs de paramètres pour filtrer les données et remettre des rapports par le biais d’abonnements. Pour plus d’informations, consultez Abonnements et remise (Reporting Services).

  • Accès URL. Vous pouvez spécifier des valeurs de paramètres dans une URL pointant vers un rapport. Vous pouvez également exécuter des rapports et spécifier des valeurs de paramètres à l'aide de l'accès URL. Pour plus d’informations, consultez Accès URL (SSRS).

Les propriétés de paramètre que vous définissez pour un rapport publié sont conservées si vous republiez la définition de rapport. Si la définition du rapport est republiée dans le même rapport, et si les noms des paramètres et les types de données restent les mêmes, vos valeurs de propriétés sont conservées. Si vous ajoutez ou supprimez des paramètres dans la définition de rapport, ou si vous modifiez le type de données ou le nom d'un paramètre existant, il peut être nécessaire de modifier les propriétés des paramètres dans le rapport publié.

Tous les paramètres ne peuvent pas être modifiés dans tous les cas. Si un paramètre de rapport obtient une valeur par défaut d'une requête de dataset, cette valeur ne peut pas être modifiée pour un rapport publié et ne peut pas être modifiée sur le serveur de rapports. La valeur utilisée au moment de l'exécution est déterminée lorsque la requête est lancée ou, dans le cas des paramètres basés sur une expression, lorsque celle-ci est évaluée.

Les options d'exécution de rapport peuvent affecter le mode de traitement des paramètres. Un rapport qui s'exécute en tant qu'instantané ne peut pas utiliser les paramètres dérivés d'une requête sauf si cette requête inclut des valeurs par défaut pour les paramètres.

Paramètres d'un abonnement

Vous pouvez définir un abonnement pour un rapport à la demande ou un rapport d'instantané et spécifier les valeurs de paramètres à utiliser lors du traitement de l'abonnement.

  • Rapports à la demande. Pour un rapport à la demande, vous pouvez spécifier une valeur de paramètre différente de la valeur publiée pour chaque paramètre listé pour le rapport. Prenons l'exemple d'un rapport Service d'appel qui utilise un paramètre Période pour retourner les demandes du service client de la journée, de la semaine ou du mois en cours. Si la valeur par défaut du paramètre du rapport est égale à aujourd’hui, votre abonnement peut utiliser une valeur de paramètre différente (par exemple, semaine ou mois) pour produire un rapport contenant des chiffres hebdomadaires ou mensuels.

  • Instantané Pour un instantané, votre abonnement doit utiliser les valeurs de paramètres définies pour l’instantané. Votre abonnement ne peut pas passer outre une valeur de paramètre définie pour un instantané. Supposons que vous vous abonniez à un rapport des ventes de la région Ouest s'exécutant en tant qu'instantané de rapport et que la valeur du paramètre régional de cet instantané soit définie sur Ouest . Dans ce cas, vous devez spécifier la valeur de paramètre Ouest dans l'abonnement que vous créez pour ce rapport. Pour signaler visuellement que le paramètre est ignoré, les champs de paramètres de la page d'abonnement sont définis en lecture seule.

    Les options d'exécution de rapport peuvent affecter le mode de traitement des paramètres. Les rapports paramétrables exécutés comme instantanés de rapport utilisent les valeurs de paramètre définies pour l'instantané. Ces valeurs sont définies dans la page de propriétés des paramètres du rapport. Un rapport qui s'exécute en tant qu'instantané ne peut pas utiliser les paramètres dérivés d'une requête sauf si cette requête inclut des valeurs par défaut pour les paramètres.

    Si une valeur de paramètre est modifiée dans l'instantané du rapport une fois l'abonnement défini, le serveur de rapports désactive l'abonnement. Cette désactivation est une façon de signaler que le rapport a été modifié. Pour activer l'abonnement, ouvrez-le, puis enregistrez-le.

Notes

Les abonnements pilotés par les données peuvent utiliser des valeurs de paramètre obtenues à partir d'une source de données d'abonnés. Pour plus d’informations, consultez Utiliser une source de données externe pour les données des abonnés (abonnements pilotés par les données).

Pour plus d’informations, consultez Abonnements et remise (Reporting Services).

Paramètres et sécurisation des données

Soyez attentif lorsque vous distribuez des rapports paramétrables qui contiennent des informations confidentielles ou sensibles. Un utilisateur peut facilement remplacer un paramètre de rapport par une autre valeur, avec pour résultat une divulgation d'informations.

Pour sécuriser l'utilisation des paramètres des données personnelles ou des employés, vous pouvez sélectionner les données en fonction d'expressions qui comprennent le champ UserID de la collection Users. La collection Users permet d'obtenir l'identité de l'utilisateur qui exécute le rapport et d'utiliser cette identité pour extraire les données spécifiques à l'utilisateur.

Important

Dans un rapport qui inclut un paramètre de type String, veillez à utiliser une liste de valeurs disponibles (aussi appelée liste de valeurs valides) et vérifiez que l’utilisateur exécutant le rapport dispose uniquement des autorisations nécessaires à l’affichage des données du rapport. Quand vous définissez un paramètre de type Chaîne, la zone de texte qui apparaît vous permet d’entrer n’importe quelle valeur. Une liste de valeurs disponibles limite les valeurs susceptibles d'être entrées. Si le paramètre de rapport est lié à un paramètre de dataset et que vous n'utilisez pas une liste de valeurs disponibles, l'utilisateur d'un rapport peut taper la syntaxe SQL dans la zone de texte, ce qui peut exposer le rapport et votre serveur au risque d'une attaque par injection SQL. Si l'utilisateur dispose d'autorisations suffisantes pour exécuter la nouvelle instruction SQL, cela risque de générer des résultats indésirables sur le serveur.

Si un paramètre de rapport n'est pas lié à un paramètre de dataset et les valeurs de paramètre sont incluses dans le rapport, l'utilisateur d'un rapport peut taper la syntaxe de l'expression ou une URL dans la valeur de paramètre et rendre le rapport au format Excel ou HTML. Si un autre utilisateur affiche ensuite le rapport et clique sur le contenu du paramètre de rendu, celui-ci peut exécuter accidentellement le lien ou le script malveillant.

Pour réduire le risque d'exécution accidentelle de scripts malveillants, ouvrez les rapports rendus uniquement à partir de sources approuvées. Pour plus d’informations sur la sécurisation des rapports, consultez Sécurisation des rapports et des ressources.

Tutoriel : Ajouter un paramètre à un rapport (Générateur de rapports)

Concepts de paramètres de rapport

Exemples de rapports (Générateur de rapports et SSRS)

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

Expressions (Générateur de rapports et SSRS)

Filtrer, regrouper et trier des données (Générateur de rapports et SSRS)

Sécurité (Générateur de rapports)

Tri interactif, Explorateurs de documents et liens (Générateur de rapports et SSRS)

Extraction, exploration, sous-rapports et régions de données imbriquées (Générateur de rapports et SSRS)