Propriétés de champ étendues pour une base de données Analysis Services (SSRS)Extended Field Properties for an Analysis Services Database (SSRS)

L’extension pour le traitement des données SQL ServerSQL Server Analysis ServicesAnalysis Services prend en charge les propriétés de champ étendues.The SQL ServerSQL Server Analysis ServicesAnalysis Services data processing extension supports extended field properties. Les propriétés de champs étendues sont des propriétés complémentaires aux propriétés Value et IsMissing qui sont disponibles sur la source de données et prises en charge par l’extension pour le traitement des données.Extended field properties are properties in addition to the field properties Value and IsMissing that are available on the data source and supported by the data processing extension. Les propriétés étendues ne figurent pas dans le volet des données de rapport dans le cadre de la collection de champs pour un dataset de rapport.Extended properties do not appear in the Report Data pane as part of the field collection for a report dataset. Vous pouvez inclure des valeurs de propriété de champ étendues dans votre rapport en écrivant des expressions qui en spécifient le nom à l’aide de la collection Fields intégrée.You can include extended field property values in your report by writing expressions that specify them by name using the built-in Fields collection.

Les propriétés étendues incluent des propriétés prédéfinies et des propriétés personnalisées.Extended properties include predefined properties and custom properties. Les propriétés prédéfinies sont des propriétés communes à plusieurs sources de données qui sont mappées à des noms de propriétés de champs spécifiques. Elles sont accessibles par nom par l’intermédiaire de la collection Fields intégrée.Predefined properties are properties common to multiple data sources that are mapped to specific field property names and can be accessed through the built-in Fields collection by name. Les propriétés personnalisées sont spécifiques à chaque fournisseur de données et sont accessibles par l’intermédiaire de la collection Fields intégrée uniquement par la syntaxe utilisant le nom de la propriété étendue comme chaîne.Custom properties are specific to each data provider and can be accessed through the built-in Fields collection only through syntax using the extended property name as a string.

Quand vous utilisez le Concepteur de requêtes MDX Analysis ServicesAnalysis Services en mode graphique pour définir votre requête, un ensemble prédéfini de propriétés de cellule et de propriétés de dimension est ajouté automatiquement à la requête MDX.When you use the Analysis ServicesAnalysis Services MDX query designer in graphical mode to define your query, a predefined set of cell properties and dimension properties are automatically added to the MDX query. Vous pouvez uniquement utiliser des propriétés étendues qui sont répertoriées spécifiquement dans la requête MDX de votre rapport.You can only use extended properties that are specifically listed in the MDX query in your report. Selon votre rapport, vous souhaiterez peut-être modifier le texte de la commande MDX par défaut pour inclure d'autres propriétés personnalisées ou de dimension définies dans le cube.Depending on your report, you may want to modify the default MDX command text to include other dimension or custom properties defined in the cube. Pour plus d’informations sur les champs étendus disponibles dans les sources de données Analysis ServicesAnalysis Services, consultez Création et utilisation de valeurs de propriétés (MDX).For more information about extended fields available in Analysis ServicesAnalysis Services data sources, see Creating and Using Property Values (MDX).

Utilisation des propriétés de champ dans un rapportWorking with Field Properties in a Report

Les propriétés de champ étendues incluent des propriétés prédéfinies et des propriétés spécifiques au fournisseur de données.Extended field properties include predefined properties and data provider-specific properties. Les propriétés de champ n’apparaissent pas avec la liste de champs dans le volet Données du rapport , même si elles figurent dans la requête générée pour un dataset ; par conséquent, vous ne pouvez pas faire glisser les propriétés de champ vers l’aire de conception du rapport.Field properties do not appear with the field list in the Report Data pane, even though they are in the query built for a dataset; therefore, you cannot drag field properties onto your report design surface. À la place, vous devez faire glisser le champ dans le rapport, puis remplacer la propriété Value du champ par la propriété que vous voulez utiliser.Instead, you must drag the field onto the report and then change the Value property of the field to the property that you want to use. Par exemple, si les données de cellule d’un cube ont déjà été mises en forme, vous pouvez utiliser la propriété de champ FormattedValue en utilisant l’expression suivante : =Fields!FieldName.FormattedValue.For example, if the cell data from a cube has already been formatted, you can use the FormattedValue field property by using the following expression: =Fields!FieldName.FormattedValue.

