このレッスンでは、 INSERT INTO (DMX) ステートメントと AdventureWorksDW2012 サンプル データベースの vAssocSeqLineItems と vAssocSeqOrders を使用して、「 レッスン 1: マーケット バスケット マイニング構造の作成 」および「 レッスン 2: 市場バスケット マイニング構造へのマイニング モデルの追加」で作成したマイニング構造とマイニング モデルを処理します。
マイニング構造を処理すると、Analysis Services はソース データを読み取り、マイニング モデルをサポートする構造を構築します。 マイニング モデルを処理すると、マイニング構造によって定義されたデータが、選択したデータ マイニング アルゴリズムを介して渡されます。 アルゴリズムは傾向とパターンを検索し、この情報をマイニング モデルに格納します。 そのため、マイニング モデルには実際のソース データは含まれませんが、アルゴリズムによって検出された情報が格納されます。 マイニング モデルの処理の詳細については、「 処理要件と考慮事項 (データ マイニング)」を参照してください。
マイニング構造を再処理する必要があるのは、構造列を変更するか、ソース データを変更する場合のみです。 既に処理されているマイニング構造にマイニング モデルを追加する場合は、 INSERT INTO MINING MODEL ステートメントを使用して、既存のデータに対して新しいマイニング モデルをトレーニングできます。
Market Basket マイニング構造には入れ子になったテーブルが含まれているため、入れ子になったテーブル構造を使用してトレーニングするマイニング列を定義し、 SHAPE コマンドを使用して、ソース テーブルからトレーニング データをプルするクエリを定義する必要があります。
INSERT INTO ステートメント
Market Basket マイニング構造とそれに関連するマイニング モデルをトレーニングするには、 INSERT INTO (DMX) ステートメントを使用します。 ステートメント内のコードは、次の部分に分割できます。
マイニング構造の識別
マイニング構造内の列を一覧表示する
SHAPEを使用してトレーニングデータを定義する
INSERT INTO ステートメントの一般的な例を次に示します。
INSERT INTO MINING STRUCTURE [<mining structure name>]
(
<mining structure columns>
[<nested table>]
( SKIP, <skipped column> )
)
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<datasource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]
コードの最初の行は、トレーニングするマイニング構造を識別します。
INSERT INTO MINING STRUCTURE [<mining structure name>]
コードの次の行では、マイニング構造によって定義される列を指定します。 マイニング構造の各列を一覧表示し、各列をソース クエリ データに含まれる列にマップする必要があります。
SKIPを使用すると、ソース データに存在するがマイニング構造には存在しない列を無視できます。
SKIPの使用方法の詳細については、「INSERT INTO (DMX)」を参照してください。
(
<mining structure columns>
[<nested table>]
( SKIP, <skipped column> )
)
コードの最後の行では、マイニング構造のトレーニングに使用されるデータを定義します。 ソース データは 2 つのテーブルに含まれているため、 SHAPE を使用してテーブルを関連付けます。
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]
このレッスンでは、 OPENQUERY を使用してソース データを定義します。 ソース データに対してクエリを定義するその他の方法については、 <source データ クエリ>を参照してください。
このレッスンの作業
このレッスンでは、次のタスクを実行します。
- マーケットバスケットのマイニング構造を処理します。
マーケット バスケット マイニング構造の処理
INSERT INTO を使用してマイニング構造を処理するには
オブジェクト エクスプローラーで、Analysis Services のインスタンスを右クリックし、[新しいクエリ] をポイントして、[DMX] をクリックします。
クエリ エディターが開き、新しい空のクエリが含まれています。
INSERT INTO ステートメントの一般的な例を空白のクエリにコピーします。
次のコードを置き換えます。
[<mining structure>]次の内容に置き換えます。
Market Basket次のコードを置き換えます。
<mining structure columns> [<nested table>] ( SKIP, <skipped column> )次の内容に置き換えます。
[OrderNumber], [Products] (SKIP, [Model])ステートメントでは、
ProductsSHAPE ステートメントによって定義された Products テーブルを参照します。SKIPは、ソース データにキーとして存在するが、マイニング構造では使用されない Model 列を無視するために使用されます。次のコードを置き換えます。
SHAPE { OPENQUERY([<datasource>],'<SELECT statement>') } APPEND ( {OPENQUERY([<datasource>],'<nested SELECT statement>') } RELATE [<case key>] TO [<foreign key>] ) AS [<nested table>]次の内容に置き換えます。
SHAPE { OPENQUERY([Adventure Works DW],'SELECT OrderNumber FROM vAssocSeqOrders ORDER BY OrderNumber')} APPEND ( {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model') } RELATE OrderNumber to OrderNumber ) AS [Products]ソース クエリは、 AdventureWorksDW2012 サンプル プロジェクトで定義されている AdventureWorksDW2012 データ ソースを参照します。 このデータ ソースを使用して、vAssocSeqLineItems ビューと vAssocSeqOrders ビューにアクセスします。 これらのビューには、マイニング モデルのトレーニングに使用されるソース データが含まれています。 このプロジェクトまたはこれらのビューを作成していない場合は、「 基本的なデータ マイニング チュートリアル」を参照してください。
SHAPEコマンドでは、OPENQUERYを使用して 2 つのクエリを定義します。 最初のクエリでは親テーブルが定義され、2 番目のクエリでは入れ子になったテーブルが定義されます。 2 つのテーブルは、両方のテーブルに存在する OrderNumber 列を使用して関連しています。これで、完全なステートメントは次のようになります。
INSERT INTO MINING STRUCTURE [Market Basket] ( [OrderNumber],[Products] (SKIP, [Model]) ) SHAPE { OPENQUERY([Adventure Works DW],'SELECT OrderNumber FROM vAssocSeqOrders ORDER BY OrderNumber')} APPEND ( {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model') } RELATE OrderNumber to OrderNumber ) AS [Products][ ファイル ] メニューの [ DMXQuery1.dmx As の保存] をクリックします。
[ 名前を付けて保存 ] ダイアログ ボックスで、適切なフォルダーを参照し、ファイルに
Process Market Basket.dmx名前を付けます。ツール バーの [ 実行 ] ボタンをクリックします。
クエリの実行が完了したら、見つかったパターンとアイテムセットを表示したり、関連付けを表示したり、アイテムセット、確率、重要度でフィルター処理したりできます。 この情報を表示するには、SQL Server Management Studio でデータ モデルの名前を右クリックし、[ 参照] をクリックします。
次のレッスンでは、Market Basket 構造に追加したマイニング モデルに基づいて、いくつかの予測を作成します。