組式の使用
組は、キューブに含まれる各ディメンションの 1 つずつのメンバから成っています。そのため、組はキューブ内の 1 つのセルを一意に識別します。
注 |
---|
有効でない 1 つ以上のメンバを参照する組は、空の組と呼ばれます。 |
組識別子の完全な式は、かっこの中に 1 つ以上のメンバを明示的に指定して表します。
(Member_expression [ ,Member_expression ... ] )
組は完全に修飾することができます。また、暗黙的なメンバを含めることも、1 つのメンバだけを含めることもできます。
組と暗黙的なメンバ
キューブ内に含まれる各ディメンションからのメンバを 1 つずつ明示的に指定した組は、完全修飾された組と呼ばれます。ただし、すべての組が完全に修飾されている必要はありません。
組の中で明示的に参照されていないディメンションは、暗黙的に参照されます。暗黙的に参照されたディメンションのメンバは、ディメンションの構造とその中で定義されている属性リレーションシップによって異なります。暗黙的に参照されている階層と同じディメンションの階層への明示的な参照があり、明示的に参照されている階層と暗黙的に参照されている階層との間に直接的または間接的なリレーションシップが定義されている場合、組は、明示的に参照されている階層のメンバと共存する、暗黙的に参照されている階層のメンバを含むように動作します。たとえば、City 属性および Country 属性を持つ Customer ディメンションがキューブに含まれており、これら 2 つの属性間でリレーションシップが定義され、City に 1 つの Country が含まれ、Country に複数の City を含めることができるようになっている場合、明示的に City 'London' を組に含めると、Country 'United Kingdom' が暗黙的に参照されます。ただし、属性リレーションシップが定義されておらず、リレーションシップの方向が逆になっている場合 (たとえば、City に Country とのリレーションシップがあっても、ある人が住んでいる Country がわかるだけで、住んでいる City を特定できない場合) や 2 つの属性間で直接的なリレーションシップが定義されていない場合 (たとえば、Customer から City へのリレーションシップと Customer から Country へのリレーションシップが定義されていても、City と Country 間のリレーションシップが定義されていない場合) は、次の規則が適用されます。
暗黙的に参照された階層に既定のメンバがある場合は、既定のメンバが組に追加されます。
暗黙的に参照された階層に既定のメンバがない場合は、既定の階層の (All) メンバが使用されます。
暗黙的に参照された階層に既定のメンバがない場合は、その階層の最上位レベルにある最初のメンバが使用されます。
1 つのメンバのみの組
組式に 1 つのメンバしか指定されていない場合、MDX は、式を評価するためにそのメンバを 1 つのメンバのみの組に変換します。つまり、組式の代わりにメンバ式 [Measures].[TestMeasure] を使用することは、組式 ( [Measures].[TestMeasure] ). と機能的に等価です。