Utilisation de références à des champs Globals et Users prédéfinis (Report Builder 3.0 et SSRS)

La collection de champs prédéfinis, qui inclut à la fois les collections Globals et User, représente les valeurs globales fournies par Reporting Services lorsqu'un rapport est traité. La collection Globals fournit des valeurs, telles que le nom du rapport, l'heure de début du traitement du rapport et les numéros des pages actuelles pour l'en-tête ou le pied de page du rapport. La collection User fournit les paramètres d'identificateur d'utilisateur et de langue. Ces valeurs peuvent être utilisées dans les expressions pour filtrer les résultats dans un rapport.

Notes

Vous pouvez créer et modifier des définitions de rapports (.rdl) dans le Générateur de rapports version 3.0 et dans le Concepteur de rapports, dans Business Intelligence Development Studio. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes. Pour plus d'informations, consultez Conception de rapports dans le Concepteur de rapports et le Générateur de rapports version 3.0 (SSRS) sur le site Web Microsoft.

Utilisation de la collection Globals

La collection Globals comprend les variables globales du rapport. Sur l'aire de conception, ces variables apparaissent avec le préfixe & (esperluette), par exemple [&ReportName]. Le tableau ci-dessous décrit les membres de la collection Globals.

Membre

Type

Description

ExecutionTime

DateTime

Date et heure du début de l'exécution du rapport.

PageNumber

Integer

Numéro de page actuel relatif aux sauts de page qui réinitialisent le nombre de pages. Au début du traitement des rapports, la valeur initiale est 1. Le numéro de page est incrémenté pour chaque page rendue.

Pour numéroter les pages dans des sauts de page pour un rectangle, une région de données, un groupe de régions de données ou une carte, dans la propriété PageBreak, affectez à la propriété ResetPageNumber la valeur True. Non pris en charge dans la hiérarchie des groupes de colonnes de tableau matriciel.

PageNumber peut uniquement être utilisé dans une expression dans un en-tête ou un pied de page.

ReportFolder

String

Chemin d'accès complet au dossier contenant le rapport. Ce chemin n'inclut pas l'URL du serveur de rapports.

ReportName

String

Nom du rapport tel qu'il est stocké dans la base de données du serveur de rapports.

ReportServerUrl

String

URL du serveur de rapports sur lequel le rapport est en cours d'exécution.

TotalPages

Integer

Nombre total de pages relatif aux sauts de page qui réinitialisent PageNumber. Si aucun saut de page n'est défini, cette valeur est identique à OverallTotalPages.

TotalPages peut uniquement être utilisé dans une expression dans un en-tête ou un pied de page.

PageName

String

Nom de la page. Au début du traitement des rapports, la valeur initiale est définie à partir de la valeur InitialPageName, une propriété de rapport. À mesure que chaque élément de rapport est traité, cette valeur est remplacée par la valeur correspondante de PageName d'un rectangle, d'une région de données, d'un groupe de régions de données ou d'une carte. Non pris en charge dans la hiérarchie des groupes de colonnes de tableau matriciel.

PageName peut uniquement être utilisé dans une expression dans un en-tête ou un pied de page.

OverallPageNumber

Integer

Numéro de la page actuelle pour le rapport entier. Cette valeur n'est pas affectée par ResetPageNumber.

OverallPageNumber peut uniquement être utilisé dans une expression dans un en-tête ou un pied de page.

OverallTotalPages

Integer

Nombre total de pages pour le rapport entier. Cette valeur n'est pas affectée par ResetPageNumber.

OverallTotalPages peut uniquement être utilisé dans une expression dans un en-tête ou un pied de page.

RenderFormat

RenderFormat

Informations sur la demande de rendu actuelle.

Pour plus d'informations, consultez « RenderFormat » dans la section suivante.

Les membres de la collection Globals retournent un type Variant. Si vous souhaitez utiliser un membre de cette collection dans une expression nécessitant un type de données spécifique, vous devez en premier lieu effectuer le cast de la variable. Par exemple, pour convertir le type Variant de temps d'exécution en format de date, utilisez =CDate(Globals!ExecutionTime). Pour plus d'informations, consultez Utilisation des types de données dans les expressions (Générateur de rapports version 3.0 et SSRS).

