Analysis Services の DMX クエリ デザイナーの使用 (Reporting Services)

SQL ServerAnalysis Services データ ソースを使用してデータセットを作成した場合、レポート デザイナーで有効なキューブが検出されると、多次元式 (MDX) クエリ デザイナーが表示されます。キューブは検出されなくても、データ マイニング モデルが使用可能な場合、レポート デザイナーではデータ マイニング拡張機能 (DMX) クエリ デザイナーが表示されます。MDX デザイナーと DMX デザイナーを切り替えるには、ツール バーの [コマンドの種類 DMX] (DMX クエリ言語ビューへの変更) ボタンを使用します。DMX クエリ デザイナーを使用すると、グラフィカルな要素を使用して対話的に DMX クエリを作成できます。DMX クエリ デザイナーを使用するには、指定するデータ ソースが、データを提供するデータ マイニング モデルを既に備えている必要があります。クエリ結果は、レポートで使用できるようにフラットな行セットに変換されます。

注意注意

レポートをデザインする前に、モデルのトレーニングを行う必要があります。詳細については、「データ マイニング プロジェクト (Analysis Services - データ マイニング)」を参照してください。

デザイン モード

DMX クエリ デザイナーは、デザイン モードで開きます。デザイン モードには、単一のデータ マイニング モデルと入力テーブルを選択するためのグラフィカルなデザイン画面、および予測クエリを指定するためのグリッドが含まれています。DMX クエリ デザイナーには、この他に、クエリ モードと結果モードの 2 つのモードがあります。クエリ モードでは、デザインモードのグリッドがクエリ ペインに置き換えられ、これを使用して DMX クエリを入力することができます。結果モードでは、クエリによって返された結果セットがデータ グリッドに表示されます。

DMX クエリ デザイナーのモードを変更するには、クエリのデザイン画面を右クリックし、[デザイン][クエリ]、または [結果] をクリックします。詳細については、「Analysis Services の DMX クエリ デザイナのユーザー インターフェイス」および「データ マイニング モデル (DMX) からデータを取得する方法」を参照してください。

予測クエリのデザイン

デザイン モードのクエリ デザイン ペインには、[マイニング モデル][入力テーブルの選択] の 2 つのウィンドウがあります。[マイニング モデル] ウィンドウでは、クエリで使用するマイニング モデルを選択します。[入力テーブルの選択] ウィンドウでは、予測の基盤とするテーブルを選択します。入力テーブルではなく、単一クエリを使用する場合は、クエリ デザイン ペインで右クリックし、[単一クエリ] をクリックします。[入力テーブルの選択] ウィンドウは、[単一クエリ入力] ウィンドウに置き換えられます。

デザイン モードで、[マイニング モデル] ウィンドウおよび [入力テーブルの選択] ウィンドウから、グリッド ペインの [フィールド] 列にフィールドをドラッグします。また、残りの列に値を設定することによって、別名を指定したり、結果にフィールドを表示したり、複数のフィールドをグループにまとめたり、演算子を指定して特定の条件または引数でフィールド値を制限したりすることができます。クエリ モードでは、フィールドをクエリ ペインにドラッグして DMX クエリを作成できます。

DMX クエリ デザイナーを使用した DMX 予測クエリの構築の詳細については、「予測クエリ ビルダを使用した DMX 予測クエリの作成」を参照してください。

次の例では、DMX クエリ デザイナーを使用してレポート データセットを作成する方法を示します。

例 : データ マイニング モデルからのデータの取得

