Share via


Integrierte Elementeigenschaften (MDX)

Als Anbieter, der Kompatibilität mit dem OLAP-Abschnitt der OLE DB-Spezifikation vom März 1999 (2.6) gewährleistet, unterstützt Microsoft SQL Server Analysis Services die systeminternen Elementeigenschaften, die in diesem Thema aufgelistet sind.

HinweisHinweis

Andere Anbieter als SQL Server Analysis Services unterstützen möglicherweise weitere systeminterne Elementeigenschaften. Weitere Informationen zu den systeminternen Elementeigenschaften, die von anderen Anbietern unterstützt werden, finden Sie in der Dokumentation des jeweiligen Anbieters.

Arten von Elementeigenschaften

SQL Server Analysis Services unterstützt zwei Arten von systeminternen Elementeigenschaften:

  • Kontextabhängige Elementeigenschaften
    Diese Elementeigenschaften müssen im Kontext einer bestimmten Dimension oder Ebene verwendet werden und stellen Werte für jedes Element der angegebenen Dimension oder Ebene bereit.

  • Nicht kontextabhängige Elementeigenschaften
    Diese Elementeigenschaften können nicht im Kontext einer bestimmten Dimension oder Ebene verwendet werden und stellen Werte für alle Elemente auf einer Achse bereit.

Für die Verwendung einer systeminternen Elementeigenschaft gelten unabhängig davon, ob sie kontextabhängig ist oder nicht, folgende Regeln:

  • Sie können nur solche systeminternen Elementeigenschaften angeben, die sich auf Dimensionselemente beziehen, die auf die Achse projiziert werden.

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

  • Zum Abfragen der Eigenschaften verwenden Sie das PROPERTIES-Schlüsselwort.

In den folgenden Abschnitten werden die verschiedenen kontextabhängigen und nicht kontextabhängigen systeminternen Elementeigenschaften beschrieben, die in SQL Server Analysis Services verfügbar sind. Außerdem wird erläutert, wie das PROPERTIES-Schlüsselwort mit jeder Art von Eigenschaft verwendet wird.

Kontextabhängige Elementeigenschaften

Alle Dimensionselemente und Ebenenelemente unterstützen eine Reihe von systeminternen Elementeigenschaften, die kontextabhängig sind. In der folgenden Tabelle sind diese kontextabhängigen Eigenschaften aufgelistet.

Eigenschaft

Beschreibung

ID

Die intern verwaltete ID für das Element.

Key

Der Wert, der in der MEMBER_KEY-Spalte des MEMBERS-Schemarowsets für das Element gespeichert ist.

Name

Der Name des Elements.

PROPERTIES-Syntax für kontextabhängige Eigenschaften

Sie verwenden diese Elementeigenschaften im Kontext einer bestimmten Dimension oder Ebene und stellen Werte für jedes Element der angegebenen Dimension oder Ebene bereit.

Bei einer Eigenschaft eines Dimensionselements setzen Sie vor den Namen der Eigenschaft den Namen der Dimension, für die die Eigenschaft gilt. Das folgende Beispiel zeigt die entsprechende Syntax:

DIMENSION PROPERTIES Dimension.Property_name

Bei einer Eigenschaft eines Ebenenelements genügt es, wenn Sie vor den Namen der Eigenschaft den Namen der Ebene setzen. Zur zusätzlichen Spezifikation können Sie dort aber auch den Dimensions- und den Ebenennamen angeben. Das folgende Beispiel zeigt die entsprechende Syntax:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Um dies zu verdeutlichen, sollen alle Namen jedes Elements der [Sales]-Dimension zurückgegeben werden, auf das verwiesen wird. Zum Zurückgeben dieser Namen verwenden Sie folgende Anweisung in einer MDX-Abfrage (Multidimensional Expressions):

DIMENSION PROPERTIES [Sales].Name

Nicht kontextabhängige Elementeigenschaften

Alle Elemente unterstützen eine Reihe von systeminternen Elementeigenschaften, die unabhängig vom Kontext gleich sind. Diese Eigenschaften stellen zusätzliche Informationen bereit, die in Anwendungen dazu verwendet werden können, die Benutzerfreundlichkeit zu verbessern.

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

HinweisHinweis

