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.

Bemerkungen

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

Wichtig

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, wie Currentmember verwendet werden kann, um den aktuellen Member aus Hierarchien auf der Spalten-, Zeilen- 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. Daher kann sich auch das aktuelle Element in anderen Hierarchien in derselben Dimension ändern, die nicht auf einer Achse verwendet wird. Dieses Verhalten wird als "auto-exists" bezeichnet, und weitere Details finden Sie unter Schlüsselkonzepte in MDX (Analysis Services). 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 Berechnungen auf den Kontext der Abfrage aufmerksam zu machen, in der sie verwendet werden. Im folgenden Beispiel werden die Bestellmenge der einzelnen Produkte und der Prozentsatz der Bestellmengen nach Kategorie und Modell aus dem Adventure Works-Cube zurückgegeben. Die CurrentMember-Funktion identifiziert das Produkt, dessen Auftragsmenge bei 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]}  

Weitere Informationen

MDX-Funktionsreferenz (MDX)