Freigeben über


MDX-Membereigenschaften – Systeminterne Membereigenschaften

gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services macht systeminterne Eigenschaften für Dimensionsmember verfügbar, die Sie in eine Abfrage einbeziehen können, um zusätzliche Daten oder Metadaten zur Verwendung in einer benutzerdefinierten Anwendung zurückzugeben, oder um die Modelluntersuchung oder -konstruktion zu unterstützen. Wenn Sie die SQL Server-Clienttools verwenden, können Sie systeminterne Eigenschaften in SQL Server Management Studio (SSMS) anzeigen.

Zu den systeminternen Eigenschaften gehören ID, KEY, KEYx und NAME, die von jedem Element verfügbar gemacht werden, auf jeder Ebene. Sie können auch Positionsinformationen zurückgeben, z. B. LEVEL_NUMBER oder PARENT_UNIQUE_NAME, unter anderem.

Je nachdem, wie Sie die Abfrage erstellen und in der Clientanwendung, die Sie zum Ausführen von Abfragen verwenden, sind Membereigenschaften möglicherweise im Resultset sichtbar oder nicht sichtbar. Wenn Sie SQL Server Management Studio zum Testen oder Ausführen von Abfragen verwenden, können Sie auf ein Element im Resultset doppelklicken, um das Dialogfeld "Membereigenschaften" zu öffnen, in dem die Werte für jede systeminterne Membereigenschaft angezeigt werden.

Eine Einführung in die Verwendung und Anzeige von Elementeigenschaften für Dimensionelemente finden Sie unter Anzeigen von SSAS-Membereigenschaften in einem MDX-Abfragefenster in SSMS.

Hinweis

Als Anbieter, der mit dem OLAP-Abschnitt der OLE DB-Spezifikation vom März 1999 (2.6) kompatibel ist, unterstützt Microsoft SQL Server SQL Server Analysis Services die in diesem Thema aufgeführten systeminternen Membereigenschaften.

Andere Anbieter als SQL ServerSQL Server Analysis Services unterstützen möglicherweise zusätzliche systeminterne Membereigenschaften. Weitere Informationen zu den systeminternen Membereigenschaften, die von anderen Anbietern unterstützt werden, finden Sie in der Dokumentation, die im Lieferumfang dieser Anbieter enthalten ist.

Typen von Membereigenschaften

Die systeminternen Membereigenschaften, die von SQL Server SQL Server Analysis Services unterstützt werden, sind von zwei Typen:

Kontextbezogene Membereigenschaften
Diese Membereigenschaften müssen im Kontext einer bestimmten Hierarchie oder Ebene verwendet werden und geben Werte für jedes Element der angegebenen Dimension oder Ebene an.

Beachten Sie, wie das folgende Beispiel den Pfad für die KEY-Eigenschaft enthält: MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY").

Nicht kontextbezogene Membereigenschaften
Diese Membereigenschaften können nicht im Kontext einer bestimmten Dimension oder Ebene verwendet werden und geben Werte für alle Elemente auf einer Achse zurück.

Eigenständige Kontext-insensitive Eigenschaften und enthalten keine Pfadinformationen. Beachten Sie, dass im folgenden Beispiel keine Dimension oder Ebene für PARENT_UNIQUE_NAME angegeben ist: DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS

Unabhängig davon, ob die systeminterne Membereigenschaft kontextsensitiv ist oder nicht, gelten die folgenden Verwendungsregeln:

  • Sie können nur die systeminternen Membereigenschaften angeben, die sich auf Bemaßungselemente beziehen, die auf der Achse projiziert werden.

  • Sie können Anforderungen für kontextabhängige Membereigenschaften in derselben Abfrage mit nicht kontextabhängigen systeminternen Membereigenschaften kombinieren.

  • Sie verwenden das PROPERTIES-Schlüsselwort , um die Eigenschaften abzufragen.

In den folgenden Abschnitten werden die verschiedenen kontextsensitiven und nicht kontextabhängigen systeminternen Membereigenschaften beschrieben, die in SQL Server SQL Server Analysis Services verfügbar sind, und die Verwendung des PROPERTIES-Schlüsselworts mit jedem Eigenschaftentyp.

Kontextbezogene Membereigenschaften

