Utilisation de références à des champs prédéfinis dans des expressions (Générateur de rapports version 2.0)

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.

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 la page actuelle qui peut être utilisé uniquement dans l'en-tête ou le 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 dans le rapport qui peut être utilisé uniquement dans l'en-tête ou le pied de page.

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 la variante 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 2.0).

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 la rubrique « Considérations sur la conception de la solution pour les déploiements multilingues ou globaux » dans la documentation Reporting Services de la documentation en ligne 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.

[!REMARQUE]

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 de capture instantanée

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 la rubrique « Dépannage des problèmes liés au traitement des rapports » dans la documentation Reporting Services de la documentation en ligne SQL Server.