このレッスンでは、顧客が同時に購入する傾向がある Adventure Works Cycles 製品を予測できるマイニング構造を作成します。 データ マイニングにおけるマイニング構造とその役割に慣れていない場合は、「 マイニング構造 (Analysis Services - データ マイニング)」を参照してください。
このレッスンで作成するアソシエーション マイニング構造では、 Microsoft アソシエーション アルゴリズムに基づくマイニング モデルの追加がサポートされています。 後のレッスンでは、マイニング モデルを使用して、顧客が同時に購入する傾向がある製品の種類を予測します。これはマーケット バスケット分析と呼ばれます。 たとえば、顧客がマウンテンバイク、自転車タイヤ、ヘルメットを同時に購入する傾向がある場合があります。
このレッスンでは、入れ子になったテーブルを使用してマイニング構造を定義します。 入れ子になったテーブルは、構造によって定義されるデータ ドメインが 2 つの異なるソース テーブル内に含まれているために使用されます。 入れ子になったテーブルの詳細については、「 入れ子になったテーブル (Analysis Services - データ マイニング)」を参照してください。
マイニング構造を作成するステートメント
入れ子になったテーブルを含むマイニング構造を作成するには、 CREATE MINING STRUCTURE (DMX) ステートメントを使用します。 ステートメント内のコードは、次の部分に分割できます。
構造体の名前付け
キー列の定義
マイニング列の定義
入れ子になったテーブル列の定義
CREATE MINING STRUCTURE ステートメントの一般的な例を次に示します。
CREATE MINING STRUCTURE [<Mining Structure Name>]
(
<key column>,
<mining structure columns>,
<table columns>
( <nested key column>,
<nested mining structure columns> )
)
コードの最初の行は、構造体の名前を定義します。
CREATE MINING STRUCTURE [Mining Structure Name]
DMX でのオブジェクトの名前付けの詳細については、「 識別子 (DMX)」を参照してください。
コードの次の行では、ソース データ内のエンティティを一意に識別するマイニング構造のキー列を定義します。
<key column>
コードの次の行は、マイニング構造に関連付けられているマイニング モデルによって使用されるマイニング列を定義するために使用されます。
<mining structure columns>
コードの次の行では、入れ子になったテーブル列を定義します。
<table columns>
( <nested key column>,
<nested mining structure columns> )
定義できるマイニング構造列の種類については、「 マイニング構造列」を参照してください。
注
既定では、SQL Server Data Tools (SSDT) は、マイニング構造ごとに 30% の保留データ セットを作成します。ただし、DMX を使用してマイニング構造を作成する場合は、必要に応じて、保持データ セットを手動で追加する必要があります。
このレッスンの作業
このレッスンでは、次のタスクを実行します。
新しい空のクエリを作成する
クエリを変更してマイニング構造を作成する
クエリを実行します
クエリの作成
最初の手順では、Analysis Services のインスタンスに接続し、SQL Server Management Studio で新しい DMX クエリを作成します。
SQL Server Management Studio で新しい DMX クエリを作成するには
SQL Server Management Studio を開きます。
[ サーバーへの接続 ] ダイアログ ボックスの [ サーバーの種類] で、[ Analysis Services] を選択します。 [ サーバー名] に、
LocalHost、またはこのレッスンで接続する Analysis Services のインスタンスの名前を入力します。 [接続] をクリックします。オブジェクト エクスプローラーで、Analysis Services のインスタンスを右クリックし、[新しいクエリ] をポイントして、[DMX] をクリックします。
クエリ エディターが開き、新しい空のクエリが含まれています。
クエリの変更
次の手順では、前述の CREATE MINING STRUCTURE ステートメントを変更して、Market Basket マイニング構造を作成します。
CREATE MINING STRUCTURE ステートメントをカスタマイズするには
クエリ エディターで、CREATE MINING STRUCTURE ステートメントの一般的な例を空白のクエリにコピーします。
次のコードを置き換えます。
[mining structure name]次の内容に置き換えます。
[Market Basket]次のコードを置き換えます。
<key column>次の内容に置き換えます。
OrderNumber TEXT KEY次のコードを置き換えます。
<table columns> ( <nested key column>, <nested mining structure columns> )次の内容に置き換えます。
[Products] TABLE ( [Model] TEXT KEY )TEXT KEY 言語では、Model 列が入れ子になったテーブルのキー列であることを指定します。
これで、完全なマイニング構造ステートメントは次のようになります。
CREATE MINING STRUCTURE [Market Basket] ( OrderNumber TEXT KEY, [Products] TABLE ( [Model] TEXT KEY ) )[ ファイル ] メニューの [ DMXQuery1.dmx As の保存] をクリックします。
[ 名前を付けて保存 ] ダイアログ ボックスで、適切なフォルダーを参照し、ファイルに
Market Basket Structure.dmx名前を付けます。
クエリの実行
最後の手順では、クエリを実行します。 クエリを作成して保存した後、サーバー上にマイニング構造を作成するには、クエリを実行する必要があります (つまり、ステートメントを実行する必要があります)。 クエリ エディターでのクエリの実行の詳細については、「 データベース エンジン クエリ エディター (SQL Server Management Studio)」を参照してください。
クエリを実行するには
クエリ エディターのツール バーの [ 実行] をクリックします。
ステートメントの実行が完了すると、クエリ エディターの下部にある [ メッセージ ] タブにクエリの状態が表示されます。 メッセージが表示されます。
Executing the query Execution completeMarket Basket という名前の新しい構造がサーバーに存在するようになりました。
次のレッスンでは、先ほど作成した Market Basket マイニング構造にマイニング モデルを追加します。