RenderFormat

Le tableau suivant décrit les membres de RenderFormat.

Membre

Type

Description

Nom

String

Nom du convertisseur tel qu'il a été inscrit dans le fichier de configuration RSReportServer.

Disponible pendant des parties spécifiques du cycle de traitement/rendu des rapports.

IsInteractive

Boolean

Indique si la demande de rendu actuelle utilise un format de rendu interactif.

DeviceInfo

Collection nom/valeur en lecture seule

Paires clé/valeur pour les paramètres deviceinfo de la demande de rendu actuelle.

Les valeurs de chaîne peuvent être spécifiées en utilisant la clé ou un index dans la collection.

Exemples

Les exemples suivants montrent comment utiliser une référence à la collection Globals dans une expression :

  • Cette expression, placée dans une zone de texte dans le pied de page d'un rapport, indique le numéro de la page actuelle ainsi que le nombre total de pages du rapport :

    =Globals.PageNumber & " of " & Globals.TotalPages

  • Cette expression fournit le nom du rapport ainsi que l'heure de son exécution. L'heure est mise en forme avec la chaîne de mise en forme Microsoft .NET Framework pour la date courte :

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Utilisation de la collection User

La collection User contient des données relatives à l'utilisateur qui exécute le rapport. Vous pouvez utiliser cette collection pour filtrer les données qui apparaissent dans un rapport, par exemple pour montrer uniquement les données de l'utilisateur actuel ou inclure l'ID utilisateur dans un titre de rapport. Sur l'aire de conception, ces variables apparaissent avec le préfixe & (esperluette), par exemple [&UserID].

Le tableau ci-dessous décrit les membres de la collection User.

Membre

Type

Description

Language

String

Langue de l'utilisateur qui exécute le rapport. Par exemple, en-US.

UserID

String

Identificateur de l'utilisateur qui exécute le rapport. Si vous utilisez l'authentification Windows, cette valeur correspond au compte de domaine de l'utilisateur actuel. La valeur est déterminée par l'extension de sécurité de Reporting Services, qui peut utiliser l'authentification Windows ou une authentification personnalisée.

Pour plus d'informations sur la prise en charge de plusieurs langues dans un rapport, consultez « Considérations sur la conception de la solution pour les déploiements multilingues ou globaux » dans la documentation de Reporting Services dans la documentation en ligne de SQL Server.

Utilisation des paramètres régionaux

Vous pouvez utiliser des expressions pour faire référence aux paramètres régionaux sur un ordinateur client au moyen de la valeur User.Language pour déterminer l'aspect d'un rapport pour l'utilisateur. Par exemple, vous pouvez créer un rapport qui utilise une expression de requête différente en fonction de la valeur d'un paramètre régional. La requête peut changer de façon à récupérer des informations localisées, provenant d'une colonne différente selon la langue indiquée en retour. Vous pouvez également utiliser une expression dans les paramètres de langue du rapport ou des éléments de rapport basés sur cette variable.

Notes

S'il est possible de modifier les paramètres de langue d'un rapport, vous devez toutefois faire preuve de prudence car cela peut entraîner des problèmes d'affichage. Ainsi, un tel changement peut entraîner la modification du format de date du rapport, mais aussi du format de la devise. Si un processus de conversion de devise n'a pas été mis en place, cela peut provoquer l'affichage de symboles de devises incorrects dans le rapport. Pour éviter un tel problème, définissez les informations de langue sur les éléments individuels à modifier ou attribuez à l'élément comportant les données monétaires une langue spécifique.

Identification de l'ID utilisateur pour les rapports d'historique ou d'instantané

Dans certains cas, les rapports qui comprennent la variable User!UserID ne parviennent pas à afficher les données du rapport qui sont spécifiques à l'utilisateur qui affiche le rapport. Pour plus d'informations, consultez Dépannage de rapports : traitement de rapport.