INSERT INTO (DMX)
適用於:SQL Server Analysis Services
處理指定的數據採礦物件。 如需處理採礦模型和採礦結構的詳細資訊,請參閱處理需求和考慮(數據採礦)。
如果指定採礦結構,語句會處理採礦結構和其所有相關聯的採礦模型。 如果指定採礦模型,語句只會處理採礦模型。
語法
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
模型標識碼。
結構
結構標識碼。
對應的模型數據行
數據行標識碼和巢狀標識碼的逗號分隔清單。
源數據查詢
提供者定義格式的來源查詢。
備註
如果您未指定 MINING MODEL 或 MINING STRUCTURE,Analysis Services 會根據名稱搜尋物件類型,並處理正確的物件。 如果伺服器包含採礦結構和具有相同名稱的採礦模型,則會傳回錯誤。
藉由使用第二種語法形式,INSERT INTO*<object>*。COLUMN_VALUES,您可以直接將數據插入模型數據行中,而不需要定型模型。 當您使用包含階層或已排序數據行的數據集時,這個方法會以簡潔、已排序的方式提供數據行數據給模型。
如果您使用 INSERT INTO 搭配採礦模型或採礦結構,並離開 <對應的模型數據> 行和 <源數據查詢> 自變數,語句的行為就像 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) 清除物件,才能執行這項作業。 |
對應的模型數據行
藉由使用 <對應的模型> 數據行元素,您可以將數據源中的數據行對應至採礦模型中的資料行。 對應的 <模型資料> 行元素具有下列形式:
<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...
藉由使用 SKIP,您可以排除來源查詢中必須存在但不存在於採礦模型中的特定數據行。 當您無法控制輸入數據列集中包含的數據行時,SKIP 會很有用。 如果您要撰寫自己的OPENQUERY,更好的做法是從SELECT資料行清單中省略數據行,而不是使用SKIP。
當輸入數據列集的數據行需要執行聯結時,SKIP 也很有用,但採礦結構不會使用數據行。 典型的範例是包含巢狀數據表的採礦結構和採礦模型。 此結構的輸入數據列集會有外鍵數據行,用來使用SHAPE子句建立階層式數據列集,但外鍵數據行幾乎永遠不會用於模型中。
SKIP 的語法會要求您在輸入資料列集中沒有對應採礦結構數據行之個別數據行的位置插入 SKIP。 例如,在下面的巢狀數據表範例中,必須在APPEND子句中選取OrderNumber,才能在RELATE子句中使用,以指定聯結;不過,您不想將 OrderNumber 數據插入採礦結構中的巢狀數據表。 因此,此範例會使用 SKIP 關鍵詞,而不是 INSERT INTO 自變數中的 OrderNumber。
源數據查詢
<來源資料查詢>元素可以包含下列資料來源類型:
OPENQUERY
OPENROWSET
形狀
傳回數據列集的任何 Analysis Services 查詢
如需數據源類型的詳細資訊,請參閱 <源數據查詢>。
基本範例
下列範例會使用 OPENQUERY ,根據資料庫中的目標郵寄數據 AdventureWorksDW2022
來定型貝氏機率分類模型。
INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
[Bike Buyer])
OPENQUERY([AdventureWorksDW2022],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer]
FROM [vTargetMail]')
巢狀數據表範例
下列範例會使用 SHAPE 來定型包含巢狀數據表的關聯採礦模型。 請注意,第一行包含SKIP,而不是OrderNumber,這是SHAPE_APPEND語句中的必要專案,但不會用於採礦模型。
INSERT INTO MyAssociationModel
([OrderNumber],[Models] (SKIP, [Model])
)
SHAPE {
OPENQUERY([AdventureWorksDW2022],'SELECT OrderNumber
FROM vAssocSeqOrders ORDER BY OrderNumber')
} APPEND (
{OPENQUERY([AdventureWorksDW2022],'SELECT OrderNumber, model FROM
dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')}
RELATE OrderNumber to OrderNumber)
AS [Models]
另請參閱
數據採礦延伸模組 (DMX) 資料定義語句
數據採礦延伸模組 (DMX) 數據操作語句
資料採礦延伸模組 (DMX) 陳述式參考