Megosztás:


BEILLESZTÉS (DMX)

A következőkre vonatkozik: SQL Server Analysis Services

Feldolgozza a megadott adatbányászati objektumot. További információért a bányászati modellek és bányászati struktúrák feldolgozásáról lásd: Feldolgozási követelmények és szempontok (adatbányászat).

Ha egy bányászati struktúrát megadnak, az utasítás feldolgozza a bányászati struktúrát és az összes hozzá kapcsolódó bányászati modellt. Ha egy bányászati modellt definiálnak, az utasítás csak a bányászati modellt dolgozza fel.

Szemantika

  
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>  

Arguments

modell
Egy modellazonosító.

szerkezet
Egy szerkezetazonosító.

Leképezett modelloszlopok
Egy vesszővel elválasztott lista oszlopazonosítókról és beágyazott azonosítókról.

Forrásadat-lekérdezés
A forráslekérdezés a szolgáltató által definiált formátumban.

Megjegyzések

Ha nem megadod a MINING MODEL vagy MINING STRUCTURE, az Analysis Services a név alapján keresi az objektumtípust, és feldolgozza a megfelelő objektumot. Ha a szerver egy bányászati struktúrát és egy azonos nevű bányászati modellt tartalmaz, akkor hiba jelenik meg.

A második szintaxisforma használatával INSERT INTO*object<>*. COLUMN_VALUES közvetlenül beillesztheted az adatokat a modelloszlopokba anélkül, hogy a modellt tanítanád. Ez a módszer tömör, rendezett oszlopadatokat szolgáltatja a modellhez, ami hasznos, ha hierarchiákat vagy rendezett oszlopokat tartalmazó adathalmazokkal dolgozol.

Ha az INSERT INTO-t bányászati modellhez vagy bányászati struktúrához használod, és kihagyod a <leképezett modelloszlopokat> és <a forrásadat-lekérdezési> argumentumokat, az utasítás úgy viselkedik, mint a ProcessDefault, meglévő kötéseket használva. Ha nincsenek kötések, az utasítás hibát ad vissza. További információért a ProcessDefault-ról lásd : Feldolgozási lehetőségek és beállítások (Elemzési szolgáltatások) oldalon. Az alábbi példa mutatja a szintaxist:

INSERT INTO [MINING MODEL] <model>  

Ha megadod a MINING MODEL-t , és leképezett oszlopokat és forrásadat-lekérdezést adsz, a modell és a hozzá tartozó struktúra feldolgozódik.

Az alábbi táblázat a különböző állításformák eredményének leírását tartalmazza, az objektumok állapotától függően.

Statement Objektumok állapota Result
BEKERÜLÉS A BÁNYÁSZATI MODELLBE*<modell>* A bányászati szerkezetet feldolgozják. A bányászati modell feldolgozásra kerül.
A bányászati szerkezet feldolgozatlan. A bányászati modellt és a bányászati szerkezetet feldolgozják.
A bányászati struktúra további bányászati modelleket tartalmaz. A folyamat kudarcot vall. Újra kell dolgoznod a szerkezetet és a hozzá tartozó bányászati modelleket.
BEKERÜLÉS A BÁNYÁSZATI STRUKTÚRÁBA*szerkezet<>* A bányászati szerkezet feldolgozott vagy nem feldolgozott. A bányászati szerkezetet és a hozzá kapcsolódó bányászati modelleket feldolgozják.
BEILLESZTÉS A BÁNYÁSZATI MODELLBE*<modell>*, amely forráslekérdezést tartalmaz

vagy

BEILLESZTÉS A BÁNYÁSZATI STRUKTÚRÁBA*<struktura>*, amely tartalmaz egy forráslekérdezést
Akár a szerkezet, akár a modell már tartalmaz tartalmat. A folyamat kudarcot vall. A műveletek végrehajtása előtt törölni kell az objektumokat a DELETE (DMX) használatával.

Leképezett modelloszlopok

A <leképezett modelloszlopok> elem használatával leképezheted az adatforrásból származó oszlopokat a bányászati modell oszlopaihoz. A <leképezett modelloszlopok> elem a következő formát képviseli:

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

A SKIP használatával kizárhatsz bizonyos oszlopokat, amelyeknek a forráslekérdezésben kell létezniük, de amelyek a bányászati modellben nem léteznek. A SKIP akkor hasznos, ha nincs kontroll a bemeneti sorhalmazban lévő oszlopok felett. Ha saját OPENQUERY-t írsz, jobb gyakorlat, ha kihagyod az oszlopot a SELECT oszloplistából a SKIP helyett.

A SKIP akkor is hasznos, ha a bemeneti sorhalmazból egy oszlopra van szükség az összekapcsoláshoz, de az oszlopot a bányászati struktúra nem használja. Tipikus példa erre egy bányászati struktúra és bányászati modell, amely beágyazott táblázatot tartalmaz. Ennek a struktúrának a bemeneti sorhalmazában egy idegen kulcsoszlop található, amelyet hierarchikus sorhalmaz létrehozására használnak a SHAPE kluzuzdula segítségével, de a külföldi kulcsoszlopot szinte soha nem használják a modellben.

A SKIP szintaxisa megköveteli, hogy a SKIP-et a bemeneti sorhalmazban lévő egyes oszlop helyére helyezd be, amelynek nincs megfelelő bányászati struktúra-oszlopa. Például az alábbi beágyazott táblázat példájában a OrderNumber-t kell választani az APPEND klauzulában, hogy a RELATE klauzulában használható legyen az illesztés meghatározására; azonban nem szeretnéd a OrderNumber adatokat beilleszteni a bányászati struktúrában található beágyazott táblázatba. Ezért a példa az INSERT INTO argumentumban a SKIP kulcsszót használja a OrderNumber helyett.

Forrásadat-lekérdezés

A <forrásadat-lekérdezés> eleme a következő adatforrástípusokat tartalmazhatja:

  • OPENQUERY

  • OPENROWSET

  • ALAK

  • Bármely Analysis Services lekérdezés, amely sorhalmazt ad vissza

További információért az adatforrás-típusokról lásd: <forrásadat-lekérdezés>.

Egyszerű példa

A következő példa az OPENQUERY-t használja egy Naive Bayes modell tanítására az adatbázisban található célzott levelezési adatok AdventureWorksDW2025 alapján.

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

Beépített tábla példa

A következő példa a SHAPE-t használja egy assosiációs bányászati modell tanítására, amely egy beágyazott táblát tartalmaz. Fontos megjegyezni, hogy az első vonal tartalmazza a SKIP (OrderNumber) (OrderNumber) (OrderNumber) (OrderNumber), amely a SHAPE_APPEND állításban szükséges, de a bányászati modellben nem használatos.

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]  

Lásd még:

Adatbányászati kiterjesztések (DMX) adatdefiníció állítások
Adatbányászati kiterjesztések (DMX) adatkezelési állítások
Adatbányászati kiterjesztések (DMX) nyilatkozat hivatkozás