CurrentMember (MDX)

反復処理の実行中に、指定された階層の現在のメンバを返します。

構文

 Hierarchy_Expression.CurrentMember

引数

  • Hierarchy_Expression
    階層を返す有効な多次元式 (MDX) 式です。

説明

階層メンバのセットに対する反復処理の間、反復の各ステップにおいては、処理対象のメンバが現在のメンバになります。CurrentMember 関数は、そのメンバを返します。

重要な注意事項重要

表示可能な階層がディメンション内に 1 つしかない場合は、ディメンション名がその 1 つしかない階層に解決されるため、その階層はディメンション名でも階層名でも参照できます。たとえば、Measures.CurrentMember は、Measures ディメンション内に 1 つしかない階層に解決されるので、有効な MDX 式です。

次のクエリでは、Currentmember を使用して、列軸、行軸、およびスライス軸で階層の現在のメンバを検索する方法を示しています

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

現在のメンバは、クエリ内の軸で使用される階層で変更されます。したがって、軸で使用されていない、同じディメンション上の他の階層の現在のメンバも変更される場合があります。この動作は "autoexist" と呼ばれています。詳細については、「MDX の主な概念 (MDX)」を参照してください。たとえば、次のクエリでは、Date ディメンションの Calendar Year 階層の現在のメンバを、Calendar 階層の現在のメンバと共に変更する方法 (後者が行軸に表示されている場合) を示しています。

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