Reporting Services のサンプルには、SQL Server のサンプル データベース AdventureWorksDW に基づき 2 つのマイニング モデルを配置するプロジェクトが含まれます。詳細については、「Reporting Services のサンプル」を参照してください。

  1. AdventureWorks サンプル レポートをインストールしてパブリッシュし、Analysis Services キューブを配置します。詳細については、「Reporting Services のサンプル」を参照してください。

  2. AdventureWorks サンプル レポート プロジェクトを開き、空のレポート定義 (.rdl) ファイルをプロジェクトに追加します。

  3. AdventureWorksAS 共有データ ソースを使用して、新しいデータセットを作成します。[データセットのプロパティ] ダイアログ ボックスの [クエリ デザイナー] をクリックします。MDX Analysis Services クエリ デザイナーが [デザイン] モードで開きます。

  4. ツール バーの [Command Type DMX] (DMX クエリ言語ビューへの変更) ボタンをクリックします。

  5. [はい] をクリックして DMX クエリ デザイナーに切り替えます。

  6. [モデルの選択] をクリックし、[Targeted Mailing] を展開して、[TM Decision Tree] を選択します。[OK] をクリックします。

  7. [ケース テーブルの選択] をクリックし、スクロールして [vTargetMail (dbo)] を選択します。[OK] をクリックします。

  8. グリッド ペインで、[ソース] をクリックし、[TM Decision Tree mining model] を選択します。[Bike Buyer][フィールド] 列に表示されます。

  9. 次の行で、[ソース] をクリックし、[vTargetMail Table] を選択します。[CustomerKey][フィールド] 列に表示されます。

  10. クエリ デザイン ペインを右クリックし、[結果] をクリックして行セットを表示します。18484 行を含む結果セットが結果ビューに表示されます。デザイン モードに切り替えるには、結果ペインを右クリックし、[デザイン] をクリックします。

パラメーターの使用

レポート パラメーターを DMX クエリ パラメーターに渡すことができます。このためには、DMX クエリにパラメーターを追加し、[クエリ パラメーター] ダイアログ ボックスでクエリ パラメーターを定義して、関連付けられたレポート パラメーターを変更します。クエリ パラメーターを定義するには、ツール バーの [クエリ パラメーター] ([クエリ パラメータ] ダイアログ ボックスのアイコン) ボタンをクリックします。DMX クエリでのパラメーターの定義については、「Analysis Services の MDX クエリ デザイナでパラメータを定義する方法」を参照してください。

レポート パラメーターとクエリ パラメーターの関係を管理する方法の詳細については、「クエリ パラメータをレポート パラメータに関連付ける方法」を参照してください。パラメーターの詳細については、「レポートへのパラメータの追加」を参照してください。

パラメーターを指定したクエリの例

次のクエリを使用して、自転車を購入する見込みのある顧客と、その可能性を示すレポート データを取得できます。

SELECT
  t.FirstName, t.LastName,
  (Predict ([Bike Buyer])) as [PredictedValue],
  (PredictProbability([Bike Buyer])) as [Probability]
From
  [TM Decision Tree]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW],
    'SELECT
      [FirstName],
      [LastName],
      [CustomerKey],
      [MaritalStatus],
      [Gender],
      [YearlyIncome],
      [TotalChildren],
      [NumberChildrenAtHome],
      [HouseOwnerFlag],
      [NumberCarsOwned],
      [CommuteDistance]
    FROM
      [dbo].[DimCustomer]
    ') AS t
ON
  [TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
  [TM Decision Tree].[Gender] = t.[Gender] AND
  [TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
  [TM Decision Tree].[Total Children] = t.[TotalChildren] AND
  [TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] 
AND
  [TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
  [TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned] AND
  [TM Decision Tree].[Commute Distance] = t.[CommuteDistance]
WHERE
 (Predict ([Bike Buyer]))=@Buyer AND
 (PredictProbability([Bike Buyer]))>@Probability
注意注意

この例では、入力テーブルとして DimCustomer テーブルを使用しています。これは説明用のものです。AdventureWorks データベースでは、DimCustomer テーブルを使用して、この例で使用するモデルのトレーニングを行いました。通常、トレーニングに使用したことのない入力テーブルを使用します。

この例では、クエリを作成後、[クエリ パラメーター] ダイアログ ボックスを使用してクエリ パラメーターを定義する必要があります。それには、クエリ デザイナー ツール バーの [クエリ パラメーター] ([クエリ パラメータ] ダイアログ ボックスのアイコン) ボタンをクリックします。

次のようにしてパラメーターを追加します。各パラメーターには、既定値も必要です。

パラメーター

既定値

Buyer

1

Probability

.75

注意注意

[クエリ パラメーター] ダイアログ ボックスで指定したパラメーターは、アット マーク (@) がない以外はクエリのパラメーターと同じである必要があります。

[デザイン] ビューに切り替えてレポートを作成する際に、クエリ パラメーターから新しいレポート パラメーターが作成されます。レポートが実行されると、レポート パラメーターがユーザーに示されます。レポート パラメーターを更新し、ユーザーが選択できる値の一覧の提供、既定値の指定、または他のレポート パラメーター プロパティの変更を行うことができます。

レポート パラメーターの使用方法の詳細については、以下を参照してください。