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]}