次の方法で共有


CREATE SET ステートメント (MDX)

更新 : 2006 年 7 月 17 日

現在のキューブのセッション スコープを使用して、名前付きセットを作成します。

構文

CREATE [SESSION] [HIDDEN] SET 
   CURRENTCUBE | Cube_Name
            .Set_Name AS 'Set_Expression'

引数

  • Cube_Name
    キューブの名前を指定する有効な文字列式です。
  • Set_Name
    作成する名前付きセットの名前を指定する有効な文字列式です。
  • Set_Expression
    セットを返す有効な多次元式 (MDX) 式です。

解説

名前付きセットとは、再利用のために作成するディメンション メンバのセット (またはセットを定義する式) です。たとえば、売上高上位 10 ストアのセットで構成されるディメンション メンバのセットを名前付きセットとして定義するとします。このセットは、静的に定義することも、TopCount などの関数によって定義することも可能です。そのようにして作成した名前付きセットは、上位 10 ストアのセットが必要な場所で再利用できます。

CREATE SET ステートメントで作成する名前付きセットは、セッションが終了するまで使用できます。つまり、そのセッションの複数のクエリで再利用できるということです。詳細については、「セッション スコープの計算されるメンバの作成 (MDX)」を参照してください。

1 つのクエリだけで使用する名前付きセットを定義することも可能です。そのようなセットを定義する場合は、SELECT ステートメントで WITH 句を使用します。WITH 句の詳細については、「クエリ スコープの名前付きセットの作成 (MDX)」を参照してください。

Set_Expression 句には、MDX 構文をサポートする任意の関数を含めることができます。SESSION 句を指定しない CREATE SET ステートメントで作成したセットは、セッション スコープになります。クエリ スコープによるセットを作成するには、WITH 句を使用してください。

現在接続しているキューブ以外のキューブを指定すると、エラーになります。したがって、キューブ名の代わりに CURRENTCUBE を使用して、現在のキューブを確実に指定してください。

HIDDEN キーワードを使用して、計算されるメンバを非表示に設定できます。そのように設定した計算されるメンバは、キューブに対してクエリを実行するユーザーからは見えなくなります。

スコープ

ユーザー定義セットには、以下のいずれかのスコープを設定できます。

  • クエリ スコープ
    セットの表示設定と有効期間は、クエリに限定されます。そのようなセットは、個々のクエリの中で定義します。クエリ スコープは、セッション スコープよりも優先されます。詳細については、「クエリ スコープの名前付きセットの作成 (MDX)」を参照してください。
  • セッション スコープ
    セットの表示設定と有効期間は、セットが作成されたセッションに限定されます (セットに対して DROP SET ステートメントが実行された場合、有効期間はセッションよりも短くなります)。CREATE SET ステートメントで作成するセットは、セッション スコープです。クエリ スコープによるセットを作成するには、WITH 句を使用してください。

次の例では、Core Products というセットが作成されます。次に SELECT クエリによって、新しく作成されたセットの呼び出しを示しています。CREATE SET ステートメントは、SELECT クエリを実行する前に実行する必要があります。この 2 つのステートメントは同じバッチ内では実行できません。

CREATE SET [Adventure Works].[Core Products] AS '{[Product].[Category].[Bikes]}'
    
SELECT [Core Products] ON 0
  FROM [Adventure Works]

参照

その他の技術情報

MDX データ定義ステートメント (MDX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

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