Teilen über


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