次の方法で共有


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

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

構文

CREATE [SESSION] [ STATIC | DYNAMIC ] [HIDDEN] SET 
   CURRENTCUBE | Cube_Name
      .Set_Name AS 'Set_Expression'
      [,Property_Name = Property_Value, ...n]

引数

  • Cube_Name
    キューブの名前を指定する有効な文字列式です。

  • Set_Name
    作成する名前付きセットの名前を指定する有効な文字列式です。

  • Set_Expression
    セットを返す有効な多次元式 (MDX) 式です。

  • Property_Name
    セットのプロパティの名前を指定する有効な文字列です。

  • Property_Value
    セットのプロパティの値を定義する有効なスカラ式です。

説明

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

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

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

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

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

スコープ

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

  • クエリ スコープ
    セットの表示設定と有効期間は、クエリに限定されます。そのようなセットは、個々のクエリの中で定義します。クエリ スコープは、セッション スコープよりも優先されます。詳細については、「クエリ スコープの名前付きセットの作成 (MDX)」を参照してください。

  • セッション スコープ
    セットの表示設定と有効期間は、セットが作成されたセッションに限定されます (セットに対して DROP SET ステートメントが実行された場合、有効期間はセッションよりも短くなります)。CREATE SET ステートメントで作成するセットは、セッション スコープです。クエリ スコープによるセットを作成するには、WITH 句を使用してください。

  • グローバル スコープ
    ユーザー セッションのコンテキストよりも広いスコープを設定して名前付きセットを作成する場合 (つまり、スコープを実行中のインスタンスの有効期間全体とする場合) は、既定の MDX スクリプトの中で CREATE SET ステートメントを使用します。詳細については、「基本的な MDX スクリプト (MDX)」を参照してください。既定の MDX スクリプトで CREATE SET を使用して定義した名前付きセットは、すべてのユーザーが任意のセッションのすべての MDX クエリで使用できます。

次の例では、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]

セットの評価

セットの評価は異なる方法で行うことができ、セットの作成時に一度だけ行うか、セットの使用時に毎回行うかを定義できます。

  • STATIC
    CREATE SET ステートメントが評価されるときに、セットを一度だけ評価することを示します。

  • DYNAMIC
    クエリでセットが使用されるたびに、セットを評価することを示します。

詳細については、「MDX での名前付きセットの作成 (MDX)」を参照してください。

セットの表示

キューブにクエリを実行する他のユーザーに対して、セットを表示するかどうかを指定できます。

  • HIDDEN
    キューブにクエリを実行するユーザーに対して、セットを非表示にすることを指定します。

標準のプロパティ

セットには、それぞれ既定のプロパティのセットがあります。クライアント アプリケーションを MicrosoftAnalysis Services に接続すると、管理者の選択に従って、既定のプロパティがサポートされるか、またはサポートできる状態になります。

プロパティの識別子

意味

CAPTION

セットのキャプションとしてクライアント アプリケーションが使用する文字列です。

DISPLAY_FOLDER

セットを表示するためにクライアント アプリケーションが使用する、表示フォルダのパスを識別する文字列です。フォルダ レベルの区切り記号は、クライアント アプリケーションによって定義されます。Analysis Services が提供するツールおよびクライアントでは、円記号 (\) がレベルの区切り記号です。定義されたセットで複数の表示フォルダを指定するには、セミコロン (;) を使用してフォルダを区切ります。