Utilisation de propriétés de champ étendues pour une base de données Analysis Services

Mis à jour : 14 avril 2006

L'extension de traitement des données SQL Server Analysis Services prend en charge les propriétés de champ étendues. 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. Les propriétés étendues ne s'affichent pas dans le volet Datasets dans la collection de champs pour un dataset du rapport. 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 globale.

Les propriétés étendues incluent des propriétés prédéfinies et des propriétés personnalisées. 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é de champ spécifique. Elles sont accessibles par nom par l'intermédiaire de la collection Fields globale. Les propriétés personnalisées sont définies spécifiquement en fonction de chaque fournisseur de données et sont accessibles par l'intermédiaire de la collection Fields globale uniquement par la syntaxe utilisant le nom de la propriété étendue comme chaîne.

Lorsque vous utilisez le Concepteur de requêtes MDX Analysis Services en mode graphique pour définir votre requête, un jeu prédéfini de propriétés de cellule et de propriétés de dimension est ajouté automatiquement à la requête MDX. Vous pouvez uniquement utiliser des propriétés étendues qui sont répertoriées spécifiquement dans la requête MDX de votre rapport. 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. Pour plus d'informations sur les champs étendus disponibles dans les sources de données Analysis Services, consultez Création et utilisation de valeurs de propriétés (MDX).

Utilisation des propriétés de champ dans un rapport

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. Les propriétés de champ n'apparaissent pas dans la liste de champs de la fenêtre Datasets, 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 dans votre rapport tel qu'il est mis en page. 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.

Pour faire référence à une propriété étendue qui n'est pas prédéfinie, utilisez la syntaxe suivante dans une expression :

  • Fields!FieldName("PropertyName")

Propriétés de champ prédéfinies

Dans la plupart des cas, les propriétés de champ prédéfinies s'appliquent aux mesures, aux niveaux ou aux dimensions. À chaque propriété de champ prédéfinie doit correspondre une valeur dans la source de données Analysis Services. 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.

Pour faire référence à une propriété prédéfinie à partir d'une expression, vous pouvez utiliser l'une des syntaxes suivantes :

  • 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.

Propriété Type Description ou valeur attendue

Value

Object

Précise la valeur de données du champ.

IsMissing

Boolean

Indique si le champ figure dans le dataset obtenu.

UniqueName

String

Retourne le nom complet d'un niveau. Par exemple, la valeur UniqueName d'un employé peut être [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].

BackgroundColor

String

Retourne la couleur d'arrière-plan définie dans la base de données pour le champ.

Color

String

Retourne la couleur de premier plan définie dans la base de données pour l'élément.

FontFamily

String

Retourne le nom de la police définie dans la base de données pour l'élément.

FontSize

String

Retourne la taille en points de la police définie dans la base de données pour l'élément.

FontWeight

String

Retourne l'épaisseur de la police définie dans la base de données pour l'élément.

FontStyle

String

Retourne le style de la police définie dans la base de données pour l'élément.

TextDecoration

String

Retourne la mise en forme de texte spéciale définie dans la base de données pour l'élément.

FormattedValue

String

Retourne la valeur mise en forme d'une mesure ou d'un chiffre clé. Par exemple, la propriété FormattedValue de Sales Amount Quota retourne un format monétaire tel que $1,124,400.00.

Key

Object

Retourne la clé d'un niveau.

LevelNumber

Integer

Dans le cas des hiérarchies parent-enfant, cette propriété retourne le nombre de niveaux ou de dimensions.

ParentUniqueName

String

Dans le cas des hiérarchies parent-enfant, cette propriété retourne le nom complet du niveau parent.

Les propriétés de champ prédéfinies apparaissent dans IntelliSense dans l'éditeur d'expressions lorsque vous entrez la syntaxe d'un champ. Pour plus d'informations, consultez Utilisation de collections globales dans les expressions (Reporting Services).

ms156477.note(fr-fr,SQL.90).gifRemarque :
Ces propriétés de champ étendues ont des valeurs seulement si la source de données (par exemple, le cube Analysis Services) fournit ces valeurs lorsque votre rapport s'exécute et extrait les données pour ses datasets. Vous pouvez alors faire référence à ces valeurs de propriété de champ à partir d'une expression en utilisant la syntaxe décrite ci-dessous. 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.

Exemple de propriétés étendues

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. Les propriétés de membre incluses sont MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME, et MEMBER_KEY.

Cette requête MDX s'exécute par rapport au cube AdventureWorks dans la base de données AdventureWorks DW fournie avec l'exemple de bases de données AdventureWorks.

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. Les quatre premières lignes sont affichées dans le tableau ci-dessous.

DateCaption DateUniqueName DateDayName DateValueinOriginalDatatype DateParentUniqueName DateMemberKeyinOriginalDatatype

All Periods

[Date].[Date].[All Periods]

(null)

(null)

(null)

0

01.07.2001

[Date].[Date].&[1]

Dimanche

7/1/2001

[Date].[Date].[All Periods]

1

02.07.2001

[Date].[Date].&[2]

Lundi

7/2/2001

[Date].[Date].[All Periods]

2

03.07.2001

[Date].[Date].&[3]

7/3/2001

[Date].[Date].[All Periods]

3

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. Par défaut, ces valeurs sont toujours des données de 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ête générique. Dans l'instruction MDX simple suivante, la propriété MEMBER_VALUE a été ajoutée à la liste des propriétés de dimension à extraire.

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.

Mois de l'année Nombre de commandes

janvier

2,481

février

2,684

mars

2,749

avril

2,739

Même si les propriétés font partie de l'instruction select MDX, elles n'apparaissent pas dans les colonnes de l'ensemble de résultats. Cependant, les données sont disponibles pour un rapport qui utilise la fonctionnalité des propriétés étendues. Dans un volet de résultat de requête MDX dans SQL Server Management 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. 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 :

Propriété Valeur

CellOrdinal

0

VALUE

2481

BACK_COLOR

(null)

FORE_COLOR

(null)

FORMATTED_VALUE

2,481

FORMAT_STRING

#,#

FONT_NAME

(null)

FONT_SIZE

(null)

FONT_FLAGS

(null)

Si vous créez un dataset de rapport avec cette requête et 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. Si vous définissez cette expression comme l'expression de tri pour la table, vos résultats trient la table alphabétiquement par mois car le champ Valeur prend par défaut la valeur d'un type de données String. 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 :

=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.

Voir aussi

Référence

Utilisation de collections globales dans les expressions (Reporting Services)

Concepts

Définition de datasets de rapport pour les données multidimensionnelles et les données de prédiction d'exploration de données d'Analysis Services
Définition de datasets de rapport pour les données multidimensionnelles d'un système SAP NetWeaver BI

Autres ressources

Utilisation des expressions dans Reporting Services

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout de l'exemple MEMBER_VALUE.

14 avril 2006

Contenu modifié :
  • Ajout d'exemples et mise à jour de contenu.