Alle Dimensionsmember und Ebenenmember unterstützen eine Liste systeminterner Membereigenschaften, die kontextsensitiv sind. In der folgenden Tabelle sind diese kontextabhängigen Eigenschaften aufgeführt.

Eigentum Description
ID Die intern verwaltete ID für das Mitglied.
Schlüssel Der Wert des Memberschlüssels im ursprünglichen Datentyp. MEMBER_KEY ist aus Gründen der Abwärtskompatibilität vorgesehen. MEMBER_KEY hat denselben Wert wie KEY0 für nicht zusammengesetzte Schlüssel, und MEMBER_KEY Eigenschaft ist null für zusammengesetzte Schlüssel.
KEYx Der Schlüssel für das Element, wobei x die nullbasierte Ordnungszahl des Schlüssels ist. KEY0 ist für zusammengesetzte und nicht zusammengesetzte Schlüssel verfügbar, wird jedoch hauptsächlich für zusammengesetzte Schlüssel verwendet.

Bei zusammengesetzten Schlüsseln bilden KEY0, KEY1, KEY2 usw. zusammen den zusammengesetzten Schlüssel. Sie können jede einzelne in einer Abfrage unabhängig voneinander verwenden, um diesen Teil des zusammengesetzten Schlüssels zurückzugeben. Wenn Sie beispielsweise KEY0 angeben, wird der erste Teil des zusammengesetzten Schlüssels zurückgegeben, wobei KEY1 den nächsten Teil des zusammengesetzten Schlüssels usw. zurückgibt.

Wenn der Schlüssel nicht zusammengesetzt ist, entspricht KEY0 dem Schlüssel.

Beachten Sie, dass KEYx sowohl im Kontext als auch ohne Kontext verwendet werden kann. Aus diesem Grund wird sie in beiden Listen angezeigt.
Name Der Name des Elements.

PROPERTIES-Syntax für kontextabhängige Eigenschaften

Sie verwenden diese Membereigenschaften im Kontext einer bestimmten Dimension oder Ebene und geben Werte für jedes Element der angegebenen Dimension oder Ebene an.

Für Dimensionsmemembeeigenschaften stellen Sie dem Namen der Eigenschaft den Namen der Dimension voran, auf die die Eigenschaft angewendet wird. Das folgende Beispiel zeigt die entsprechende Syntax:

DIMENSION PROPERTIES Dimension.Property_name

Bei einer Elementeigenschaft der Ebene können Sie dem Namen der Eigenschaft nur den Ebenennamen vorangehen oder für zusätzliche Spezifikation sowohl den Dimensions- als auch den Ebenennamen festlegen. Das folgende Beispiel zeigt die entsprechende Syntax:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Zur Veranschaulichung möchten Sie alle Namen der einzelnen Member, auf die verwiesen wird, in der [Sales] Dimension zurückgeben. Um diese Namen zurückzugeben, verwenden Sie die folgende Anweisung in einer MDX-Abfrage (Multidimensional Expressions):

DIMENSION PROPERTIES [Sales].Name

Nicht kontextbezogene Membereigenschaften

Alle Member unterstützen eine Liste systeminterner Membereigenschaften, die unabhängig vom Kontext identisch sind. Diese Eigenschaften stellen zusätzliche Informationen bereit, die von Anwendungen verwendet werden können, um die Benutzererfahrung zu verbessern.

In der folgenden Tabelle sind die nicht kontextabhängigen systeminternen Eigenschaften aufgeführt, die von SQL Server SQL Server Analysis Services unterstützt werden.

Hinweis

Spalten im MEMBERS-Schema-Rowset unterstützen die systeminternen Membereigenschaften, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen zum MEMBERS-Schema-Rowset finden Sie unter MDSCHEMA_MEMBERS Rowset.

