Collection de champs de dataset (Générateur de rapports et SSRS)Dataset Fields Collection (Report Builder and SSRS)

Les champs de dataset représentent les données d'une connexion de données.Dataset fields represent the data from a data connection. Un champ peut représenter des données numériques ou non numériques.A field can represent either numeric or non-numeric data. À titre d'exemples, citons des chiffres d'affaires, des totaux de ventes, des noms de client, des identificateurs de base de données, des URL, des images, des données spatiales et des adresses de messagerie.Examples include sales amounts, total sales, customer names, database identifiers, URLs, images, spatial data, and e-mail addresses. Sur l'aire de conception, les champs s'affichent sous la forme d'expressions dans les éléments de rapport tels que les zones de texte, les tables et les graphiques.On the design surface, fields appear as expressions in report items such as text boxes, tables, and charts.

Un rapport comporte trois types de champs et les affiche dans le volet des données de rapport : champs de dataset, champs calculés de dataset et champs prédéfinis.A report has three types of fields and displays them in the Report Data pane: dataset fields, dataset calculated fields, and built-in fields.

  • Champs de dataset.Dataset fields. Métadonnées qui représentent la collection des champs retournés lorsque la requête de dataset s'exécute sur la source de données.The metadata that represents the collection of fields that will be returned when the dataset query runs on the data source.

  • Champs calculés de dataset.Dataset calculated fields. Champs supplémentaires que vous créez pour le dataset.Additional fields that you create for the dataset. Chaque champ calculé est créé en évaluant une expression que vous définissez.Each calculated field is created by evaluating an expression that you define.

  • Champs prédéfinis.Built-in fields. Métadonnées qui représentent une collection de champs fournie par le Générateur de rapports qui indique des informations sur le rapport, telles que le nom du rapport ou l'heure de son traitement.The metadata that represents a collection of fields provided by Report Builder that provide report information such as the report name or the time when the report was processed. Pour plus d’informations, consultez Références à des champs Globals et Users prédéfinis (Générateur de rapports et SSRS).For more information, see Built-in Globals and Users References (Report Builder and SSRS).

    Les noms de champ de dataset sont enregistrés dans la définition de dataset du rapport.Dataset field names are saved as part of the report dataset definition. Pour plus d’informations, consultez Datasets incorporés dans le rapport et datasets partagés (Générateur de rapports et SSRS).For more information, see Report Embedded Datasets and Shared Datasets (Report Builder and SSRS).

Note

Vous pouvez créer et modifier des fichiers de définition de rapport (.rdl) paginés dans le Générateur de rapports et dans le Concepteur de rapports dans SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes.Each authoring environment provides different ways to create, open, and save reports and related items.

Champs de dataset et requêtesDataset Fields and Queries

Les champs de dataset sont spécifiés par la commande de requête de dataset et par tout champ calculé que vous définissez.Dataset fields are specified by the dataset query command and by any calculated fields that you define. La collection de champs que vous voyez dans votre rapport dépend du type de dataset dont vous disposez :The collection of fields that you see in your report depends on the type of dataset you have:

  • Dataset partagé.Shared dataset. La collection de champs correspond à la liste des champs pour la requête dans la définition du dataset partagé au moment où vous avez ajouté directement le dataset partagé à votre rapport, ou lorsque vous avez ajouté une partie de rapport incluant le dataset partagé.The field collection is the list of fields for the query in the shared dataset definition at the time that you directly added the shared dataset to your report, or when you added a report part that included the shared dataset. La collection de champs locale ne change pas lorsque la définition du dataset partagé est modifiée sur le serveur de rapports.The local field collection does not change when the shared dataset definition changes on the report server. Pour mettre à jour la collection de champs locale, vous devez actualiser la liste pour le dataset partagé local.To update the local field collection, you must refresh the list for the local shared dataset.

  • Dataset incorporé.Embedded dataset. La collection de champs correspond à la liste de champs retournée suite à l'exécution de la requête actuelle sur la source de données.The field collection is the list of fields that is returned from running the current query against the data source.

    Pour plus d’informations, consultez Ajouter, modifier ou actualiser des champs dans le volet des données de rapport (Générateur de rapports et SSRS)For more information see, Add, Edit, Refresh Fields in the Report Data Pane (Report Builder and SSRS)

