次の方法で共有


名前付きセットの定義

名前付きセットとは、ディメンション メンバのセットを返す多次元式 (MDX) です。名前付きセットを定義し、キューブ定義の一部として保存できます。さらに、名前付きセットをクライアント アプリケーションで作成することもできます。名前付きセットは、キューブ データ、算術演算子、数値、関数を組み合わせることによって作成します。名前付きセットは、クライアント アプリケーションの MDX クエリの中で使用できます。また、サブキューブのセットを定義するときも使用できます。サブキューブは、クロス結合によるセットのコレクションであり、後続のステートメントに対して、キューブ空間を定義されたサブスペースに制限します。制限されたキューブ領域の定義は MDX スクリプティングの基本概念です。

名前付きセットを使用すると、MDX クエリを単純化することができ、よく使用する複雑なセット式に対して便利な別名を使用できます。たとえば、従業員が最も多い Reseller ディメンションのメンバを含む Large Resellers 名前付きセットを定義できます。エンド ユーザーはクエリの中でこの Large Resellers 名前付きセットを使用できます。また、サブキューブ内のセットを定義するために名前付きセットを使用することもできます。名前付きセットの定義はキューブに格納されますが、その値はメモリにしか存在しません。名前付きセットを作成するには、キューブ デザイナの [計算] タブで [新しい名前付きセット] コマンドを使用します。詳細については、「計算」と「名前付きセットの作成」を参照してください。

このトピックの作業では、Core Products と Large Resellers という 2 つの名前付きセットを定義します。

Core Products 名前付きセットの定義

Core Products 名前付きセットを定義するには

  1. Analysis Services Tutorial キューブのキューブ デザイナを開いて、[計算] タブに切り替えます。次に、ツール バーの [フォーム ビュー] をクリックします。

  2. [スクリプト オーガナイザ] ペインの [Total Sales Ratio to All Products] をクリックして、[計算] タブのツール バーの [新しい名前付きセット] をクリックします。

    [計算] タブで新しい計算を定義する場合、計算は [スクリプト オーガナイザ] ペインに表示されている順序で解決されることに注意してください。新しい計算を作成するときにペイン内でフォーカスが置かれている位置によって、計算の実行順序が決まります。新しい計算は、フォーカスが置かれている計算の直後に定義されます。

  3. [名前] ボックスに、新しい名前付きセットの名前として「[Core Products]」と入力します。

    [スクリプト オーガナイザ] ペインには、スクリプト コマンドまたは計算されるメンバとは異なる、名前付きセットの固有のアイコンが表示されます。

  4. [計算ツール] ペインの [メタデータ] タブで、[Product][Category][メンバ][All Products] の順に展開します。

    注意注意

    [計算ツール] ペインにメタデータが表示されない場合、ツール バーの [再接続] をクリックします。それでも表示されない場合は、キューブを処理するか、Analysis Services のインスタンスを開始する必要があります。

  5. [Bikes][式] ボックスにドラッグします。

    これで、Product ディメンションの Bike カテゴリに属するメンバのセットを返すセット式を作成できました。

Large Resellers 名前付きセットの定義