Eigentum Description
CATALOG_NAME Der Name des Cubes, zu dem dieses Element gehört.
CHILDREN_CARDINALITY Die Anzahl der untergeordneten Elemente, die das Mitglied hat. Dies kann eine Schätzung sein, daher sollten Sie sich nicht darauf verlassen, dass es sich um die genaue Anzahl handelt. Anbieter sollten die bestmögliche Schätzung zurückgeben.
CUSTOM_ROLLUP Der benutzerdefinierte Memberausdruck.
CUSTOM_ROLLUP_PROPERTIES Die benutzerdefinierten Membereigenschaften.
BESCHREIBUNG Eine lesbare Beschreibung des Mitglieds.
DIMENSION_UNIQUE_NAME Der eindeutige Name der Dimension, zu der dieses Element gehört. Für Anbieter, die eindeutige Namen nach Qualifikation generieren, wird jede Komponente dieses Namens durch Trennzeichen getrennt.
HIERARCHY_UNIQUE_NAME Der eindeutige Name der Hierarchie. Wenn das Element zu mehreren Hierarchien gehört, gibt es für jede Hierarchie, zu der das Element gehört, eine Zeile. Für Anbieter, die eindeutige Namen nach Qualifikation generieren, wird jede Komponente dieses Namens durch Trennzeichen getrennt.
IS_DATAMEMBER Ein Boolescher Wert, der angibt, ob es sich bei dem Element um ein Datenelement handelt.
IS_PLACEHOLDERMEMBER Ein Boolescher Wert, der angibt, ob das Element ein Platzhalter ist.
KEYx Der Schlüssel für das Element, wobei x die nullbasierte Ordnungszahl des Schlüssels ist. KEY0 ist für zusammengesetzte und nicht zusammengesetzte Schlüssel verfügbar.

Wenn der Schlüssel nicht zusammengesetzt ist, entspricht KEY0 dem Schlüssel.

Bei zusammengesetzten Schlüsseln bilden KEY0, KEY1, KEY2 usw. zusammen den zusammengesetzten Schlüssel. Sie können unabhängig in einer Abfrage auf die einzelnen Einzelnen verweisen, um diesen Teil des zusammengesetzten Schlüssels zurückzugeben. Wenn Sie beispielsweise KEY0 angeben, wird der erste Teil des zusammengesetzten Schlüssels zurückgegeben, wobei KEY1 den nächsten Teil des zusammengesetzten Schlüssels usw. zurückgibt.

Beachten Sie, dass KEYx sowohl im Kontext als auch ohne Kontext verwendet werden kann. Aus diesem Grund wird sie in beiden Listen angezeigt.
LCIDx Die Übersetzung der Memberbeschriftung im Hexadezimalwert der Gebietsschema-ID, wobei x der Gebietsschema-ID-Dezimalwert ist (z. B. LCID1009 als English-Canada). Dies ist nur verfügbar, wenn die Übersetzung die Beschriftungsspalte an die Datenquelle gebunden hat.
LEVEL_NUMBER Der Abstand des Elements vom Stamm der Hierarchie. Die Stammebene ist Null.
LEVEL_UNIQUE_NAME Der eindeutige Name der Ebene, zu der das Element gehört. Für Anbieter, die eindeutige Namen nach Qualifikation generieren, wird jede Komponente dieses Namens durch Trennzeichen getrennt.
MEMBER_CAPTION Eine Bezeichnung oder Beschriftung, die dem Element zugeordnet ist. Die Beschriftung dient in erster Linie zu Anzeigezwecken. Wenn keine Beschriftung vorhanden ist, gibt die Abfrage MEMBER_NAME zurück.
MEMBER_KEY Der Wert des Memberschlüssels im ursprünglichen Datentyp. MEMBER_KEY ist aus Gründen der Abwärtskompatibilität vorgesehen. MEMBER_KEY hat denselben Wert wie KEY0 für nicht zusammengesetzte Schlüssel, und MEMBER_KEY Eigenschaft ist null für zusammengesetzte Schlüssel.
MEMBER_NAME Der Name des Elements.
MEMBER_TYPE Der Typ des Elements. Diese Eigenschaft kann einen der folgenden Werte haben:

MDMEMBER_TYPE_REGULAR

MDMEMBER_TYPE_ALL

MDMEMBER_TYPE_FORMULA

MDMEMBER_TYPE_MEASURE

MDMEMBER_TYPE_UNKNOWN



