Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
SQL Server Analysis Services expose des propriétés intrinsèques sur les membres de dimension que vous pouvez inclure dans une requête pour retourner des données ou des métadonnées supplémentaires à utiliser dans une application personnalisée, ou pour faciliter l’investigation ou la construction du modèle. Si vous utilisez les outils clients SQL Server, vous pouvez afficher les propriétés intrinsèques dans SQL Server Management Studio (SSMS).
Les propriétés intrinsèques incluent ID, KEY, KEYx et NAME, qui sont des propriétés exposées par chaque membre, à n’importe quel niveau. Vous pouvez également retourner des informations positionnelles, telles que LEVEL_NUMBER ou PARENT_UNIQUE_NAME, entre autres.
Selon la façon dont vous construisez la requête et sur l’application cliente que vous utilisez pour exécuter des requêtes, les propriétés de membre peuvent ou non être visibles dans le jeu de résultats. Si vous utilisez SQL Server Management Studio pour tester ou exécuter des requêtes, vous pouvez double-cliquer sur un membre dans le jeu de résultats pour ouvrir la boîte de dialogue Propriétés du membre, affichant les valeurs de chaque propriété membre intrinsèque.
Pour obtenir une présentation de l’utilisation et de l’affichage des propriétés de membre de dimension, consultez Affichage de propriétés de membre SSAS dans une fenêtre de requête MDX dans SSMS.
Remarque
En tant que fournisseur conforme à la section OLAP de la spécification OLE DB datée de mars 1999 (2.6), Microsoft SQL Server SQL Server Analysis Services prend en charge les propriétés de membre intrinsèques répertoriées dans cette rubrique.
Les fournisseurs autres que SQL ServerSQL Server Analysis Services peuvent prendre en charge des propriétés membres intrinsèques supplémentaires. Pour plus d'informations sur les propriétés de membre intrinsèques prises en charge par d'autres fournisseurs, consultez la documentation qui les accompagne.
Types de propriétés de membre
Les propriétés de membre intrinsèques prises en charge par SQL Server SQL Server Analysis Services sont de deux types :
Propriétés de membre sensibles au contexte
Ces propriétés de membre doivent être utilisées dans le contexte d'une hiérarchie ou d'un niveau spécifique ; elles fournissent les valeurs de chaque membre de la dimension ou du niveau en question.
Notez comment l’exemple suivant inclut le chemin d’accès de la propriété KEY : MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
.
Propriétés de membre non sensibles au contexte
Ces propriétés de membre ne peuvent pas être utilisées dans le contexte d’une dimension ou d’un niveau spécifique et retournent des valeurs pour tous les membres d’un axe.
Les propriétés non sensibles au contexte sont autonomes et n’incluent pas d’informations de chemin d’accès. Notez qu’il n’existe aucune dimension ou niveau spécifié pour PARENT_UNIQUE_NAME dans l’exemple suivant : DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS
Que la propriété de membre intrinsèque soit sensible au contexte ou non, les règles d'utilisation suivantes sont d'application :
Vous pouvez spécifier uniquement les propriétés de membre intrinsèques associées aux membres de dimension projetés sur l'axe.
Vous pouvez combiner dans la même requête des propriétés de membre intrinsèques sensibles au contexte et des propriétés de membre intrinsèques non sensibles au contexte.
Vous utilisez le mot clé PROPERTIES pour rechercher les propriétés.
Les sections suivantes décrivent les différentes propriétés de membre intrinsèques sensibles au contexte et non contextuelles disponibles dans SQL Server SQL Server Analysis Services et expliquent comment utiliser le mot clé PROPERTIES avec chaque type de propriété.
Propriétés de membre sensibles au contexte
Tous les membres de dimension ou de niveau prennent en charge une série de propriétés de membre intrinsèques sensibles au contexte. Le tableau suivant en dresse la liste.
Propriété | Descriptif |
---|---|
Identifiant | Identificateur géré en interne pour le membre. |
Clé | Valeur de la clé du membre dans le type de données d'origine. MEMBER_KEY est fournie à des fins de compatibilité descendante. MEMBER_KEY a la même valeur que KEY0 pour les clés non composites et la propriété MEMBER_KEY est Null pour les clés composites. |
KEYx | Clé du membre, où x est la valeur ordinale de base zéro de la clé. KEY0 est disponible pour les clés composites et non composites, mais utilisé principalement pour les clés composites. Pour les clés composites, KEY0, KEY1, KEY2, etc., forment collectivement la clé composite. Vous pouvez utiliser chacune indépendamment dans une requête pour retourner la partie en question de la clé composite. Par exemple, la spécification de KEY0 retourne la première partie de la clé composite, la spécification de KEY1 retourne la partie suivante de la clé composite, et ainsi de suite. Si la clé n’est pas composite, KEY0 équivaut à Key. Notez que KEYx peut être utilisé dans le contexte et sans contexte. Pour cette raison, il apparaît dans les deux listes. |
Nom | Nom du membre. |
Syntaxe PROPERTIES pour les propriétés sensibles au contexte
Vous utilisez ces propriétés de membre dans le contexte d’une dimension ou d’un niveau spécifique, et fournissez les valeurs de chaque membre de la dimension ou du niveau en question.
Pour les propriétés de membre de dimension, vous devez faire précéder le nom de la propriété du nom de la dimension à laquelle elle s'applique. L'exemple suivant illustre la syntaxe appropriée :
DIMENSION PROPERTIES Dimension.Property_name
Pour une propriété de membre de niveau, vous pouvez faire précéder le nom de la propriété du nom du niveau uniquement, ou des noms de la dimension et du niveau pour une spécification plus détaillée. L'exemple suivant illustre la syntaxe appropriée :
DIMENSION PROPERTIES [Dimension.]Level.Property_name
Pour illustrer cela, vous pouvez retourner les noms de chaque membre référencé dans la dimension [Sales]
. Pour retourner ces noms, vous devez utiliser l'instruction suivante dans une requête MDX (Multidimensional Expressions) :
DIMENSION PROPERTIES [Sales].Name
Propriétés de membre non sensibles au contexte
Tous les membres prennent également en charge une liste de propriétés de membre intrinsèques qui sont identiques quel que soit le contexte. Ces propriétés fournissent des informations supplémentaires pouvant être utilisées par des applications pour améliorer l'expérience de l'utilisateur.
Le tableau suivant répertorie les propriétés intrinsèques non sensibles au contexte prises en charge par SQL Server SQL Server Analysis Services.
Remarque
Les colonnes du jeu de lignes du schéma MEMBERS prennent en charge les propriétés de membre intrinsèques répertoriées dans le tableau suivant. Pour plus d'informations sur l'ensemble de lignes du schéma MEMBERS, consultez l'ensemble de lignes MDSCHEMA_MEMBERS.
Propriété | Descriptif |
---|---|
CATALOG_NAME | Nom du cube auquel ce membre appartient. |
CHILDREN_CARDINALITY | Nombre d'enfants de ce membre. Il peut s’agir d’une estimation. Vous ne devez donc pas compter sur ce nombre exact. Les fournisseurs doivent renvoyer la meilleure estimation possible. |
CUSTOM_ROLLUP | Expression de membre personnalisée. |
CUSTOM_ROLLUP_PROPERTIES | Propriétés de membre personnalisées. |
DESCRIPTION | Description du membre à l'intention des utilisateurs. |
DIMENSION_UNIQUE_NAME | Nom unique de la dimension à laquelle ce membre appartient. Pour les fournisseurs qui produisent des noms uniques par qualification, chaque composant du nom est délimité. |
HIERARCHY_UNIQUE_NAME | Nom unique de la hiérarchie. Si le membre appartient à plusieurs hiérarchies, il existe une ligne pour chaque hiérarchie à laquelle appartient le membre. Pour les fournisseurs qui produisent des noms uniques par qualification, chaque composant du nom est délimité. |
IS_DATAMEMBER | Valeur booléenne indiquant si le membre est un membre de données. |
IS_PLACEHOLDERMEMBER | Valeur booléenne indiquant si le membre est un espace réservé. |
KEYx | Clé du membre, où x est la valeur ordinale de base zéro de la clé. KEY0 est disponible pour les clés composites et non composites. Si la clé n’est pas composite, KEY0 équivaut à Key. Pour les clés composites, KEY0, KEY1, KEY2, etc., forment collectivement la clé composite. Vous pouvez faire référence à chacune indépendamment dans une requête pour retourner la partie en question de la clé composite. Par exemple, la spécification de KEY0 retourne la première partie de la clé composite, la spécification de KEY1 retourne la partie suivante de la clé composite, et ainsi de suite. Notez que KEYx peut être utilisé dans le contexte et sans contexte. Pour cette raison, il apparaît dans les deux listes. |
LCIDx | Traduction de la légende du membre dans la valeur hexadécimale de l’ID des paramètres régionaux, où x correspond à la valeur décimale de l’ID des paramètres régionaux (par exemple, LCID1009 pour Anglais - Canada). Uniquement disponible si la colonne de légende de la traduction est liée à la source de données. |
LEVEL_NUMBER | Distance du membre par rapport à la racine de la hiérarchie. Le niveau de la racine est égal à zéro. |
LEVEL_UNIQUE_NAME | Nom unique du niveau auquel le membre appartient. Pour les fournisseurs qui produisent des noms uniques par qualification, chaque composant du nom est délimité. |
MEMBER_CAPTION | Étiquette ou légende associée au membre. La légende est essentiellement utilisée à des fins d'affichage. Si aucune légende n’existe, la requête retourne MEMBER_NAME. |
MEMBER_KEY | Valeur de la clé du membre dans le type de données d'origine. MEMBER_KEY est fournie à des fins de compatibilité descendante. MEMBER_KEY a la même valeur que KEY0 pour les clés non composites et la propriété MEMBER_KEY est Null pour les clés composites. |
MEMBER_NAME | Nom du membre. |
MEMBER_TYPE | Type du membre. Cette propriété peut prendre les valeurs suivantes : MDMEMBER_TYPE_REGULAR MDMEMBER_TYPE_ALL MDMEMBER_TYPE_FORMULA MDMEMBER_TYPE_MEASURE MDMEMBER_TYPE_UNKNOWN Remarque : MDMEMBER_TYPE_FORMULA est prioritaire sur MDMEMBER_TYPE_MEASURE. Par conséquent, s’il existe un membre de formule (calculé) sur la dimension Mesures, la propriété MEMBER_TYPE pour le membre calculé est MDMEMBER_TYPE_FORMULA. |
NOM_UNIQUE_DU_MEMBRE | Nom unique du membre. Pour les fournisseurs qui produisent des noms uniques par qualification, chaque composant du nom est délimité. |
MEMBER_VALUE | Valeur du membre dans le type d'origine. |
PARENT_COUNT | Nombre de parents de ce membre. |
PARENT_LEVEL | Distance du parent du membre par rapport au niveau racine de la hiérarchie. Le niveau de la racine est égal à zéro. |
PARENT_UNIQUE_NAME | Nom unique du parent du membre. NULL est renvoyé pour tous les membres situés au niveau racine. Pour les fournisseurs qui produisent des noms uniques par qualification, chaque composant du nom est délimité. |
NIVEAUX_PASSÉS | Nombre de niveaux ignorés pour le membre. |
UNARY_OPERATOR | Opérateur unaire du membre. |
UNIQUE_NAME | Le nom complet du membre, au format : [dimension].[niveau].[key6]. |
Syntaxe PROPERTIES pour les propriétés non sensibles au contexte
Utilisez la syntaxe suivante pour spécifier une propriété membre intrinsèque non contextuelle à l’aide du mot clé PROPERTIES :
DIMENSION PROPERTIES Property
Notez que cette syntaxe n’autorise pas la propriété à être qualifiée par une dimension ou un niveau. La propriété ne peut pas être qualifiée, car une propriété de membre intrinsèque non sensible au contexte s'applique à tous les membres d'un axe.
Par exemple, une instruction MDX qui spécifie la propriété membre intrinsèque DESCRIPTION aurait la syntaxe suivante :
DIMENSION PROPERTIES DESCRIPTION
Cette instruction retourne la description de chaque membre de la dimension de l'axe. Si vous avez essayé de qualifier la propriété avec une dimension ou un niveau, comme dans Dimension.DESCRIPTION
ou Level.DESCRIPTION
, l’instruction ne sera pas validée.
Exemple :
Les exemples suivants montrent des requêtes MDX qui retournent les propriétés intrinsèques.
Exemple 1 : utiliser les propriétés intrinsèques contextuelles dans une requête
L'exemple suivant retourne l'ID parent, la clé et le nom de chaque catégorie de produits. Notez que les propriétés sont exposées en tant que mesures. Cela vous permet d'afficher les propriétés d'un ensemble de cellules lorsque vous exécutez la requête, plutôt que la boîte de dialogue Propriétés de membre dans SSMS. Vous pouvez exécuter une requête comme celle qui suit pour récupérer des métadonnées de membre à partir d'un cube déjà déployé.
WITH
MEMBER [Measures].[Parent Member ID] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")
MEMBER [Measures].[Parent Member Key] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
MEMBER [Measures].[Parent Member Name] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")
SELECT
{[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS,
[Product].[Product Categories].AllMembers on ROWS
FROM [Adventure Works]
Exemple 2 : propriétés intrinsèques non sensibles au contexte
L'exemple suivant correspond à la liste exhaustive des propriétés intrinsèques non sensibles au contexte. Après avoir exécuté la requête dans SSMS, cliquez sur les membres individuels pour afficher les propriétés dans la boîte de dialogue Propriétés de membre.
SELECT [Measures].[Sales Amount Quota] on COLUMNS,
[Employee].[Employees].members
DIMENSION PROPERTIES
CATALOG_NAME ,
CHILDREN_CARDINALITY ,
CUSTOM_ROLLUP ,
CUSTOM_ROLLUP_PROPERTIES ,
DESCRIPTION ,
DIMENSION_UNIQUE_NAME ,
HIERARCHY_UNIQUE_NAME ,
IS_DATAMEMBER ,
IS_PLACEHOLDERMEMBER ,
KEY0 ,
LCID ,
LEVEL_NUMBER ,
LEVEL_UNIQUE_NAME ,
MEMBER_CAPTION ,
MEMBER_KEY ,
MEMBER_NAME ,
MEMBER_TYPE ,
MEMBER_UNIQUE_NAME ,
MEMBER_VALUE ,
PARENT_COUNT ,
PARENT_LEVEL ,
PARENT_UNIQUE_NAME ,
SKIPPED_LEVELS ,
UNARY_OPERATOR ,
UNIQUE_NAME
ON ROWS
FROM [Adventure Works]
WHERE [Employee].[Employee Department].[Department].&[Sales]
Exemple 3 : retourner les propriétés de membre sous forme de données dans un jeu de résultats
L'exemple suivant retourne la légende traduite pour le membre de la catégorie de produit dans la dimension Product du cube Adventure Works pour les paramètres régionaux spécifiés.
WITH
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")
SELECT
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0
,[Product].[Category].MEMBERS ON 1
FROM [Adventure Works]
Voir aussi
PeriodsToDate (MDX)
Enfants (MDX)
Hiérarchie (MDX)
Count (Set) (MDX)
Filter (MDX)
AjouterMembresCalculés (MDX)
DrilldownLevel (MDX)
Properties (MDX)
PrevMember (MDX)
Utilisation des propriétés de membre (MDX)
Référence de fonction MDX (MDX)