Share via


INSERT INTO (DMX)

指定されたデータ マイニング オブジェクトを処理します。マイニング モデルとマイニング構造の処理の詳細については、「データ マイニング オブジェクトの処理」を参照してください。

マイニング構造が指定された場合、ステートメントはマイニング構造とすべての関連するマイニング モデルを処理します。マイニング モデルが指定された場合、ステートメントはマイニング モデルだけを処理します。

構文

INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure> (<mapped model columns>) <source data query>
INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure>.COLUMN_VALUES (<mapped model columns>) <source data query>

引数

  • model
    モデル識別子です。
  • structure
    構造識別子です。
  • mapped model columns
    列の識別子と入れ子になった識別子のコンマ区切りのリストです。
  • source data query
    プロバイダ定義形式のソース クエリです。

解説

MINING MODEL または MINING STRUCTURE を指定しない場合、Analysis Services は名前に基づいてオブジェクト タイプを検索して、正しいオブジェクトを処理します。サーバーが同じ名前のマイニング構造とマイニング モデルを持つ場合、エラーが返されます。

2 つめの構文形式である INSERT INTO*<object>*.COLUMN_VALUES を使用することによって、モデルを学習せずに、モデル列内にデータを直接挿入できます。この方法によって、階層あるいは順序付けられた列を含むデータセットを使用する場合に便利な順序で、簡単に列データがモデルに提供されます。

INSERT INTO をマイニング モデルまたはマイニング構造と共に使用し、<mapped model columns> と <source data query> 引数を使用しない場合、ステートメントは、すでに存在するバインドを使用して ProcessDefault のように動作します。バインドが存在しない場合、ステートメントはエラーを返します。ProcessDefault の詳細については、「処理オプションと設定」を参照してください。次の例に構文を示します。

INSERT INTO [MINING MODEL] <model>

MINING MODEL を指定して、列とソース データ クエリのマップを提供した場合、モデルおよび関連する構造が処理されます。

次の表は、オブジェクトの状態に依存する、異なる形式のステートメントの結果について示しています。

ステートメント オブジェクトの状態 結果

INSERT INTO MINING MODEL<model>

マイニング構造は処理されます。

マイニング モデルは処理されます。

   

マイニング構造は処理されません。

マイニング モデルとマイニング構造は処理されます。

   

マイニング構造に追加のマイニング モデルが含まれます。

処理は失敗します。構造と関連するマイニング モデルを再処理する必要があります。

INSERT INTO MINING STRUCTURE<structure>

マイニング構造は処理されるか処理に失敗します。

マイニング構造と関連するマイニング モデルは処理されます。

INSERT INTO MINING MODEL ソース クエリを含む <model>

または

INSERT INTO MINING STRUCTURE ソース クエリを含む <structure>

構造またはモデルのどちらかがすでに内容に含まれます。

処理は失敗します。この演算を実行する前に、DELETE (DMX) を使用して、オブジェクトをクリアする必要があります。

モデル列のマップ

<mapped model columns> 要素を使用して、データ ソースからマイニング モデルへ列をマップできます。<mapped model columns> 要素は次の形式になります。

<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...

SKIP を使用して、ソース クエリに存在する必要があるがマイニング モデルには存在しない、特定の列を除外できますたとえば、このトピックで後述する入れ子になったテーブルの例では、SKIP は MyAssociationModel マイニング モデルの学習から OrderNumber 列を除外します。OrderNumber は、入れ子になったテーブル (Models テーブル) の外部キーとして使用されますが、マイニング モデルの Models テーブル列には存在しません。そのため、モデルを学習せずに、スキップすることができます。

ソース データ クエリ

<source data query> 要素は、次のデータ ソースの種類を含むことができます。

  • OPENQUERY
  • OPENROWSET
  • SHAPE
  • 行セットを返す、すべての Analysis Services クエリ

データ ソースの種類の詳細については、「<source data query>」を参照してください。

基本の例

次の例は、OPENQUERY を使用して、AdventureWorksDW データベースの対象となるマイニング データに基づいて Naive Bayes モデルを学習します。

INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
    [Bike Buyer])
OPENQUERY([Adventure Works DW],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer] FROM [vTargetMail]')

入れ子になったテーブルの例

次の例は、SHAPE を使用して、入れ子になったテーブルを含むアソシエーション モデルを学習します。

INSERT INTO MyAssociationModel
    ([OrderNumber],[Models] (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 [Models]

参照

関連項目

データ マイニング拡張機能 (DMX) データ定義ステートメント
データ マイニング拡張機能 (DMX) データ操作ステートメント
データ マイニング拡張機能 (DMX) ステートメント リファレンス

ヘルプおよび情報

SQL Server 2005 の参考資料の入手