予測クエリの入力データの選択およびマップ
適用対象:
SQL Server 2019 以前の Analysis Services
Azure Analysis Services
Power BI Premium
重要
データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。
マイニング モデルから予測を作成する場合は、一般に新しいデータをモデルに供給することでこの操作を行います (例外はタイム シリーズ モデルで、履歴データのみに基づいて予測を行うことができます)。モデルに新しいデータを提供するには、データがデータ ソース ビューの一部として使用可能であることを確認する必要があります。 予測に使用するデータがあらかじめわかっている場合は、モデルの作成に使用するデータ ソース ビューにそのデータを含めることができます。 それ以外の場合は、新しいデータ ソース ビューを作成する必要があります。 詳細については、 「多次元モデルのデータ ソース ビュー」を参照してください。
必要なデータが一対多の結合で複数の表に含まれている場合があります。 これはデータがアソシエーション モデルまたはシーケンス クラスター モデルに使用されるケースであり、製品またはトランザクションの詳細を含む入れ子になったテーブルにリンクしているケース テーブルを使用します。 モデルでケースが入れ子になったテーブル構造を使用する場合は、予測に使用するデータにもケースが入れ子になったテーブル構造が必要です。
警告
新しい列を追加したり、別のデータ ソース ビュー内にある列をマップしたりすることはできません。 選択したデータ ソース ビューには、予測クエリに必要なすべての列が含まれている必要があります。
予測に使用するデータが格納されているテーブルを識別した後で、外部データの列をマイニング モデルの列にマップする必要があります。 たとえば、モデルで人口統計とアンケートの回答に基づいて顧客の購入行動を予測する場合、入力データには、モデル内に何があるかに通常対応する情報が含まれている必要があります。 すべての単一列に対応データが必要なわけではありませんが、対応する列が多い方が適しています。 異なるデータ型の列をマップしようとすると、エラーが発生することがあります。 その場合は、データ ソース ビューで名前付きの計算を定義して、新しい列データをモデルに必要なデータ型にキャストまたは変換できます。 詳細については、「 データ ソース ビューでの名前付き計算の定義 (Analysis Services)」を参照してください。
予測に使用するデータを選択すると、選択したデータ ソース内の一部の列は、名前の類似性および一致するデータ型に基づいてマイニング モデルの列に自動的にマップされることがあります。 [マイニング モデル予測] の [マッピングの変更] ダイアログ ボックスを使用して、マップされる列の変更、不適切なマッピングの削除、または既存の列の新規マッピングの作成を行うことができます。 [マイニング モデル予測] デザイン画面では、接続のドラッグ アンド ドロップ編集もサポートされます。
新しい接続を作成するには、 [マイニング モデル] テーブルで単に列を選択し、 [入力テーブルの選択] テーブルの対応する列にドラッグします。
接続を削除するには、接続線を選択して Del キーを押します。
次の手順では、 [入れ子になった結合の指定] ダイアログ ボックスを使用して、予測クエリへの入力として使用するためにケース テーブルと入れ子になったテーブルの間に作成された結合を変更する方法を説明します。
入力テーブルの選択
SQL Server Data Toolsのデータ マイニング デザイナーの [マイニング精度グラフ] タブの [入力テーブルの選択] テーブルで、[ケース テーブルの選択] をクリックします。
[テーブルの選択] ダイアログ ボックスが表示され、クエリの基になるデータが含まれているテーブルを選択できます。
[テーブルの選択] ダイアログ ボックスで、データ ソースを [データ ソース] 一覧から選択します。
[テーブル名またはビュー名]で、モデルのテストに使用するデータが含まれているテーブルを選択します。
[OK] をクリックします。
マイニング構造の列が、入力テーブル内の同じ名前を持つ列に自動的にマップされます。
入力データがモデルにマップされる方法の変更
SQL Server Data Toolsのデータ マイニング デザイナーで、[マイニング モデルの予測] タブを選択します。
[マイニング モデル] メニューで [接続の変更]を選択します。
[マッピングの変更] ダイアログ ボックスが開きます。 このダイアログ ボックスの [マイニング モデル列] に、選択したマイニング構造の列が一覧表示されます。 [テーブル列] に、 [入力テーブルの選択] ダイアログ ボックスで選択した外部データ ソースの列が一覧表示されます。 外部データ ソースの列はマイニング モデル内の列にマップされます。
[テーブル列]で、マップ先のマイニング モデル列に対応する行を選択します。
外部データ ソースで使用可能な列の一覧から新しい列を選択します。 列マッピングを削除するには、一覧内の空白の項目を選択します。
[OK] をクリックします。
新しい列マッピングがデザイナーに表示されます。
入力テーブル間のリレーションシップの削除
SQL Server Data Toolsのデータ マイニング デザイナーの [マイニング モデル予測] タブの [入力テーブルの選択] テーブルで、[結合の変更] をクリックします。
[入れ子になった結合の指定] ダイアログ ボックスが開きます。
リレーションシップを選択します。
[リレーションシップの削除]をクリックします。
[OK] をクリックします。
ケース テーブルと入れ子になったテーブルの間のリレーションシップが削除されます。
入力テーブル間の新しいリレーションシップの作成
データ マイニング デザイナーの [マイニング モデル予測] タブにある [入力テーブルの選択] テーブルで、 [結合の変更]をクリックします。
[入れ子になった結合の指定] ダイアログ ボックスが開きます。
[リレーションシップの追加]をクリックします。
[リレーションシップの作成] ダイアログ ボックスが開きます。
入れ子になったテーブルのキーを [基になる列]で選択します。
ケース テーブルのキーを [対象になる列]で選択します。
[リレーションシップの作成] ダイアログ ボックスで [OK] をクリックします。
[入れ子になった結合の指定] ダイアログ ボックスで [OK] をクリックします。
ケース テーブルと入れ子になったテーブルの間に新しいリレーションシップが作成されます。
入れ子になったテーブルの予測クエリの入力テーブルへの追加
データ マイニング デザイナーの [マイニング モデル予測] タブで、 [ケース テーブルの選択] をクリックして [テーブルの選択] ダイアログ ボックスを開きます。
注意
入れ子になったテーブルはケース テーブルを指定しないと入力に追加できません。 入れ子になったテーブルを使用するには、予測に使用するマイニング モデルでも入れ子になったテーブルを使用する必要があります。
[テーブルの選択] ダイアログ ボックスで、 [データ ソース] ボックスの一覧からデータ ソースを選択し、データ ソース ビュー内でケース データが含まれているテーブルを選択します。 [OK] をクリックします。
[入れ子になったテーブルの選択] をクリックして [テーブルの選択] ダイアログ ボックスを開きます。
[テーブルの選択] ダイアログ ボックスで、 [データ ソース] ボックスの一覧からデータ ソースを選択し、データ ソース ビュー内で入れ子になったデータが含まれているテーブルを選択します。 [OK] をクリックします。
リレーションシップが既に存在する場合は、マイニング モデルの列が、入力テーブル内の同じ名前の列に自動的にマップされます。 入れ子になったテーブルとケース テーブル間のリレーションシップは、 [結合の変更]をクリックし、 [リレーションシップの作成] ダイアログ ボックスを開いて変更できます。