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 就會根據名稱搜尋物件類型,並處理正確的物件。 如果伺服器包含具有相同名稱的採礦結構與採礦模型,就會傳回錯誤。
如果採用第二種語法格式 INSERT INTO <object>.COLUMN_VALUES,則您不必定型模型,就可以直接在模型資料行插入資料。 這種方法以精簡、已排序的方式提供模型的資料行資料,當您處理包含階層或已排序資料行的資料集時很有用。
如果您搭配採礦模型或採礦結構使用 INSERT INTO,而且未使用 <mapped model columns> 與 <source data query> 引數,陳述式的作用將如同 ProcessDefault 一樣,使用已經存在的繫結。 如果繫結不存在,陳述式就會傳回錯誤。 如需有關 ProcessDefault 的詳細資訊,請參閱<處理選項和設定 (Analysis Services)>。 下列範例會顯示語法:
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 將會非常實用。 如果您正在撰寫自己的 OPENQUERY,比較好的作法是省略 SELECT 資料行清單中的資料行,而不是使用 SKIP。
當需要輸入資料列集來執行聯結時,SKIP 也非常實用,但是採礦結構不會使用此資料行。 這個處理的典型範例就是採礦結構及包含巢狀資料表的採礦模型。 此結構的輸入資料列集將會有一個用來透過 SHAPE 子句建立階層式資料列集的外部索引鍵資料行,但是此模型中幾乎都不會使用此外部索引鍵資料行。
SKIP 的語法要求您在沒有對應採礦結構資料行的輸入資料列集中的個別資料行位置插入 SKIP。 例如,在底下的巢狀資料表範例中,必須在 APPEND 子句中選取 OrderNumber,使它能夠在 RELATE 子句中用來指定聯結;但是不建議將 OrderNumber 資料插入採礦結構的巢狀資料表內。 因此,這個範例會在 INSERT INTO 引數中使用 SKIP 關鍵字,而不是 OrderNumber。
來源資料查詢
<source data query> 元素可以包含下列的資料來源類型:
OPENQUERY
OPENROWSET
SHAPE
傳回資料列集的任何 Analysis Services 查詢
如需有關資料來源類型的詳細資訊,請參閱<<source data query>>。
基本範例
下列範例使用 OPENQUERY,根據 AdventureWorksDW2012 資料庫中的目標郵寄資料定型貝氏機率分類模型。
INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
[Bike Buyer])
OPENQUERY([AdventureWorksDW2012],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer]
FROM [vTargetMail]')
巢狀資料表範例
下列範例使用 SHAPE 來定型包含巢狀資料表的關聯採礦模型。 請注意,第一行包含 SKIP 而非 OrderNumber,後者是 SHAPE_APPEND 陳述式中所需,但是不會在採礦模型內使用。
INSERT INTO MyAssociationModel
([OrderNumber],[Models] (SKIP, [Model])
)
SHAPE {
OPENQUERY([AdventureWorksDW2012],'SELECT OrderNumber
FROM vAssocSeqOrders ORDER BY OrderNumber')
} APPEND (
{OPENQUERY([AdventureWorksDW2012],'SELECT OrderNumber, model FROM
dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')}
RELATE OrderNumber to OrderNumber)
AS [Models]