Champs calculésCalculated Fields

Vous spécifiez un champ calculé manuellement en créant une expression.You specify a calculated field manually by creating an expression. Les champs calculés peuvent être utilisés pour créer de nouvelles valeurs qui n'existent pas dans la source de données.Calculated fields can be used to create new values that do not exist on the data source. Un champ calculé peut, par exemple, représenter une nouvelle valeur, un ordre de tri personnalisé pour un jeu de valeurs de champ ou un champ existant converti en type de données différent.For example, a calculated field can represent a new value, a custom sort order for a set of field values, or an existing field that is converted to a different data type.

Les champs calculés sont définis localement pour un rapport et ne peuvent pas être enregistrés dans le cadre d'un dataset partagé.Calculated fields are local to a report and cannot be saved as part of a shared dataset.

Pour plus d’informations, consultez Ajouter, modifier ou actualiser des champs dans le volet des données de rapport (Générateur de rapports et SSRS).For more information, see Add, Edit, Refresh Fields in the Report Data Pane (Report Builder and SSRS).

Entités et champs d'entitéEntities and Entity Fields

Si vous utilisez une source de données de modèle de rapport, spécifiez les entités et les champs d'entité en tant que données de rapport.If you are working with a report model data source, you specify the entities and entity fields as your report data. Dans le concepteur de requêtes d'un modèle de rapport, vous pouvez explorer et sélectionner interactivement des entités associées et choisir les champs que vous souhaitez inclure dans votre dataset de rapport.In the query designer for a report model, you can interactively explore and select related entities and choose the fields that you want to include in your report dataset. Une fois la requête créée, vous pouvez consulter l'ensemble d'identificateurs d'entité et de champs d'entité dans le volet des données de rapport.After you finish designing the query, you can see the collection of entity identifiers and entity fields in the Report Data pane. Les identificateurs d'entité sont générés automatiquement par le modèle de rapport et ne sont généralement pas visibles par l'utilisateur final.Entity identifiers are generated automatically by the report model and are typically not displayed for the end user.

Utilisation des propriétés de champ étenduesUsing Extended Field Properties

Les sources de données qui prennent en charge des requêtes multidimensionnelles, comme SQL ServerSQL Server Analysis ServicesAnalysis Services, prennent en charge les propriétés de champ sur les champs.Data sources that support multidimensional queries, such as SQL ServerSQL Server Analysis ServicesAnalysis Services, support field properties on fields. Les propriétés de champ apparaissent dans le jeu de résultats d'une requête, mais ne sont pas visibles dans le volet Données du rapport .Field properties appear in the result set for a query, but are not visible in the Report Data pane. Elles sont néanmoins disponibles pour les utiliser dans votre rapport.They are still available to use in your report. Pour vous référer à la propriété d'un champ, faites glisser le champ dans le rapport et remplacez la propriété par défaut Value par le nom de champ de la propriété souhaitée.To refer to a property for a field, drag the field onto the report, and change the default property Value to the field name of the property you want. Dans un cube Analysis ServicesAnalysis Services par exemple, vous pouvez définir des formats pour les valeurs dans les cellules de cube.For example, in an Analysis ServicesAnalysis Services cube, you can define formats for values in the cube cells. La valeur mise en forme est disponible à l'aide de la propriété de champ FormattedValue.The formatted value is available by using the field property FormattedValue. Pour utiliser directement la valeur au lieu d'utiliser une valeur, puis de définir la propriété de format de la zone de texte, faites glisser le champ vers la zone de texte et remplacez l'expression par défaut =Fields!FieldName.Value par =Fields!FieldName.FormattedValue.To use the value directly instead of using a value and setting the format property of the text box, drag the field to the text box and change the default expression =Fields!FieldName.Value to =Fields!FieldName.FormattedValue.