Pour faire référence à une propriété étendue qui n'est pas prédéfinie, utilisez la syntaxe suivante dans une expression :To refer to an extended property that is not predefined, use the following syntax in an expression:

  • Fields!FieldName("PropertyName")Fields!FieldName("PropertyName")

Propriétés de champ prédéfiniesPredefined Field Properties

Dans la plupart des cas, les propriétés de champ prédéfinies s'appliquent aux mesures, aux niveaux ou aux dimensions.In most cases, predefined field properties apply to measures, levels, or dimensions. À chaque propriété de champ prédéfinie doit correspondre une valeur stockée dans la source de données Analysis ServicesAnalysis Services .A predefined field property must have a corresponding value stored in the Analysis ServicesAnalysis Services data source. Si aucune valeur n'existe ou que vous spécifiez une propriété de champ de mesure uniquement sur un niveau (par exemple), la propriété retourne une valeur NULL.If a value does not exist, or if you specify a measure-only field property on a level (for example), the property returns a null value.

Pour faire référence à une propriété prédéfinie à partir d'une expression, vous pouvez utiliser l'une des syntaxes suivantes :You can use either of the following syntaxes to refer to a predefined property from an expression:

  • Fields!FieldName.PropertyNameFields!FieldName.PropertyName

  • Fields!FieldName("PropertyName")Fields!FieldName("PropertyName")

    Le tableau suivant dresse la liste des propriétés de champ prédéfinies susceptibles d'être utilisées.The following table provides a list of predefined field properties that you can use.

PropriétéProperty TypeType Description ou valeur attendueDescription or expected value
ValueValue ObjetObject Précise la valeur de données du champ.Specifies the data value of the field.
IsMissingIsMissing BooléenBoolean Indique si le champ figure dans le dataset obtenu.Indicates whether the field was found in the resulting data set.
UniqueNameUniqueName ChaîneString Retourne le nom complet d'un niveau.Returns the fully qualified name of a level. Par exemple, la valeur UniqueName valeur d’un employé peut être [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].For example, the UniqueName value for an employee might be [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].
BackgroundColorBackgroundColor ChaîneString Retourne la couleur d'arrière-plan définie dans la base de données pour le champ.Returns the background color defined in the database for the field.
ColorColor ChaîneString Retourne la couleur de premier plan définie dans la base de données pour l'élément.Returns the foreground color defined in the database for the item.
FontFamilyFontFamily ChaîneString Retourne le nom de la police définie dans la base de données pour l'élément.Returns the name of the font defined in the database for the item.
FontSizeFontSize ChaîneString Retourne la taille en points de la police définie dans la base de données pour l'élément.Returns the point size of the font defined in the database for the item.
FontWeightFontWeight ChaîneString Retourne l'épaisseur de la police définie dans la base de données pour l'élément.Returns the weight of the font defined in the database for the item.
FontStyleFontStyle ChaîneString Retourne le style de la police définie dans la base de données pour l'élément.Returns the style of the font defined in the database for the item.
TextDecorationTextDecoration ChaîneString Retourne la mise en forme de texte spéciale définie dans la base de données pour l'élément.Returns special text formatting defined in the database for the item.
FormattedValueFormattedValue ChaîneString Retourne la valeur mise en forme d'une mesure ou d'un chiffre clé.Returns a formatted value for a measure or key figure. Par exemple, la propriété FormattedValue de Sales Amount Quota retourne un format monétaire semblable à $1,124,400.00.For example, the FormattedValue property for Sales Amount Quota returns a currency format like $1,124,400.00.
CléKey ObjetObject Retourne la clé d'un niveau.Returns the key for a level.
LevelNumberLevelNumber EntierInteger Dans le cas des hiérarchies parent-enfant, cette propriété retourne le nombre de niveaux ou de dimensions.For parent-child hierarchies, returns the level or dimension number.
ParentUniqueNameParentUniqueName ChaîneString Dans le cas des hiérarchies parent-enfant, cette propriété retourne le nom complet du niveau parent.For parent-child hierarchies, returns a fully qualified name of the parent level.
Note