Hinweis: MDMEMBER_TYPE_FORMULA hat Vorrang vor MDMEMBER_TYPE_MEASURE. Wenn also ein Formelelement (berechnet) für die Measures-Dimension vorhanden ist, wird die MEMBER_TYPE Eigenschaft für das berechnete Element MDMEMBER_TYPE_FORMULA.
MEMBER_UNIQUE_NAME Der eindeutige Name des Elements. Für Anbieter, die eindeutige Namen nach Qualifikation generieren, wird jede Komponente dieses Namens durch Trennzeichen getrennt.
MEMBER_VALUE Der Wert des Elements im ursprünglichen Typ.
PARENT_COUNT Die Anzahl der Eltern, die dieses Mitglied hat.
PARENT_LEVEL Der Abstand des übergeordneten Elements von der Stammebene der Hierarchie. Die Stammebene ist Null.
PARENT_UNIQUE_NAME Der eindeutige Name des übergeordneten Elements. NULL wird für alle Elemente auf der Stammebene zurückgegeben. Für Anbieter, die eindeutige Namen nach Qualifikation generieren, wird jede Komponente dieses Namens durch Trennzeichen getrennt.
SKIPPED_LEVELS Die Anzahl der übersprungenen Ebenen für das Element.
UNARY_OPERATOR Der unäre Operator für das Element.
UNIQUE_NAME Der vollqualifizierte Name des Elements in diesem Format: [Dimension]. [ebene]. [key6.]

PROPERTIES-Syntax für nicht kontextbezogene vertrauliche Eigenschaften

Verwenden Sie die folgende Syntax, um eine systeminterne, nicht kontextabhängige Membereigenschaft mithilfe des PROPERTIES-Schlüsselworts anzugeben:

DIMENSION PROPERTIES Property

Beachten Sie, dass diese Syntax nicht zulässt, dass die Eigenschaft durch eine Dimension oder Ebene qualifiziert werden kann. Die Eigenschaft kann nicht qualifiziert werden, da eine systeminterne Membereigenschaft, die nicht kontextsensitiv ist, für alle Elemente einer Achse gilt.

Beispielsweise würde eine MDX-Anweisung, die die systeminterne DESCRIPTION-Membereigenschaft angibt, die folgende Syntax aufweisen:

DIMENSION PROPERTIES DESCRIPTION

Diese Anweisung gibt die Beschreibung der einzelnen Member in der Achsendimension zurück. Wenn Sie versucht haben, die Eigenschaft mit einer Dimension oder Ebene zu qualifizieren, wie in Dimension.DESCRIPTION oder Level.DESCRIPTION, würde die Anweisung nicht überprüft.

Example

Die folgenden Beispiele zeigen MDX-Abfragen, die systeminterne Eigenschaften zurückgeben.

Beispiel 1: Verwenden kontextbezogener systeminterner Eigenschaften in der Abfrage

Im folgenden Beispiel werden die übergeordnete ID, der Schlüssel und der Name für jede Produktkategorie zurückgegeben. Beachten Sie, wie die Eigenschaften als Measures verfügbar gemacht werden. Auf diese Weise können Sie die Eigenschaften in einem Zellsatz anzeigen, wenn Sie die Abfrage ausführen, und nicht das Dialogfeld "Membereigenschaften" in SSMS. Möglicherweise führen Sie eine Abfrage wie diese aus, um Membermetadaten aus einem bereits bereitgestellten Cube abzurufen.

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]  

Beispiel 2: Nicht kontextbezogene systeminterne Eigenschaften

Das folgende Beispiel ist die vollständige Liste der nicht kontextabhängigen systeminternen Eigenschaften. Klicken Sie nach dem Ausführen der Abfrage in SSMS auf einzelne Member, um Eigenschaften im Dialogfeld "Membereigenschaften" anzuzeigen.

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]  

Beispiel 3: Zurückgeben von Membereigenschaften als Daten in einem Resultset

Im folgenden Beispiel wird die übersetzte Beschriftung für das Produktkategorieelement in der Produktdimension im Adventure Works-Cube für angegebene Gebietsschemas zurückgegeben.

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]  
  

Siehe auch

PeriodEnToDate (MDX)
Untergeordnete Elemente (MDX)
Hierarchize (MDX)
Anzahl (Set) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Eigenschaften (MDX)
PrevMember (MDX)
Verwenden von Membereigenschaften (MDX)
MDX-Funktionsreferenz (MDX)