Die Spalten im MEMBERS-Schemarowset unterstützen die systeminternen Elementeigenschaften, die in der folgenden Tabelle aufgelistet sind. Weitere Informationen zum MEMBERS-Schemarowset finden Sie unter MDSCHEMA_MEMBERS-Rowset.

Eigenschaft

Beschreibung

ACTION_TYPE

Eine Bitmaske, die die Arten der Aktionen für das Element angibt. Diese Eigenschaft kann einen der folgenden Werte haben:

  • MDACTION_TYPE_URL

  • MDACTION_TYPE_HTML

  • MDACTION_TYPE_STATEMENT

  • MDACTION_TYPE_DATASET

  • MDACTION_TYPE_ROWSET

  • MDACTION_TYPE_COMMANDLINE

  • MDACTION_TYPE_PROPRIETARY

  • MDACTION_TYPE_REPORT

  • MDACTION_TYPE_DRILLTHROUGH

CAPTION

Identisch mit MEMBER_CAPTION.

CHILDREN_CARDINALITY

Die Anzahl der untergeordneten Elemente des Elements. Dies kann eine Schätzung sein, daher sollten Sie sich nicht darauf verlassen, dass es sich um die exakte Anzahl handelt. Anbieter sollten die bestmögliche Schätzung zurückgeben.

CUBE_NAME

Der Name des Cubes, zu dem dieses Element gehört.

CUSTOM_ROLLUP

Der benutzerdefinierte Elementausdruck.

CUSTOM_ROLLUP_PROPERTIES

Die benutzerdefinierten Elementeigenschaften.

DESCRIPTION

Eine lesbare Beschreibung des Elements.

DIMENSION_UNIQUE_NAME

Der eindeutige Name der Dimension, zu der dieses Element gehört. Für Anbieter, die eindeutige Namen durch eine Einschränkung generieren, ist jede Komponente dieses Namens begrenzt.

HIERARCHY_UNIQUE_NAME

Der eindeutige Name der Hierarchie. Wenn das Element zu mehreren Hierarchien gehört, gibt es eine Zeile für jede Hierarchie, zu der das Element gehört. Für Anbieter, die eindeutige Namen durch eine Einschränkung generieren, ist jede Komponente dieses Namens begrenzt.

IS_DATAMEMBER

Ein boolescher Wert, der angibt, ob das Element ein Datenelement ist.

KEYx

Der Schlüssel des Elements, wobei x die nullbasierte Ordnungszahl des Schlüssels ist. KEY0 ist für zusammengesetzte und nicht zusammengesetzte Schlüssel verfügbar, und KEY1, KEY2 usw. sind nur für zusammengesetzte Schlüssel verfügbar. Key0, Key1, Key2 usw. bilden zusammen den zusammengesetzten Schlüssel.

LCIDx

Die Übersetzung der Elementbeschriftung in den hexadezimalen Wert der Gebietsschema-ID, wobei x der dezimale Wert der Gebietsschema-ID ist (z. B. LCID1009 als Englisch-Kanada). Dies ist nur verfügbar, wenn die Beschriftungsspalte der Übersetzung an die Datenquelle gebunden ist.

LEVEL_NUMBER

Der Abstand des Elements vom Stamm der Hierarchie. Die Stammebene entspricht null.

LEVEL_UNIQUE_NAME

Der eindeutige Name der Ebene, zu der das Element gehört. Für Anbieter, die eindeutige Namen durch eine Einschränkung generieren, ist jede Komponente dieses Namens begrenzt.

MEMBER_CAPTION

Eine Bezeichnung oder Beschriftung, die dem Element zugeordnet ist. Die Beschriftung dient hauptsächlich zu Anzeigezwecken. Ist keine Beschriftung vorhanden, gibt die Abfrage den Wert von MEMBER_NAME zurück.

MEMBER_KEY

Der Wert des Elementschlüssels im ursprünglichen Datentyp. MEMBER_KEY wird für Abwärtskompatibilität verwendet.  MEMBER_KEY hat für nicht zusammengesetzte Schlüssel denselben Wert wie KEY0, und die MEMBER_KEY-Eigenschaft ist für zusammengesetzte Schlüssel NULL.

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