Ces propriétés de champ étendues ont des valeurs seulement si la source de données (par exemple, le cube Analysis ServicesAnalysis Services ) fournit ces valeurs quand votre rapport s’exécute et récupère les données pour ses datasets.Values exist for these extended field properties only if the data source (for example, the Analysis ServicesAnalysis Services cube) provides these values when your report runs and retrieves the data for its datasets. Vous pouvez alors faire référence à ces valeurs de propriété de champ à partir de n'importe quelle expression en utilisant la syntaxe décrite dans la section suivante.You can then refer to those field property values from any expression using the syntax described in the following section. Cependant, dans la mesure où ces champs sont spécifiques à ce fournisseur de données, les modifications que vous apportez à ces valeurs ne sont pas enregistrées avec la définition du rapport.However, because these fields are specific to this data provider, changes that you make to these values are not saved with the report definition.

Exemple de propriétés étenduesExample Extended Properties

Pour illustrer les propriétés étendues, la requête MDX et l'ensemble de résultats suivants incluent plusieurs propriétés de membre disponibles dans un attribut de dimension défini pour un cube.To illustrate extended properties, the following MDX query and result set include several member properties available from a dimension attribute defined for a cube. Les propriétés de membre incluses sont MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME, et MEMBER_KEY.The member properties included are MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME, and MEMBER_KEY.

Cette requête MDX s’exécute par rapport au cube AdventureWorks2012AdventureWorks2012 dans la base de données AdventureWorks2012AdventureWorks2012 DW fournie avec les exemples de bases de données AdventureWorks2012AdventureWorks2012 .This MDX query runs against the AdventureWorks2012AdventureWorks2012 cube in the AdventureWorks2012AdventureWorks2012 DW database, included with the AdventureWorks2012AdventureWorks2012 sample databases.

WITH MEMBER [Measures].[DateCaption]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION'   
   MEMBER [Measures].[DateUniqueName]   
      AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME'   
   MEMBER [Measures].[DateDayName]   
      AS '[Date].[Date].Properties("Day Name")'   
   MEMBER [Measures].[DateValueinOriginalDatatype]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE'   
   MEMBER [Measures].[DateParentUniqueName]   
      AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME'   
   MEMBER [Measures].[DateMemberKeyinOriginalDatatype]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY'   
SELECT {  
   [Measures].[DateCaption],   
   [Measures].[DateUniqueName],   
   [Measures].[DateDayName],   
   [Measures].[DateValueinOriginalDatatype],  
   [Measures].[DateParentUniqueName],  
   [Measures].[DateMemberKeyinOriginalDatatype]  
   } ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS   
FROM [Adventure Works]  

Lorsque vous exécutez cette requête dans un volet de requête MDX, vous obtenez un ensemble de résultats comportant 1158 lignes.When you run this query in an MDX query pane, you get a result set with 1158 rows. Les quatre premières lignes sont affichées dans le tableau suivant.The first four rows are shown in the following table.

DateCaptionDateCaption DateUniqueNameDateUniqueName DateDayNameDateDayName DateValueinOriginalDatatypeDateValueinOriginalDatatype DateParentUniqueNameDateParentUniqueName DateMemberKeyinOriginalDatatypeDateMemberKeyinOriginalDatatype
All PeriodsAll Periods [Date].[Date].[All Periods][Date].[Date].[All Periods] (Null)(null) (Null)(null) (Null)(null) 00
1-juil-011-Jul-01 [Date].[Date].&[1][Date].[Date].&[1] DimancheSunday 7/1/20017/1/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 11
2-juil-012-Jul-01 [Date].[Date].&[2][Date].[Date].&[2] LundiMonday 7/2/20017/2/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 22
3-juil-013-Jul-01 [Date].[Date].&[3][Date].[Date].&[3] MardiTuesday 7/3/20017/3/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 33

Les requêtes MDX par défaut conçues à l'aide du Concepteur de requêtes MDX en mode graphique n'incluent que MEMBER_CAPTION et UNIQUENAME pour des propriétés de dimension.Default MDX queries built using the MDX Query Designer in graphical mode only include MEMBER_CAPTION and UNIQUENAME for dimension properties. Par défaut, ces valeurs sont toujours des données de type String.By default, these values always are data type String.

