ディメンション式の使用
ディメンション式と階層式は通常、階層からメンバ、セット、または組を返すために多次元式 (MDX) 内で関数にパラメータを渡す場合に使用します。
ディメンション式はオブジェクト識別子なので、単純式のみを指定できます。単純式と複合式の詳細については、「式 (MDX)」を参照してください。
ディメンション式
ディメンション式には、ディメンション識別子またはディメンション関数のいずれかが含まれます。
ディメンション式は、ほとんど単独では使用しません。代わりに、通常はディメンションの階層を指定します。唯一の例外は、Measures ディメンションを操作している場合です。このディメンションには階層がありません。
次の例では、式 [Measures] を .Members 関数および Count() 関数と共に使用して Measures ディメンションのメンバ数を返す、計算されるメンバを示しています。
WITH MEMBER [Measures].[MeasureCount] AS
COUNT([Measures].MEMBERS)
SELECT [Measures].[MeasureCount] ON 0
FROM [Adventure Works]
MDX ステートメントの記述に使用される BNF 表記では、ディメンション識別子は Dimension_Name の形式で表されます。
階層式
階層式にも同様に、階層識別子または階層関数のいずれかが含まれます。次の例では、階層式 [Date].[Calendar] を .Levels 関数および .Count 関数と共に使用して、Date ディメンションの Calendar 階層のレベル数を返す方法を示しています。
WITH MEMBER [Measures].[CalendarLevelCount] AS
[Date].[Calendar].Levels.Count
SELECT [Measures].[CalendarLevelCount] ON 0
FROM [Adventure Works]
階層式を使用する最も一般的なシナリオでは、.Members 関数と組み合わせて階層のすべてのメンバを返します。次の例では、行軸の [Date].[Calendar] のすべてのメンバを返します。
SELECT [Measures].[Internet Sales Amount] ON 0,
[Date].[Calendar].MEMBERS ON 1
FROM [Adventure Works]
MDX ステートメントの記述に使用される BNF 表記では、階層識別子は Dimension_Name.Hierarchy_Name の形式で表されます。