INSERT INTO (DMX)

Si applica a: SQL Server Analysis Services

Consente di elaborare l'oggetto di data mining specificato. Per altre informazioni sull'elaborazione di modelli di data mining 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.

Struttura
Identificatore della struttura.

Colonne del modello mappate
Elenco delimitato da virgole contenente identificatori di colonna e identificatori nidificati.

query sui dati di origine
Query di origine nel formato definito dal provider.

Osservazioni:

Se non si specifica MINING MODEL o MINING STRUCTURE, Analysis Services cerca il tipo di oggetto in base al nome ed elabora l'oggetto corretto. Se il server contiene una struttura di data mining e un modello di data mining con lo stesso nome, verrà restituito un errore.

Utilizzando il secondo formato di sintassi, INSERT INTO*<object>*. COLUMN_VALUES è possibile inserire 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 di data mining o una struttura di data mining e si esce dalle colonne> del <modello mappate e <dagli argomenti della query> di dati di origine, l'istruzione si comporta come ProcessDefault, utilizzando associazioni già esistenti. Se le associazioni non esistono, l'istruzione restituirà un errore. Per altre informazioni su ProcessDefault, vedere Opzioni di elaborazione e impostazioni (Analysis Services). La sintassi è illustrata nell'esempio seguente:

INSERT INTO [MINING MODEL] <model>  

Se si specifica MINING MODEL e si specificano colonne mappate e una query sui dati di origine, il modello e la struttura associata vengono elaborati.

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. È necessario cancellare gli oggetti prima di eseguire questa operazione utilizzando DELETE (DMX).

Elemento mapped model columns

Usando l'elemento <colonne> del modello mappato, è possibile eseguire il mapping delle colonne dall'origine dati alle colonne del modello di data mining. L'elemento <colonne> del modello mappato ha il formato seguente:

<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...  

Utilizzando SKIP, è possibile escludere determinate colonne che devono esistere nella query di origine, ma che 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. Ad esempio, nella seguente tabella nidificata, OrderNumber deve essere selezionato nella clausola APPEND in modo da poter essere utilizzato nella clausola RELATE per specificare il join. Tuttavia, non si desidera 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 <query> dati di origine può includere i tipi di origine dati seguenti:

  • OPENQUERY

  • OPENROWSET

  • FORMA

  • Qualsiasi query di Analysis Services che restituisce un set di righe

Per altre informazioni sui tipi di origine dati, vedere <query> sui dati di origine.

Esempio di base

Nell'esempio seguente viene usato OPENQUERY per eseguire il training di un modello Naive Bayes basato sui dati di mailing di destinazione nel AdventureWorksDW2022 database.

INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],  
    [Bike Buyer])  
OPENQUERY([AdventureWorksDW2022],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer]   
FROM [vTargetMail]')  

Esempio con tabella nidificata

Nell'esempio seguente viene utilizzato SHAPE per eseguire il training di un modello di data mining di associazione contenente una tabella nidificata. Si noti che la riga fist contiene SKIP invece OrderNumber, richiesta nell'istruzione SHAPE_APPEND ma non utilizzata nel modello di data mining.

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]  

Vedi anche

Istruzioni DMX (Data Mining Extensions) Data Definitions
Istruzioni di manipolazione dei dati DMX (Data Mining Extensions)
Informazioni di riferimento sulle istruzioni DMX (Data Mining Extensions)