Si vous avez besoin d'une propriété de membre dans son type de données d'origine, vous pouvez inclure une propriété supplémentaire MEMBER_VALUE en modifiant l'instruction MDX par défaut dans le concepteur de requêtes textuel.If you need a member property in its original data type, you can include an additional property MEMBER_VALUE by modifying the default MDX statement in the text-based query designer. Dans l'instruction MDX simple suivante, la propriété MEMBER_VALUE a été ajoutée à la liste des propriétés dimension à extraire.In the following simple MDX statement, MEMBER_VALUE has been added to the list of dimension properties to retrieve.

SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS,   
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) }   
DIMENSION PROPERTIES   
   MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS   
FROM [Adventure Works]  
CELL PROPERTIES   
   VALUE, BACK_COLOR, FORE_COLOR,   
   FORMATTED_VALUE, FORMAT_STRING,   
   FONT_NAME, FONT_SIZE, FONT_FLAGS  

Les quatre premières lignes du résultat dans le volet Résultats MDX s'affichent dans le tableau suivant.The first four rows of the result in the MDX Results pane appear in the following table.

Mois de l'annéeMonth of Year Nombre de commandesOrder Count
JanvierJanuary 2,4812,481
FebruaryFebruary 2,6842,684
MarsMarch 2,7492,749
avrilApril 2,7392,739

Même si les propriétés font partie de l'instruction select MDX, elles n'apparaissent pas dans les colonnes du jeu de résultats.Even though the properties are part of the MDX select statement, they do not appear in the result set columns. Cependant, les données sont disponibles pour un rapport à l'aide de la fonctionnalité des propriétés étendues.Nevertheless, the data is available for a report by using the extended properties feature. Dans un volet des résultats d’une requête MDX dans SQL ServerSQL Server Management StudioManagement Studio, vous pouvez double-cliquer sur la cellule et afficher les valeurs de propriétés de cellules si elles sont définies dans le cube.In an MDX query result pane in SQL ServerSQL Server Management StudioManagement Studio, you can double-click on the cell and see the cell property values if they are set in the cube. Si vous double-cliquez sur la première cellule Nombre de commandes qui contient le chiffre 1,379, une fenêtre contextuelle s'affiche avec les propriétés de cellule suivantes :If you double-click on the first Order Count cell that contains 1,379, you will see a pop-up window with the following cell properties:

PropriétéProperty ValueValue
CellOrdinalCellOrdinal 00
ValueVALUE 24812481
BACK_COLORBACK_COLOR (Null)(null)
FORE_COLORFORE_COLOR (Null)(null)
FORMATTED_VALUEFORMATTED_VALUE 2,4812,481
FORMAT_STRINGFORMAT_STRING #,##,#
FONT_NAMEFONT_NAME (Null)(null)
FONT_SIZEFONT_SIZE (Null)(null)
FONT_FLAGSFONT_FLAGS (Null)(null)

Si vous créez un dataset de rapport avec cette requête et que vous liez celui-ci à une table, vous pouvez consulter la propriété VALUE par défaut pour un champ ; par exemple, =Fields!Month_of_Year!Value.If you create a report dataset with this query and bind the dataset to a table, you can see the default VALUE property for a field, for example, =Fields!Month_of_Year!Value. Si vous définissez cette expression comme l’expression de tri pour la table, vos résultats trient la table par ordre alphabétique par mois, car le champ Valeur utilise un type de données String .If you set this expression as the sort expression for the table, your results will be to sort the table alphabetically by month because the Value field uses a String data type. Pour trier la table pour afficher les mois dans l'ordre d'apparition au cours de l'année (janvier au début, décembre à la fin), utilisez l'expression suivante :To sort the table in so that the months are in the order they occur in the year with January first and December last, use the following expression:

=Fields!Month_of_Year("MEMBER_VALUE")  

Cette expression trie la valeur du champ dans son type de données entier d'origine à partir de la source de données.This sorts the value of the field in its original integer data type from the data source.

Voir aussiSee Also

Expressions (Générateur de rapports et SSRS) Expressions (Report Builder and SSRS)
Collections intégrées dans les expressions (Générateur de rapports et SSRS) Built-in Collections in Expressions (Report Builder and SSRS)
Collection de champs de dataset (Générateur de rapports et SSRS) Dataset Fields Collection (Report Builder and SSRS)