CurrentMember (MDX)

Gibt das aktuelle Element entlang einer angegebenen Hierarchie während einer Iteration zurück.

Syntax

Hierarchy_Expression.CurrentMember

Argumente

  • Hierarchy_Expression
    Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Hierarchie zurückgibt.

Hinweise

Bei der Iteration durch eine Menge von Hierarchieelementen stellt bei jedem Iterationsschritt das jeweils bearbeitete Element das aktuelle Element dar. Die CurrentMember-Funktion gibt dieses Element zurück.

Wichtiger HinweisWichtig

Wenn eine Dimension nur eine einzige sichtbare Hierarchie enthält, kann auf die Hierarchie entweder mit dem Dimensionsnamen oder mit dem Hierarchienamen verwiesen werden, weil der Dimensionsname in seine einzige sichtbare Hierarchie aufgelöst wird. Measures.CurrentMember ist z. B. ein gültiger MDX-Ausdruck, weil er in die einzige vorhandene Hierarchie in der Measures-Dimension aufgelöst wird.

Beispiele

Die folgende Abfrage zeigt die Verwendung von Currentmember, um aktuelle Elemente der Hierarchien auf der COLUMNS-, ROWS- und SLICE-Achse zu finden:

WITH MEMBER MEASURES.CURRENTDATE AS

[Date].[Calendar].CURRENTMEMBER.NAME

MEMBER MEASURES.CURRENTPRODUCT AS

[Product].[Product Categories].CURRENTMEMBER.NAME

MEMBER MEASURES.CURRENTMEASURE AS

MEASURES.CURRENTMEMBER.NAME

MEMBER MEASURES.CURRENTCUSTOMER AS

[Customer].[Customer Geography].CURRENTMEMBER.NAME

SELECT

[Product].[Product Categories].[Category].MEMBERS

*

{MEASURES.CURRENTDATE, MEASURES.CURRENTPRODUCT,MEASURES.CURRENTMEASURE, MEASURES.CURRENTCUSTOMER}

ON 0,

[Date].[Calendar].MEMBERS

ON 1

FROM [Adventure Works]

WHERE([Customer].[Customer Geography].[Country].&[Australia])

Das aktuelle Element ändert sich in einer Hierarchie, die auf einer Achse in einer Abfrage verwendet wird. Infolgedessen kann sich das aktuelle Element in anderen Hierarchien der selben Dimension, die nicht auf einer Achse verwendet werden, ebenfalls ändern; dieses Verhalten wird als „auto-exists“ bezeichnet. Weitere Einzelheiten dazu können unter Schlüsselkonzepte in MDX (MDX) gefunden werden. Die folgende Abfrage zeigt beispielsweise, wie sich das aktuelle Element in der Calendar Year-Hierarchie der Date-Dimension mit dem aktuellen Element der Calendar-Hierarchie ändert, wenn dieses auf der ROWS-Achse angezeigt wird:

WITH MEMBER MEASURES.CURRENTYEAR AS

[Date].[Calendar Year].CURRENTMEMBER.NAME

SELECT

{MEASURES.CURRENTYEAR}

ON 0,

[Date].[Calendar].MEMBERS

ON 1

FROM [Adventure Works]

CurrentMember ist sehr wichtig, um bei Berechnungen den Kontext der Abfrage zu beachten, in denen sie verwendet werden. Das folgende Beispiel gibt die Bestellmenge jedes Produkts sowie den Prozentsatz der Bestellmengen nach Kategorie und Modell aus dem Adventure Works-Cube zurück. Die CurrentMember-Funktion identifiziert das Produkt, dessen Bestellmenge während der Berechnung verwendet werden soll.

WITH 
   MEMBER [Measures].[Order Percent by Category] AS
   CoalesceEmpty
( 
      ([Product].[Product Categories].CurrentMember,
        Measures.[Order Quantity]) / 
          (
           Ancestor
           ( [Product].[Product Categories].CurrentMember, 
             [Product].[Product Categories].[Category]
           ), Measures.[Order Quantity]
       ), 0
   ), FORMAT_STRING='Percent'
SELECT 
   {Measures.[Order Quantity],
      [Measures].[Order Percent by Category]} ON COLUMNS,
{[Product].[Product].Members} ON ROWS
FROM [Adventure Works]
WHERE {[Date].[Calendar Year].[Calendar Year].&[2003]}

Siehe auch

Verweis