Note

Certaines propriétés Field ne peuvent pas être utilisées pour toutes les sources de données.Not all Field properties can be used for all data sources. Les propriétés Value et IsMissing sont définies pour toutes les sources de données.The Value and IsMissing properties are defined for all data sources. D’autres propriétés prédéfinies (comme Key, UniqueNameet ParentUniqueName pour les sources de données multidimensionnelles) sont prises en charge uniquement si la source de données les fournit.Other predefined properties (such as Key, UniqueName, and ParentUniqueName for multidimensional data sources) are supported only if the data source provides those properties. Certains fournisseurs de données prennent en charge les propriétés personnalisées.Custom properties are supported by some data providers. Pour plus d’informations, consultez les rubriques spécifiques relatives aux propriétés de champ étendues correspondant à votre type de source de données dans Datasets incorporés dans le rapport et datasets partagés (Générateur de rapports et SSRS).For more information, see specific topics about extended field properties for your data source type in Report Embedded Datasets and Shared Datasets (Report Builder and SSRS). Pour obtenir un exemple relatif à une source de données SQL ServerSQL Server Analysis ServicesAnalysis Services, consultez Propriétés de champ étendues pour une base de données Analysis Services (SSRS).For example, for a SQL ServerSQL Server Analysis ServicesAnalysis Services data source, see Extended Field Properties for an Analysis Services Database (SSRS).

Présentation des expressions par défaut pour les champsUnderstanding Default Expressions for Fields

Une zone de texte peut correspondre à un élément de rapport de zone de texte dans le corps du rapport ou il peut s'agir d'une zone de texte dans une cellule d'une région de données de tableau matriciel.A text box can be a text box report item in the report body, or a text box in a cell in a tablix data region. Lorsque vous liez un champ à une zone de texte, l'emplacement de celle-ci détermine l'expression par défaut pour la référence du champ.When you link a field with a text box, the location of the text box determines the default expression for the field reference. Dans le corps du rapport, une expression de valeur de zone de texte doit spécifier un agrégat et un dataset.In the report body, a text box value expression must specify an aggregate and a dataset. S'il n'existe qu'un seul dataset dans le rapport, cette expression par défaut est créée à votre place.If only one dataset exists in the report, this default expression is created for you. Pour un champ qui représente une valeur numérique, la fonction d'agrégation par défaut est Sum.For a field that represents a numeric value, the default aggregate function is Sum. Pour un champ qui représente une valeur non numérique, l'agrégat par défaut est First.For a field that represents a non-numeric value, the default aggregate is First.

Dans une région de données de tableau matriciel, l'expression de champ par défaut dépend des appartenances aux lignes et aux groupes de la zone de texte à laquelle vous ajoutez le champ.In a tablix data region, the default field expression depends on the row and group memberships of the text box that you add the field to. L'expression de champ pour le champ Sales, lorsqu'il est ajouté à une zone de texte dans la ligne de détails d'une table, est [Sales].The field expression for the field Sales, when added to a text box in the detail row of a table, is [Sales]. Si vous ajoutez ce même champ à une zone de texte dans un en-tête de groupe, l'expression par défaut est (Sum[Sales]), car l'en-tête de groupe affiche des valeurs résumées pour le groupe et non des valeurs de détails.If you add the same field to a text box in a group header, the default expression is (Sum[Sales]), because the group header displays summary values for the group, not detail values. Lors de l'exécution du rapport, le processeur de rapports évalue chaque expression et substitue le résultat dans le rapport.When the report runs, the report processor evaluates each expression and substitutes the result in the report.

Pour plus d’informations sur les expressions, consultez Expressions (Générateur de rapports et SSRS).For more information about expressions, see Expressions (Report Builder and SSRS).

Types de données de champField Data Types

