既定のメンバーの定義
属性階層がクエリに含まれていない場合は、属性階層の既定のメンバーが式の評価に使用されます。 属性階層を示す属性を含む属性階層またはユーザー階層がクエリに含まれる場合は必ず、既定のメンバーは無視されます。 これは、クエリで指定されたメンバーが使用されるためです。
属性階層の既定のメンバーを設定するには、属性階層の DefaultMember
プロパティの値として属性メンバーを指定します。 このプロパティは、ディメンション Designerの [ディメンション構造] タブ、またはキューブの [計算] タブの [キューブ Designer in SQL Server Data Tools (SSDT)] で設定できます。 ディメンションのセキュリティを定義するときに、[ディメンション データ] タブでセキュリティ ロール (ディメンションの既定のメンバー セットをオーバーライドしている) に DefaultMember
プロパティを指定することもできます。 また、キューブが 2 回以上データベース ディメンションを参照する場合、キューブのディメンションにデータベースのディメンションと異なる名前がある場合、または異なるキューブにそれぞれ異なる既定のメンバーを割り当てる場合は、名前解決の問題を回避するために、キューブの MDX スクリプトで既定のメンバーを定義します。
属性がクエリに含まれていない場合は、属性上の既定のメンバーが式の評価に使用されます。 属性の既定のメンバーは、属性の DefaultMember
プロパティによって指定されます。 ディメンションからの階層がクエリに含まれている場合は、階層内のレベルに対応する属性からのすべての既定のメンバーは無視されます。 ディメンションの階層がクエリに含まれていない場合は、既定のメンバーがディメンションのすべての属性に対して使用されます。
既定のメンバーが指定されていない場合の既定のメンバーの解決
属性階層に既定のメンバーが指定されておらず、属性階層が集計可能な場合 (属性の IsAggregatable
プロパティが True
に設定されている場合)、(All) メンバーが既定のメンバーです。 既定のメンバーが指定されおらず、属性階層が集計可能でない場合 (属性の IsAggregatable
プロパティが False
に設定されている場合)、既定のメンバーは属性階層の最上位から選択されます。
既定のメンバーの指定
Microsoft SQL Server Analysis Services のディメンション内のすべての属性には、属性の プロパティを使用して指定できる既定のDefaultMember
メンバーがあります。 この設定は、属性がクエリに含まれていない場合、式の評価に使用されます。 クエリがディメンションの階層を指定する場合は、階層にある属性の既定のメンバーは無視されます。 クエリでディメンション内の階層が指定されていない場合、ディメンション属性の DefaultMember
設定が有効になります。
属性の DefaultMember
設定が空白で、その IsAggregatable
プロパティが に True
設定されている場合、既定のメンバーは All メンバーです。 プロパティが IsAggregatable
に False
設定されている場合、既定のメンバーは最初に表示されるレベルの最初のメンバーです。
属性の設定は DefaultMember
、属性が参加するすべての階層に適用されます。 ディメンションの別の階層に異なる設定を使用することはできません。 たとえば、[1998] メンバーが [Year] 属性の既定のメンバーである場合、この設定はディメンションのすべての階層に適用されます。 この場合の設定は DefaultMember
、1 つの階層では [1998] 、別の階層では [1997] にすることはできません。
自動的には集計されない階層にある、特定のレベルの既定のメンバーを定義する場合は、階層の上のレベルにあるすべてのレベルの既定のメンバーを定義する必要があります。 たとえば、階層 All-Countries-Climate では、Countries の既定のメンバーを定義しない限り、Climate の既定のメンバーを定義することはできません。 これを行わないと、クエリタイム エラーが発生します。
階層のレベルが自動的に集計される場合は、階層の他の属性に関係なく、階層のどの属性にも既定のメンバーを定義できます。 たとえば、階層 Country/Region-Province-City では、[City] などの City の既定のメンバーを定義できます。[モントリオール] State または Country/Region の既定のメンバーを定義しません。