レッスン 3: Market Basket マイニング構造の処理

 

対象: SQL Server 2016 Preview

このレッスンでは使用して、 INSERT INTO #40; DMX ) ステートメントと vAssocSeqLineItems および vAssocSeqOrders を AdventureWorksDW2012 マイニング構造とマイニング モデルで作成したを処理するサンプル データベース レッスン 1: Market Basket マイニング構造を作成するレッスン 2: Market Basket マイニング構造にマイニング モデルの追加します。

マイニング構造の処理では、Analysis Services でソース データが読み込まれ、マイニング モデルをサポートする構造が構築されます。 マイニング モデルを処理すると、マイニング構造で定義されたデータは選択したデータ マイニング アルゴリズムを介して渡されます。 このアルゴリズムでは傾向とパターンが検索され、結果の情報がマイニング モデルに保存されます。 したがって、マイニング モデルには、実際のソース データではなく、アルゴリズムで検出された情報が含まれます。 マイニング モデルの処理の詳細については、次を参照してください。 処理要件と考慮事項と #40; データ マイニング )します。

マイニング構造の再処理は、構造列またはソース データを変更した場合にのみ必要です。 既に処理されているマイニング構造にマイニング モデルを追加する場合は、使用、 INSERT INTO MINING MODEL ステートメントが既存のデータに対して新しいマイニング モデルをトレーニングします。

Market Basket マイニング構造に入れ子になったテーブルが含まれているためにを入れ子になったテーブル構造を使用してトレーニングするマイニング列を定義する必要を使用して、 図形 コマンドを元のテーブルからトレーニング データを抽出するクエリを定義します。

INSERT INTO ステートメント

Market Basket マイニング構造とそれに関連するマイニング モデルをトレーニングするために使用して、 INSERT INTO #40; DMX ) ステートメントです。 ステートメントのコードは次の部分に分けることができます。

  • マイニング構造の指定

  • マイニング構造の列の一覧

  • 使用してトレーニング データを定義する 図形

汎用例を次に示します、 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 #40; DMX )します。

(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  

コードの最後の行では、マイニング構造のトレーニングに使用されるデータを定義します。 使用するソース データが 2 つのテーブルに含まれているため 図形 テーブルを関連付けます。

SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

このレッスンで使用して OPENQUERY ソース データを定義します。 ソース データに対してクエリを定義するその他の方法の詳細については、次を参照してください。 < ソース データ クエリ >します。

このレッスンの作業

このレッスンでは、次のタスクを実行します。

  • Market Basket マイニング構造を処理します。

Market Basket マイニング構造の処理

INSERT INTO を使用してマイニング構造を処理するには

  1. オブジェクト エクスプ ローラー, のインスタンスを右クリックして Analysis Services, 、指す 新しいクエリ, 、順にクリック DMXします。
クエリ エディターが開き、新しい空のクエリが表示されます。  
  1. 上の INSERT INTO ステートメントの汎用例を空のクエリにコピーします。

  2. 次の部分を探します。

    [<mining structure>]  
    

    これを次の文字列に置き換えます。

    Market Basket  
    
  3. 次の部分を探します。

    <mining structure columns>  
    [<nested table>]  
    ( SKIP, <skipped column> )  
    

    これを次の文字列に置き換えます。

    [OrderNumber],  
    [Products]   
    (SKIP, [Model])  
    

    ステートメントでは、 製品 SHAPE ステートメントで定義される Products テーブルを参照します。 SKIP をキーとしてソース データ内に存在するがマイニング構造で使用されていないモデルの列を無視するために使用します。

  4. 次の部分を探します。

    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 ビューにアクセスします。 これら 2 つのビューには、マイニング モデルのトレーニングに使用されるソース データが含まれます。 このプロジェクトやこれらのビューを作成していない場合は、次を参照してください。 基本的なデータ マイニング チュートリアルします。

    内で、 図形 コマンドを使用する 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]  
    
  5. ファイル ] メニューのをクリックして 付けて DMXQuery1.dmx を保存します。

  6. 名前を付けて保存 ダイアログ ボックスで、適切なフォルダーに移動し、ファイル名 プロセス Market Basket.dmxします。

  7. ツールバーで、 Execute ] ボタンをクリックします。

クエリの実行終了後、見つかったパターンとアイテムセットを表示したり、関連付けを表示したり、アイテムセット、確率、または重要度でフィルタリングしたりできます。 この情報を表示する SQL Server Management Studio, 、データ モデルの名前を右クリックし、 参照します。

次のレッスンでは、Market Basket 構造に追加したマイニング モデルに基づいて、いくつかの予測を作成します。

次のレッスン

レッスン 4: マーケット バスケット予測の実行