イテレーション中に指定された階層に沿って現在のメンバーを返します。
構文
Hierarchy_Expression.CurrentMember
引数
Hierarchy_Expression
階層を返す有効な多次元表現(MDX)式。
Remarks
階層メンバーの集合を反復する際、各段階で操作対象となるメンバーは現在のメンバーです。 CurrentMember関数はそのメンバーを返します。
Important
次元が単一の可視階層のみを含む場合、その階層は次元名または階層名のいずれかで呼ばれます。なぜなら、次元名は唯一の可視階層に解決されるからです。 例えば、 Measures.CurrentMember は測定次元で唯一の階層に解決されるため有効なMDX式です。
Examples
以下のクエリは、 Currentmemberを使ってColumns 、Rows、Slice軸の階層から現在のメンバーを見つける方法を示しています:
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])
クエリの軸上で使われる階層で現在のメンバーが変化します。 したがって、同じ次元の他の階層で軸上で使われていない現在のメンバーも変化し得ます。この挙動は「自動存在(auto-exists)」と呼ばれ、詳細は MDX(Analysis Services)の「Key Concepts」で確認できます。 例えば、以下のクエリは、日付次元のカレンダー年階層上の現在メンバーが、行軸にカレンダー階層上の現在メンバーが表示された場合にどのように変化するかを示しています:
WITH
MEMBER MEASURES.CURRENTYEAR AS [Date].[Calendar Year].CURRENTMEMBER.NAME
SELECT
{MEASURES.CURRENTYEAR} ON 0,
[Date].[Calendar].MEMBERS ON 1
FROM [Adventure Works]
CurrentMember は、計算が使われているクエリの文脈を認識させる上で非常に重要です。 以下の例は、各製品の注文数量と、 Adventure Works キューブからカテゴリ・モデルごとの注文数量の割合を返します。 CurrentMember関数は、計算時に使用される注文量の商品を特定します。
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]}