INSERT INTO (DMX)
Consente di elaborare l'oggetto di data mining specificato. Per ulteriori informazioni sull'elaborazione di modelli e strutture di data mining, vedere Requisiti e considerazioni sull'elaborazione (data mining).
Se è specificata una struttura di data mining, l'istruzione elabora la struttura e tutti i modelli di data mining associati. Se è specificato un modello di data mining, l'istruzione elabora solo tale modello.
Sintassi
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>
Argomenti
model
Identificatore del modello.structure
Identificatore della struttura.mapped model columns
Elenco delimitato da virgole contenente identificatori di colonna e identificatori nidificati.source data query
Query di origine nel formato definito dal provider.
Osservazioni
Se non si specifica MINING MODEL o MINING STRUCTURE, Analysis Services cercherà il tipo di oggetto in base al nome ed elaborerà l'oggetto appropriato. Se il server contiene una struttura di data mining e un modello di data mining con lo stesso nome, verrà restituito un errore.
Se si utilizza la seconda forma della sintassi, INSERT INTO <object>.COLUMN_VALUES, è possibile inserire i dati direttamente nelle colonne del modello, senza eseguire il training del modello. Questo metodo consente di fornire dati di colonna al modello in un modo ordinato e conciso, che risulta utile quando si utilizzano set di dati che contengono gerarchie o colonne ordinate.
Se si utilizza INSERT INTO con un modello o una struttura di data mining e si mantengono gli argomenti <mapped model columns> e <source data query> impostati su off, l'istruzione funziona in modo analogo a ProcessDefault, utilizzando associazioni già esistenti. Se le associazioni non esistono, l'istruzione restituirà un errore. Per ulteriori informazioni su ProcessDefault, vedere Opzioni e impostazioni di elaborazione (Analysis Services). La sintassi è illustrata nell'esempio seguente:
INSERT INTO [MINING MODEL] <model>
Se si specifica MINING MODEL e si forniscono colonne con mapping e una query sui dati di origine, verranno elaborati il modello e la struttura associata.
Nella tabella seguente sono descritti i risultati delle diverse forme dell'istruzione, a seconda dello stato degli oggetti.
Istruzione |
Stato degli oggetti |
Risultato |
---|---|---|
INSERT INTO MINING MODEL <model> |
La struttura di data mining viene elaborata. |
Il modello di data mining viene elaborato. |
|
La struttura di data mining non è elaborata. |
Vengono elaborati il modello e la struttura di data mining. |
|
La struttura di data mining contiene modelli di data mining aggiuntivi. |
L'elaborazione non riesce. È necessario rielaborare la struttura e i modelli di data mining associati. |
INSERT INTO MINING STRUCTURE <structure> |
La struttura di data mining viene elaborata o non elaborata. |
La struttura di data mining e i modelli di data mining associati vengono elaborati. |
INSERT INTO MINING MODEL <model> che contiene una query di origine oppure INSERT INTO MINING STRUCTURE <structure> che contiene una query di origine |
La struttura o il modello include già un contenuto. |
L'elaborazione non riesce. Prima di eseguire l'operazione è necessario cancellare gli oggetti utilizzando DELETE (DMX). |
Elemento mapped model columns
Tramite l'elemento <mapped model columns> è possibile eseguire il mapping delle colonne dell'origine dei dati a quelle nel modello di data mining. Il formato dell'elemento <mapped model columns> è il seguente:
<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...
Tramite l'opzione SKIP è possibile escludere determinate colonne che devono esistere nella query di origine ma non esistono nel modello di data mining. SKIP è utile quando non si dispone del controllo sulle colonne incluse nel set di righe di input. Se si scrive una propria funzione OPENQUERY, si consiglia di omettere la colonna dall'elenco di colonne SELECT anziché utilizzare SKIP.
SKIP è utile anche quando una colonna del set di righe di input è necessaria per eseguire un join, ma la colonna non è utilizzata dalla struttura di data mining. Un esempio tipico è rappresentato da una struttura di data mining e un modello di data mining che contengono una tabella nidificata. Il set di righe di input per questa struttura avrà una colonna di chiave esterna che viene utilizzata per creare un set di righe gerarchico utilizzando la clausola SHAPE, ma la colonna di chiave esterna non è quasi mai utilizzata nel modello.
La sintassi di SKIP richiede che SKIP venga inserito nella posizione della colonna singola nel set di righe di input che non dispone di una colonna della struttura di data mining corrispondente. Nella seguente tabella nidificata, ad esempio, OrderNumber deve essere selezionato nella clausola APPEND in modo da poter essere utilizzato nella clausola RELATE per specificare il join. Non si desidera tuttavia inserire i dati di OrderNumber nella tabella nidificata nella struttura di data mining. Nell'esempio è utilizzata pertanto la parola chiave SKIP anziché OrderNumber nell'argomento INSERT INTO.
Elemento <source data query>
L'elemento <source data query> può includere i tipi di origini dei dati seguenti:
OPENQUERY
OPENROWSET
SHAPE
Qualsiasi query di Analysis Services che restituisce un set di righe.
Per ulteriori informazioni sui tipi di origini dei dati, vedere <source data query>.
Esempio di base
Nell'esempio seguente viene utilizzata l'istruzione OPENQUERY per eseguire il training di un modello Naive Bayes basato sui dati per il mailing diretto disponibili nel database AdventureWorksDW2012 .
INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
[Bike Buyer])
OPENQUERY([AdventureWorksDW2012],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer]
FROM [vTargetMail]')
Esempio con tabella nidificata
Nell'esempio seguente viene utilizzata l'istruzione SHAPE per il training di un modello di data mining di associazione che contiene una tabella nidificata. La prima riga contiene SKIP anziché OrderNumber, richiesto nell'istruzione SHAPE_APPEND ma non utilizzato nel modello di data mining.
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]
Vedere anche
Riferimento
Istruzioni DMX (Data Mining Extensions) per la definizione dei dati
Istruzioni DMX (Data Mining Extensions) per la manipolazione dei dati
Guida di riferimento alle istruzioni DMX (Data Mining Extensions)