Lorsque vous créez un dataset, il se peut que les types de données des champs sur la source de données ne correspondent pas exactement aux types de données utilisés dans un rapport.When you create a dataset, the data types of the fields on the data source may not be exactly the data types used in a report. Les types de données peuvent passer par une ou deux couches de mappage.Data types may go through one or two mapping layers. L'extension pour le traitement des données ou le fournisseur de données peuvent mapper les types de données de la source de données en types de données CLR (Common Language Runtime).The data processing extension or data provider may map data types from the data source to common language runtime (CLR) data types. Les types de données retournés par les extensions pour le traitement des données sont mappés à un sous-ensemble de types de données CLR (Common Language Runtime) à partir du .NET Framework.NET Framework.The data types returned by data processing extensions are mapped to a subset of common language runtime (CLR) data types from the .NET Framework.NET Framework.

Dans la source de données, les données sont stockées dans des types de données pris en charge par la source de données.On the data source, the data is stored in data types supported by the data source. Par exemple, les données d’une base de données SQL ServerSQL Server doivent correspondre à l’un des types de données SQL ServerSQL Server pris en charge, tels que nvarchar ou datetime.For example, data in a SQL ServerSQL Server database must be one of the supported SQL ServerSQL Server data types such as nvarchar or datetime. Lorsque vous récupérez des données à partir de la source de données, celles-ci sont transmises par l'intermédiaire d'une extension pour le traitement des données ou d'un fournisseur de données associé au type de source de données.When you retrieve data from the data source, the data passes through a data processing extension or data provider that is associated with the data source type. Selon l'extension pour le traitement des données utilisée, les données peuvent être converties à partir des types de données utilisés par la source de données en types de données pris en charge par l'extension pour le traitement des données.Depending on the data processing extension, data may be converted from the data types used by data source into data types supported by the data processing extension. Reporting ServicesReporting Services utilise des types de données pris en charge par le CLR (Common Language Runtime) installé avec Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT). uses data types supported by the common language runtime (CLR) that is installed with Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT). Le fournisseur de données mappe chaque colonne contenue dans le jeu de résultats du type de données natif en un type de données CLR (Common Language Runtime) .NET Framework.NET Framework .The data provider maps each column in the result set from the native data type to a .NET Framework.NET Framework common language runtime (CLR) data type.