Large Resellers 名前付きセットを定義するには

  1. [スクリプト オーガナイザ] ペインの [Core Products] を右クリックして、[新しい名前付きセット] をクリックします。

  2. [名前] ボックスに、この名前付きセットの名前として「[Large Resellers]」と入力します。

  3. [式] ボックスに「Exists()」と入力します。

    Exists 関数を使用して、Number of Employees 属性階層内の従業員数が多数であるメンバのセットと交差する、Reseller Name 属性階層のメンバのセットを返すようにします。

  4. [計算ツール] ペインの [メタデータ] タブで、Reseller ディメンション、Reseller Name 属性階層の順に展開します。

  5. Reseller Name レベルを Exists セット式のかっこ内にドラッグします。

    このセットのすべてのメンバを返すには、Members 関数を使用します。関連トピック :Members (セット) (MDX)

  6. セット式の部分に続けて、ピリオドを入力して、Members 関数を追加します。式は以下のようになります。

    Exists([Reseller].[Reseller Name].[Reseller Name].Members)
    

    これで、Exists セット式の最初のセットを定義できました。続いて 2 番目のセット、つまり多数の従業員を含む Reseller ディメンションのメンバのセットを追加できます。

  7. [計算ツール] ペインの [メタデータ] タブで、Reseller ディメンションの [Number of Employees] を展開して、[メンバ][All Resellers] の順に展開します。

    この属性階層のメンバはグループ化されていません。

  8. Reseller ディメンションのディメンション デザイナを開いて、[属性] ペインの [Number of Employees] をクリックします。

  9. プロパティ ウィンドウで、DiscretizationMethod プロパティを Automatic に変更して、DiscretizationBucketCount プロパティを「5」に変更します。関連トピック :属性メンバのグループ化 (分離)

  10. Business Intelligence Development Studio で、[ビルド] メニューの [Analysis Services Tutorial の配置] をクリックします。

  11. 配置が正常に完了したら、Analysis Services Tutorial キューブのキューブ デザイナに切り替え、[計算] タブのツール バーで [再接続] をクリックします。

  12. [計算ツール] ペインの [メタデータ] タブで、[Reseller] ディメンションの [Number of Employees] を展開して、[メンバ][All Resellers] の順に展開します。

    この属性階層のメンバには、0 から 4 までの番号が付いた 5 つのグループが含まれるようになりました。グループの番号は、グループ上にポインタを合わせると表示されるヒントで確認できます。この属性階層のメンバがこのようにグループ化されるのは、DiscretizationBucketCount プロパティが 5 に設定され、DiscretizationMethod プロパティが Automatic に設定されているためです。

  13. [式] ボックスで、Exists セット式内の Members 関数の後ろ、右かっこの直前にコンマを追加します。次に、[メタデータ] ペインから [83 - 100] をドラッグしてコンマの後に置きます。

    これで、Exists セット式は完成です。この式は、Large Resellers 名前付きセットが軸に設定された場合に、これらの指定された 2 つのセット、つまり全再販業者のセットと 83 から 100 人の従業員を持つ再販業者のセットで交差するメンバのセットを返します。

    次の図は、Large Resellers 名前付きセットの計算式ペインを示しています。

    [Large Resellers] の計算式ペイン

  14. [計算] タブのツール バーで [スクリプト ビュー] をクリックし、計算スクリプトに追加した 2 つの名前付きセットを確認します。

  15. 計算スクリプトの最初の CREATE SET コマンドの直前に新しい行を追加して、その行に以下のテキストを独自の行として追加します。

    /* named sets */
    

    これで 2 つの名前付きセットが定義され、それらは [スクリプト オーガナイザ] ペインに表示されます。これらの名前付きセットを配置して、これらのメジャーを Analysis Services Tutorial キューブで表示する準備が整いました。

新しい名前付きセットを使用したキューブの表示

新しい名前付きセットを使用してキューブを表示するには

  1. BI Development Studio で、[ビルド] メニューの [Analysis Services Tutorial の配置] をクリックします。

  2. 配置が正常に完了したら、[ブラウザ] タブをクリックして、[再接続] をクリックします。

  3. データ ペインからすべての階層とメジャーを削除します。

  4. Reseller Sales-Sales Amount メジャーをデータ領域に追加して、Product Categories ユーザー定義階層を行領域に追加します。

    新しいセッションで作業している場合はすべてのメンバが表示されます。カテゴリ属性のメンバが 1 つしか表示されない場合、これは、このセッションで以前にこの属性をフィルタとして使用したためです。すべてのメンバを表示するには、[行] 領域の [Category] の隣にあるドロップダウン矢印をクリックし、[(すべて)] レベルの隣にあるチェック ボックスをオンにして、このレベルのすべてのメンバを選択します (まだ選択されていない場合)。[OK] をクリックします。

  5. 次の図のように、[Bikes] を展開して、Subcategory レベルのメンバを表示します。

    Subcategory 属性のメンバ

  6. メタデータ ペインで、Product ディメンションの [Core Products] を右クリックして、[サブキューブ領域に追加] をクリックします。

    キューブで表示されるのは Category 属性の Bike メンバと、Bike サブカテゴリのメンバだけになります。これは、Core Product 名前付きセットによってサブキューブが定義されているためです。このサブキューブのプロパティは、データ ペインの上にあるフィルタ ペインに表示されます。次の図のように、このサブキューブは、サブキューブ内の Product ディメンション内の Category 属性のメンバを、Core Product 名前付きセットのメンバに限定します。

    Core Product 名前付きセットのメンバ

  7. [メタデータ] ペインで、[Reseller] を展開して [Large Resellers] を右クリックし、[サブキューブ領域に追加] をクリックします。

    データ ペインの Reseller Sales Amount メジャーには、自転車の大規模な再販業者の売上高だけが表示されるようになります。また、次の図のように、フィルタ ペインには、この特定のサブキューブを定義するために使用される 2 つの名前付きセットが表示されています。

    2 つの名前付きセットを含む [フィルタ] ペイン