INSERT INTO (DMX)

S’applique à :SQL Server Analysis Services

Traite l'objet d'exploration de données spécifié. Pour plus d’informations sur le traitement des modèles d’exploration de données et des structures d’exploration de données, consultez Exigences et considérations relatives au traitement (exploration de données).

Si une structure d'exploration de données est spécifiée, l'instruction traite la structure et tous ses modèles d'exploration de données associés. Si un modèle d'exploration de données est spécifié, l'instruction traite uniquement le modèle.

Syntaxe

  
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

model
Identificateur du modèle

Structure
Identificateur de la structure

colonnes de modèle mappées
Liste des identificateurs de colonnes et des identificateurs imbriqués séparés par une virgule.

requête de données sources
Requête source dans le format défini par le fournisseur

Remarques

Si vous ne spécifiez pas MINING MODEL ou MINING STRUCTURE, Analysis Services recherche le type d’objet en fonction du nom et traite l’objet correct. Si le serveur contient une structure d'exploration de données et un modèle d'exploration de données portant le même nom, une erreur est retournée.

À l’aide du deuxième formulaire de syntaxe, INSERT INTO*<object>*. COLUMN_VALUES, vous pouvez insérer des données directement dans les colonnes du modèle sans entraîner le modèle. Cette méthode permet d'insérer des données de colonnes dans le modèle d'une manière concise et organisée, ce qui est utile lorsque vous utilisez des datasets contenant des hiérarchies ou des colonnes triées.

Si vous utilisez INSERT INTO avec un modèle d’exploration de données ou une structure d’exploration de données, et laissez les <colonnes> de modèle mappées et <les arguments de requête> de données sources, l’instruction se comporte comme ProcessDefault, à l’aide de liaisons qui existent déjà. Si les liaisons n'existent pas, l'instruction retourne une erreur. Pour plus d’informations sur ProcessDefault, consultez Options de traitement et paramètres (Analysis Services). L’exemple suivant montre la syntaxe :

INSERT INTO [MINING MODEL] <model>  

Si vous spécifiez MINING MODEL et fournissez des colonnes mappées et une requête de données sources, le modèle et la structure associée sont traités.

Le tableau ci-dessous donne une description du résultat de différentes formes de l'instruction, en fonction de l'état des objets.

Instruction État des objets Résultat
INSERT INTO MINING MODEL*<model>* La structure d'exploration de données est traitée. Le modèle d'exploration de données est traité.
La structure d'exploration de données n'est pas traitée. Le modèle et la structure d'exploration de données sont traités.
La structure d'exploration de données contient des modèles d'exploration de données supplémentaires. Échec du traitement. Vous devez retraiter la structure et les modèles d'exploration de données associés.
INSERT INTO MINING STRUCTURE*<structure>* La structure d'exploration de données est traitée ou non. La structure d'exploration de données et les modèles d'exploration de données associés sont traités.
INSERT INTO MINING MODEL*<model>* qui contient une requête source

ou

INSERT INTO MINING STRUCTURE*<structure>* qui contient une requête source
La structure ou le modèle contient déjà du contenu. Échec du traitement. Vous devez effacer les objets avant d’effectuer cette opération à l’aide de DELETE (DMX).

Mapped Model Columns

À l’aide de l’élément <de colonnes> de modèle mappées, vous pouvez mapper les colonnes de la source de données aux colonnes de votre modèle d’exploration de données. L’élément <de colonnes> de modèle mappé a la forme suivante :

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

En utilisant SKIP, vous pouvez exclure certaines colonnes qui doivent exister dans la requête source, mais qui n’existent pas dans le modèle d’exploration de données. SKIP est utile lorsque vous ne contrôlez pas les colonnes incluses dans l'ensemble de lignes d'entrée. Si vous écrivez votre propre OPENQUERY, la meilleure pratique consiste à omettre la colonne de la liste de colonnes SELECT au lieu d'utiliser SKIP.

SKIP est également utile lorsqu'une colonne de l'ensemble de lignes d'entrée est nécessaire pour effectuer une jointure, mais que la colonne n'est pas utilisée par la structure d'exploration de données. En guise d'exemple typique, on peut citer une structure d'exploration de données et un modèle d'exploration de données qui contiennent une table imbriquée. L'ensemble de lignes d'entrée pour cette structure aura une colonne clé étrangère utilisée pour créer un ensemble de lignes hiérarchique à l'aide de la clause SHAPE, mais la colonne clé étrangère n'est presque jamais utilisée dans le modèle.

La syntaxe de SKIP requiert que vous insériez SKIP à la position de la colonne individuelle dans l'ensemble de lignes d'entrée qui n'a aucune colonne de structure d'exploration de données correspondante. Par exemple, dans l'exemple de table imbriquée ci-dessous, OrderNumber doit être sélectionné dans la clause APPEND afin de pouvoir être utilisé dans la clause RELATE pour spécifier la jointure ; toutefois, vous ne souhaitez pas insérer les données OrderNumber dans la table imbriquée dans la structure d'exploration de données. Par conséquent, l'exemple utilise le mot clé SKIP au lieu de OrderNumber dans l'argument INSERT INTO.

Source Data Query

L’élément <de requête> de données source peut inclure les types de sources de données suivants :

  • OPENQUERY

  • OPENROWSET

  • FORME

  • Toute requête Analysis Services qui retourne un ensemble de lignes

Pour plus d’informations sur les types de sources de données, consultez <la requête> de données sources.

Exemple de base

L’exemple suivant utilise OPENQUERY pour entraîner un modèle Naive Bayes basé sur les données de publipostage ciblées dans la AdventureWorksDW2022 base de données.

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

Exemple de table imbriquée

L’exemple suivant utilise SHAPE pour entraîner un modèle d’exploration de données d’association qui contient une table imbriquée. Notez que la ligne fist contient SKIP au lieu de OrderNumber, qui est obligatoire dans l’instruction SHAPE_APPEND , mais n’est pas utilisée dans le modèle d’exploration de données.

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]  

Voir aussi

Instructions de définition de données DMX (Data Mining Extensions)
Instructions de manipulation de données DMX (Data Mining Extensions)
Guide de référence des instructions DMX (Data Mining Extensions)