MDMEMBER_TYPE_FORMULA hat Vorrang vor MDMEMBER_TYPE_MEASURE. Daher hat die MEMBER_TYPE-Eigenschaft, wenn es ein Formelelement (berechnetes Element) in der Measures-Dimension gibt, für das berechnete Element den Wert MDMEMBER_TYPE_FORMULA.

MEMBER_UNIQUE_NAME

Der eindeutige Name des Elements. Für Anbieter, die eindeutige Namen durch eine Einschränkung generieren, ist jede Komponente dieses Namens begrenzt.

MEMBER_VALUE

Der Wert des Elements im ursprünglichen Typ.

PARENT_COUNT

Die Anzahl der übergeordneten Elemente des Elements.

PARENT_LEVEL

Der Abstand des dem Element übergeordneten Elements von der Stammebene der Hierarchie. Die Stammebene entspricht null.

PARENT_UNIQUE_NAME

Der eindeutige Name des dem Element übergeordneten Elements. Für jedes Element auf der Stammebene wird NULL zurückgegeben. Für Anbieter, die eindeutige Namen durch eine Einschränkung generieren, ist jede Komponente dieses Namens begrenzt.

SKIPPED_LEVELS

Die Anzahl übersprungener Ebenen für das Element.

UNARY_OPERATOR

Der unäre Operator für das Element.

PROPERTIES-Syntax für nicht kontextabhängige Eigenschaften

Verwenden Sie die folgende Syntax, wenn Sie eine systeminterne nicht kontextabhängige Elementeigenschaft mit dem PROPERTIES-Schlüsselwort angeben möchten:

DIMENSION PROPERTIES Property

In dieser Syntax ist es nicht zulässig, die Eigenschaft durch eine Dimension oder Ebene zu qualifizieren. Die Eigenschaft kann nicht qualifiziert werden, weil eine systeminterne Elementeigenschaft, die nicht kontextabhängig ist, für alle Elemente einer Achse gilt.

Beispielsweise hat eine MDX-Anweisung, in der die systeminterne Elementeigenschaft DESCRIPTION angegeben ist, die folgende Syntax:

DIMENSION PROPERTIES DESCRIPTION

Diese Anweisung gibt die Beschreibung für jedes Element in der Achsendimension zurück. Würden Sie versuchen, die Eigenschaft mit einer Dimension oder einer Ebene zu qualifizieren (wie in Dimension.DESCRIPTION oder Level.DESCRIPTION), wäre die Anweisung ungültig.

Beispiel

Im folgenden Beispiel wird die Anzahl der Wiederverkäufer, deren Umsätze im vergangenen Zeitraum zurückgegangen sind, basierend auf vom Benutzer ausgewählten State-Province-Elementwerten zurückgegeben, die mit der Aggregate-Funktion ausgewertet wurden. Zum Zurückgeben von Werten für zurückgegangene Umsätze in Produktkategorien der Product-Dimension werden die Funktionen Hierarchize (MDX) und DrilldownLevel (MDX) verwendet. Die Properties (MDX)-Funktion wird verwendet, um die eindeutigen Namen von übergeordneten Elementen zurückzugeben, die auf der Spaltenachse zurückgegeben wurden.

WITH MEMBER Measures.[Declining Reseller Sales] AS 
   Count
      (Filter
         (Existing
            (Reseller.Reseller.Reseller)
            , [Measures].[Reseller Sales Amount] < 
            (
               [Measures].[Reseller Sales Amount]
                  ,[Date].Calendar.PrevMember
             )
          )
       )
MEMBER [Geography].[State-Province].x AS 
   Aggregate 
      ( 
         {[Geography].[State-Province].&[WA]&[US]
         , [Geography].[State-Province].&[OR]&[US] 
         } 
      )
SELECT NON EMPTY HIERARCHIZE 
   (AddCalculatedMembers 
      (
         {DrillDownLevel
            ({[Product].[All Products]})
         }
      )
   ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS 
FROM [Adventure Works]
WHERE 
   (
      [Geography].[State-Province].x
      , [Date].[Calendar].[Calendar Quarter].&[2003]&[4]
      ,[Measures].[Declining Reseller Sales]
   )

Im folgenden Beispiel wird die übersetzte Beschriftung für das Product Category-Element in der Product-Dimension im Adventure Works-Cube für bestimmte 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]