INSERT INTO (DMX)
Gilt für: SQL Server Analysis Services
Verarbeitet das angegebene Data Mining-Objekt. Weitere Informationen zur Verarbeitung von Miningmodellen und Bergbaustrukturen finden Sie unter Verarbeitungsanforderungen und Überlegungen (Data Mining).
Wenn eine Miningstruktur angegeben ist, verarbeitet die Anweisung die Miningstruktur sowie alle Miningmodelle, die der Struktur zugeordnet sind. Ist ein Miningmodell angegeben, verarbeitet die Anweisung nur das Miningmodell.
Syntax
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>
Argumente
Modell
Ein Modellbezeichner.
Struktur
Ein Strukturbezeichner.
zugeordnete Modellspalten
Eine durch Trennzeichen getrennte Liste mit Spaltenbezeichnern und geschachtelten Bezeichnern.
Quelldatenabfrage
Die Quellabfrage im anbieterdefinierten Format.
Hinweise
Wenn Sie kein MININGMODELL oder MININGSTRUKTUR angeben, sucht Analysis Services basierend auf dem Namen nach dem Objekttyp und verarbeitet das richtige Objekt. Wenn der Server eine Miningstruktur und ein Miningmodell enthält, die denselben Namen haben, wird ein Fehler zurückgegeben.
Verwenden Sie das zweite Syntaxformular, INSERT INTO*<object>*. COLUMN_VALUES können Sie Daten direkt in die Modellspalten einfügen, ohne das Modell zu trainieren. Bei dieser Methode werden dem Modell Spaltendaten in einer übersichtlichen, geordneten Weise bereitgestellt, die sich anbietet, wenn Sie mit Datasets arbeiten, die Hierarchien oder geordnete Spalten enthalten.
Wenn Sie INSERT INTO mit einem Miningmodell oder einer Miningstruktur verwenden und die <zugeordneten Modellspalten> und <Quelldatenabfrageargumente> verlassen, verhält sich die Anweisung wie ProcessDefault, wobei Bindungen verwendet werden, die bereits vorhanden sind. Wenn keine Bindungen vorhanden sind, gibt die Anweisung einen Fehler zurück. Weitere Informationen zu ProcessDefault finden Sie unter "Verarbeitungsoptionen und -einstellungen (Analysis Services)". Das folgende Beispiel zeigt die Syntax:
INSERT INTO [MINING MODEL] <model>
Wenn Sie MININGMODELL angeben und zugeordnete Spalten und eine Quelldatenabfrage bereitstellen, wird das Modell und die zugeordnete Struktur verarbeitet.
In der folgenden Tabelle sind die vom Status der Objekte abhängigen Ergebnisse der unterschiedlichen Formen der Anweisung beschrieben.
Anweisung | Status der Objekte | Ergebnis |
---|---|---|
INSERT INTO MINING MODEL*<model>* | Miningstruktur wird verarbeitet. | Miningmodell wird verarbeitet. |
Miningstruktur wird nicht verarbeitet. | Miningmodell und Miningstruktur werden verarbeitet. | |
Miningstruktur enthält weitere Miningmodelle. | Fehler bei der Verarbeitung. Sie müssen die Struktur und die zugeordneten Miningmodelle erneut verarbeiten. | |
IN BERGBAUSTRUKTUR EINFÜGEN*<STRUKTUR>* | Miningstruktur wird verarbeitet oder nicht verarbeitet. | Miningstruktur und zugeordnete Miningmodelle werden verarbeitet. |
INSERT INTO MINING MODEL*<model>* that contains a source query oder INSERT INTO MINING STRUCTURE*<structure>* that contains a source query |
Entweder die Struktur oder das Modell enthält bereits Inhalt. | Fehler bei der Verarbeitung. Sie müssen die Objekte löschen, bevor Sie diesen Vorgang ausführen, indem Sie DELETE (SHAPE) verwenden. |
Zugeordnete Modellspalten (Mapped Model Columns)
Mithilfe des <zugeordneten Modellspaltenelements> können Sie die Spalten aus der Datenquelle den Spalten in Ihrem Miningmodell zuordnen. Das <zugeordnete Modellspaltenelement weist das folgende Formular auf> :
<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...
Mithilfe von SKIP können Sie bestimmte Spalten ausschließen, die in der Quellabfrage vorhanden sein müssen, aber nicht im Miningmodell vorhanden sind. SKIP ist hilfreich, wenn Sie keine Kontrolle über die Spalten haben, die in einem Eingaberowset enthalten sind. Wenn Sie Ihre eigene OPENQUERY schreiben, wird anstelle der Verwendung von SKIP empfohlen, die Spalte in der SELECT-Spaltenliste auszulassen.
SKIP ist auch nützlich, wenn eine Spalte aus dem Eingaberowset benötigt wird, um einen Join durchzuführen, die Spalte jedoch nicht von der Miningstruktur verwendet wird. Ein typisches Beispiel dafür sind eine Miningstruktur und ein Miningmodell, die eine geschachtelte Tabelle enthalten. Das Eingaberowset für diese Struktur umfasst eine Fremdschlüsselspalte, mit der ein hierarchisches Rowset mithilfe der SHAPE-Klausel erstellt wird. Die Fremdschlüsselspalte wird jedoch kaum im Modell verwendet.
Die Syntax für SKIP erfordert, dass Sie SKIP an der Position der einzelnen Spalte im Eingaberowset einfügen, das über keine entsprechende Miningstrukturspalte verfügt. Beispielsweise muss im folgenden geschachtelten Tabellenbeispiel "OrderNumber" in der APPEND-Klausel ausgewählt werden, damit sie in der RELATE-Klausel verwendet werden kann, um die Verknüpfung anzugeben; Sie möchten die OrderNumber-Daten jedoch nicht in die geschachtelte Tabelle in der Miningstruktur einfügen. Daher verwendet das Beispiel das SKIP-Schlüsselwort anstelle von OrderNumber im INSERT INTO-Argument.
Quelldatenabfrage (Source Data Query)
Das <Quelldatenabfrageelement> kann die folgenden Datenquellentypen enthalten:
OPENQUERY
OPENROWSET
FORM
Jede Analysis Services-Abfrage, die ein Rowset zurückgibt
Weitere Informationen zu Datenquellentypen finden Sie in der Quelldatenabfrage>.<
Elementares Beispiel
Im folgenden Beispiel wird OPENQUERY verwendet, um ein Naive Bayes-Modell basierend auf den Zielsendungsdaten in der AdventureWorksDW2022
Datenbank zu trainieren.
INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
[Bike Buyer])
OPENQUERY([AdventureWorksDW2022],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer]
FROM [vTargetMail]')
Beispiel für eine geschachtelte Tabelle
Im folgenden Beispiel wird SHAPE verwendet, um ein Zuordnungsminingmodell zu trainieren, das eine geschachtelte Tabelle enthält. Beachten Sie, dass die erste Zeile SKIP anstelle von OrderNumber enthält, die in der SHAPE_APPEND-Anweisung erforderlich ist, aber nicht im Miningmodell verwendet wird.
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]
Weitere Informationen
Data Mining Extensions (DATA Mining Extensions, ABSCHNITT) Datendefinitionsanweisungen
DATA Mining Extensions (UNIVERSE) Datenmanipulationsanweisungen
Data Mining-Erweiterungen (DMX) - Anweisungsreferenz