Utilisation de collections intégrées dans les expressions (Générateur de rapports version 3.0 et SSRS)

Dans une expression d'un rapport, vous avez la possibilité d'inclure des références aux collections intégrées suivantes : ReportItems, Parameters, Fields, DataSets, DataSources, Variables, ainsi que des champs prédéfinis pour les informations globales telles que le nom du rapport. Toutes les collections ne sont pas répertoriées dans la boîte de dialogue Expression. En effet, les collections DataSets et DataSources ne sont disponibles qu'au moment de l'exécution pour les rapports publiés sur un serveur de rapports. La collection ReportItems représente l'ensemble des zones de texte figurant dans une partie du rapport, comme celles qui sont situées dans une page ou dans un en-tête de page.

Pour plus d'informations, consultez Expressions (Générateur de rapports version 3.0 et SSRS).

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.

Fonctionnement des collections intégrées

La table suivante répertorie les collections intégrées disponibles lorsque vous écrivez une expression. Chaque ligne inclut le nom de programmation, sensible à la casse, de la collection, indique si vous pouvez utiliser la boîte de dialogue Expression pour ajouter une référence à la collection de manière interactive, propose un exemple et précise quand les valeurs de la collection sont initialisées et peuvent être utilisées.

Collection intégrée

Catégorie dans la boîte de dialogue Expression

Exemple

Description

Globals

Champs prédéfinis

=Globals.ReportName

- or -

=Globals.PageNumber

Représente les variables globales utilisables pour des rapports, par exemple le nom du rapport ou le numéro de page. Toujours disponible.

Pour plus d'informations, consultez Utilisation de références à des champs Globals et Users prédéfinis (Report Builder 3.0 et SSRS).

User

Champs prédéfinis

=User.UserID

- ou -

=User.Language

Représente une collection de données sur l'utilisateur exécutant le rapport, par exemple le paramètre de langue ou l'ID utilisateur. Toujours disponible.

Pour plus d'informations, consultez Utilisation de références à des champs Globals et Users prédéfinis (Report Builder 3.0 et SSRS).

Parameters

Paramètres

=Parameters("ReportMonth").Value

- ou -

=Parameters!ReportYear.Value

Représente la collection des paramètres de rapport, chacun pouvant correspondre à une valeur unique ou à plusieurs valeurs. Non disponible tant que l'initialisation du traitement n'est pas terminée. Pour plus d'informations, consultez Utilisation de références à la collection Parameters (Générateur de rapports version 3.0 et SSRS).

Fields(<Dataset>)

Champs

=Fields!Sales.Value

Représente la collection des champs du dataset qui sont disponibles pour le rapport. Disponibles après extraction des données d'une source de données dans un dataset. Pour plus d'informations, consultez Utilisation de références à une collection de champs de dataset (Générateur de rapports version 3.0 et SSRS).

DataSets

Non affichée

=DataSets("TopEmployees").CommandText

Représente la collection de sources de données référencées à partir du corps d'une définition de rapport. N'inclut pas les sources de données utilisées uniquement dans les en-têtes ou les pieds de page. Non disponible dans l'aperçu local. Pour plus d'informations, consultez Utilisation de références à des collections DataSources et DataSets (Générateur de rapports version 3.0 et SSRS).

DataSources

Non affichée

=DataSources("AdventureWorks").Type

Représente la collection des sources de données référencées à partir du corps d'un rapport. N'inclut pas les sources de données utilisées uniquement dans les en-têtes ou les pieds de page. Non disponible dans l'aperçu local. Pour plus d'informations, consultez Utilisation de références à des collections DataSources et DataSets (Générateur de rapports version 3.0 et SSRS).

Variables

Variables

=Variables!CustomTimeStamp.Value

Représente la collection des variables de rapport et de groupe. Pour plus d'informations, consultez Utilisation de références à des collections de variables de rapport et de groupe (Générateur de rapports version 3.0 et SSRS).

ReportItems

Non affichée

=ReportItems("Textbox1").Value

Représente la collection des zones de texte d'un élément de rapport. Cette collection peut être utilisée pour proposer un résumé des éléments présents dans la page en vue de leur inclusion dans un en-tête ou un pied de page. Pour plus d'informations, consultez Utilisation de références à la collection ReportItems (Générateur de rapports version 3.0 et SSRS).

Utilisation de la syntaxe de collection dans une expression

Pour faire référence à une collection à partir d'une expression, vous pouvez utiliser une syntaxe Microsoft Visual Basic standard pour un élément au sein d'une collection. Le tableau ci-après propose des exemples de syntaxe de collection.

Syntaxe

Exemple

Collection!ObjectName.Property

=Fields!Sales.Value

Collection!ObjectName("Property")

=Fields!Sales("Value")

Collection("ObjectName").Property

=Fields("Sales").Value

Collection("Member")

=User("Language")

Collection.Member

=User.Language

Passage de collections intégrées dans les assemblys personnalisés

Si vous souhaitez passer des collections intégrées dans un assembly personnalisé pour le traitement, vous devez ajouter une référence d'assembly dans votre projet de code à l'assembly qui définit les collections intégrées et accède à l'espace de noms approprié. Selon que vous développez l'assembly personnalisé pour un rapport exécuté sur un serveur de rapports (rapport de serveur) ou un rapport exécuté localement dans une application .NET (rapport local), l'assembly que vous devez référencer est différent. Pour plus d'informations, reportez-vous au passage correspondant ci-dessous.

  • Espace de noms : Microsoft.ReportingServices.ReportProcessing.ReportObjectModel

  • Assembly (rapport local) : Microsoft.ReportingServices.ProcessingObjectModel.dll

  • Assembly (rapport de serveur) : Microsoft.ReportViewer.ProcessingObjectModel.dll

Dans la mesure où le contenu des collections Fields et ReportItems peut changer dynamiquement pendant l'exécution, vous ne devez pas les conserver d'un appel à l'autre dans l'assembly personnalisé (par exemple, dans une variable membre). La même recommandation s'applique en général à toutes les collections intégrées.