À chaque étape, les données sont représentées par les types de données comme décrit dans la liste suivante :At each stage, the data is represented by the data types as described in the following list:

  • Source de données Il s'agit des types de données pris en charge par la version du type de source de données à laquelle vous vous connectez.Data source The data types supported by the version of the type of data source to which you are connecting.

    Par exemple, les types de données classiques pour une source de données SQL ServerSQL Server incluent int, datetimeet varchar.For example, typical data types for a SQL ServerSQL Server data source include int, datetime, and varchar. SQL Server 2008SQL Server 2008 a introduit la prise en charge des types de données date, time, datetimetzet datetime2.Data types introduced by SQL Server 2008SQL Server 2008 added support for date, time, datetimetz, and datetime2. Pour plus d’informations, consultez Types de données (Transact-SQL).For more information, see Data Types (Transact-SQL).

  • Fournisseur de données ou extension pour le traitement des données Il s'agit des types de données pris en charge par la version du fournisseur de données ou de l'extension pour le traitement des données que vous sélectionnez lorsque vous vous connectez à la source de données.Data provider or data processing extension The data types supported by the version of the data provider of the data processing extension you select when you connect to the data source. Les fournisseurs de données se basant sur le .NET Framework.NET Framework utilisent des types de données pris en charge par le CLR.Data providers based on the .NET Framework.NET Framework use data types supported by the CLR. Pour plus d’informations sur les types de données des fournisseurs de données .NET Framework.NET Framework , consultez Mappages de types de données (ADO.NET) et Utilisation des types de base sur MSDN.For more information about .NET Framework.NET Framework data provider data types, see Data Type Mappings (ADO.NET) and Working with Base Types on MSDN.

    Les types de données classiques pris en charge par le .NET Framework.NET Framework sont Int32 et String, par exemple.For example, typical data types supported by the .NET Framework.NET Framework include Int32 and String. Les dates et heures de calendrier sont prises en charge par la structure DateTime .Calendar dates and times are supported by the DateTime structure. .NET Framework.NET Framework 2.0 Service Pack 1 a introduit la prise en charge de la structure DateTimeOffset pour les dates avec un décalage de fuseau horaire.The .NET Framework.NET Framework 2.0 Service Pack 1 introduced support for the DateTimeOffset structure for dates with a time zone offset.

    Note

    Le serveur de rapports utilise les fournisseurs de données qui sont installés et configurés sur le serveur de rapports.The report server uses the data providers that are installed and configured on the report server. Les clients de création de rapports en mode Aperçu utilisent les extensions pour le traitement des données installées et configurées sur l'ordinateur client.Report authoring clients in Preview mode use the installed and configured data processing extensions on the client machine. Vous devez tester votre rapport à la fois dans l'environnement de client de rapports et de serveur de rapports.You must test your report in both the report client and the report server environment.

  • Processeur de rapports Les types de données sont basés sur la version du CLR installée lorsque vous avez installé Reporting ServicesReporting Services.Report processor The data types are based on the version of the CLR installed when you installed Reporting ServicesReporting Services.

    Par exemple, les types de données que le processeur de rapports utilise pour les nouveaux types de date et d'heure introduits dans SQL Server 2008SQL Server 2008 sont indiqués dans le tableau ci-dessous :For example, the data types the report processor uses for the new date and time types introduced in SQL Server 2008SQL Server 2008 are shown in the following table:

    Type de données SQLSQL Data Type Type de données CLRCLR Data Type DescriptionDescription
    DateDate DateTimeDateTime Date uniquementDate only
    TimeTime TimeSpanTimeSpan Heure uniquementTime only
    DateTimeTZDateTimeTZ DateTimeOffsetDateTimeOffset Date et heure avec décalage de fuseau horaireDate and time with time zone offset
    DateTime2DateTime2 DateTimeDateTime Date et heure avec fractions de millisecondeDate and time with fractional milliseconds

    Pour plus d’informations sur les types de bases de données SQL ServerSQL Server , consultez Types de données (moteur de base de données) et Types de données et fonctions de date et d’heure (Transact-SQL).For more information about SQL ServerSQL Server database types, see Data Types (Database Engine) and Date and Time Data Types and Functions (Transact-SQL).

    Pour plus d’informations sur l’ajout de références dans un champ de dataset à partir d’une expression, consultez Types de données dans les expressions (Générateur de rapports et SSRS).For more information about including references to a dataset field from an expression, see Data Types in Expressions (Report Builder and SSRS).

Détection de champs manquants lors de l'exécutionDetecting Missing Fields at Run Time

Lorsque le rapport est traité, le jeu de résultats pour un dataset peut ne pas contenir de valeurs pour toutes les colonnes spécifiées, car les colonnes n'existent plus dans la source de données.When the report is processed, the result set for a dataset may not contain values for all of the columns specified because the columns no longer exist on the data source. Vous pouvez utiliser la propriété de champ IsMissing pour détecter si des valeurs ont été retournées pour un champ au moment de l’exécution.You can use the field property IsMissing to detect whether values for a field were returned at run-time. Pour plus d’informations, consultez Référence à une collection de champs de dataset (Générateur de rapports et SSRS).For more information, see Dataset Fields Collection References (Report Builder and SSRS).

Voir aussiSee Also

Boîte de dialogue Propriétés du dataset, Champs (Générateur de rapports) Dataset Properties Dialog Box, Fields (Report Builder)
Parties de rapports et datasets dans le Générateur de rapports Report Parts and Datasets in Report Builder
Datasets incorporés dans le rapport et datasets partagés (Générateur de rapports et SSRS)Report Embedded Datasets and Shared Datasets (Report Builder and SSRS)