次の方法で共有


SCOPE ステートメント (MDX)

更新 : 2006 年 7 月 17 日

指定された多次元式 (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 ステートメントの暗黙的なスコープは、キューブ全体になります。

ms145989.note(ja-jp,SQL.90).gifメモ :
SCOPE ステートメントは、非表示のメンバも公開します。

SCOPE ステートメントは、MDX Compatibility の設定とは無関係に、ホールを公開するサブキューブを作成します。たとえば、Scope( Customer.State.members ) というステートメントを実行すると、州のない国や地域についても州を含めることができ、代わりにホールを挿入できます。

SCOPE ステートメントの中で作成する計算されるメンバと名前付きセットは、SCOPE ステートメントの影響を受けません。

次の例では、Adventure Works サンプル ソリューション内の MDX 計算スクリプトから、現在のスコープを 2005 会計年度の会計四半期として定義し、Sales Amount Quota メジャーを定義します。次に、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 ;   

参照

その他の技術情報

MDX スクリプト ステートメント (MDX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • わかりやすくするために構文および引数を更新しました。
  • 更新した例を追加しました。