MDX スクリプティング - SCOPE
指定された多次元式 (MDX) ステートメントのスコープを指定されたサブキューブに限定します。
構文
SCOPE(Subcube_Expression)
[ MDX_Statement ]
END SCOPE
Subcube_Expression ::=(Auxiliary_Subcube [, Auxiliary_Subcube,...n])
Auxiliary_Subcube ::=
Limited_Set
| Root([dimension_name])
| Leaves([dimension_name])
Limited_Set ::=
single_tuple
| member
| Common_Grain_Members
| hierarchy.members
| level.members
| {}
| Descendants
(
Member
, [level
[
, SELF
| AFTER
| BEFORE
| SELF_AND_AFTER
| SELF_AND_BEFORE
| SELF_BEFORE_AFTER
| LEAVES
]
)
[* <limited set>]
引数
Subcube_Expression
有効な MDX サブキューブ式。
MDX_Statement
有効な MDX ステートメント。
Common_Grain_Members
同じグレインを持つメンバーに評価される有効な MDX ステートメント。
single_tuple
1 つの組です。
解説
SCOPE ステートメントは、1 つ以上の MDX ステートメントの実行によって影響を受けるサブキューブを決定します。 MDX ステートメントが SCOPE ステートメント内に組み込まれていない限り、MDX ステートメントの暗黙的なスコープはキューブ全体です。
Note
SCOPE ステートメントは、非表示のメンバーも公開します。
SCOPE ステートメントは、 MDX 互換性 設定に関係なく、"穴" を公開するサブキューブを作成します。 たとえば、 ステートメントでは、 Scope( Customer.State.members )
状態を含まない国または地域の状態を含めることができますが、それ以外の場合は非表示のプレースホルダー メンバーが挿入されています。
SCOPE ステートメント内に作成された計算メンバーと名前付きセットは、SCOPE ステートメントの影響を受けません。
例
次の例は、Adventure Works サンプル ソリューションの MDX 計算スクリプトから、現在のスコープを 2005 会計年度の会計四半期と売上金額クォータ メジャーとして定義し、 ParallelPeriod 関数を使用して現在のスコープ内のセルに値を割り当てます。 次に、別の SCOPE ステートメントを使用してスコープを変更し、 This (MDX) 関数を使用して別の割り当てを実行します。
Scope
(
[Date].[Fiscal Year].&[2005],
[Date].[Fiscal].[Fiscal Quarter].Members,
[Measures].[Sales Amount Quota]
) ;
This = ParallelPeriod
(
[Date].[Fiscal].[Fiscal Year], 1,
[Date].[Fiscal].CurrentMember
) * 1.35 ;
/*-- Allocate equally to months in FY 2002 -----------------------------*/
Scope
(
[Date].[Fiscal Year].&[2002],
[Date].[Fiscal].[Month].Members
) ;
This = [Date].[Fiscal].CurrentMember.Parent / 3 ;
End Scope ;
End Scope ;