Partilhar via


INSERIR EM (DMX)

Aplica-se a: SQL Server Analysis Services

Processa o objeto de mineração de dados especificado. Para mais informações sobre modelos de mineração de processamento e estruturas de mineração, consulte Requisitos e Considerações de Processamento (Mineração de Dados).

Se uma estrutura de mineração for especificada, a instrução processa a estrutura de mineração e todos os seus modelos de mineração associados. Se um modelo de mineração for especificado, a instrução processa apenas o modelo de mineração.

Sintaxe

  
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

Modelo
Um identificador de modelo.

Estrutura
Um identificador de estrutura.

Colunas de modelos mapeados
Uma lista separada por vírgulas de identificadores de colunas e identificadores aninhados.

Consulta de dados de origem
A consulta de origem no formato definido pelo fornecedor.

Observações

Se não especificar MINING MODEL ou MINING STRUCTURE, o Analysis Services procura o tipo de objeto com base no nome e processa o objeto correto. Se o servidor contiver uma estrutura de mineração e um modelo de mineração com o mesmo nome, é devolvido um erro.

Usando a segunda forma sintaxe, INSERT INTO*<object>*. COLUMN_VALUES, pode inserir dados diretamente nas colunas do modelo sem treinar o modelo. Este método fornece dados de colunas ao modelo de forma concisa e ordenada, útil quando se trabalha com conjuntos de dados que contêm hierarquias ou colunas ordenadas.

Se usar INSERT INTO com um modelo de mineração ou uma estrutura de mineração, e omitir as <colunas> do modelo mapeado e <os argumentos da consulta> de dados de origem, a instrução comporta-se como o ProcessDefault, usando bindings que já existem. Se não existirem ligações, a instrução devolve um erro. Para mais informações sobre o ProcessDefault, consulte Opções e Definições de Processamento (Serviços de Análise). O exemplo seguinte mostra a sintaxe:

INSERT INTO [MINING MODEL] <model>  

Se especificar MINING MODEL e fornecer colunas mapeadas e uma consulta de dados de origem, o modelo e a estrutura associada são processados.

A tabela seguinte fornece uma descrição do resultado das diferentes formas da afirmação, dependendo do estado dos objetos.

Statement Estado dos objetos Result
INSERIR NO MODELO DE MINERAÇÃO*<modelo>* A estrutura mineira é processada. O modelo de mineração é processado.
A estrutura mineira não é processada. O modelo de mineração e a estrutura de mineração são processados.
A estrutura mineira contém modelos adicionais de mineração. O processo falha. Tens de reprocessar a estrutura e os modelos de mineração associados.
INSERIR EM ESTRUTURA DE MINERAÇÃO*<estrutura>* A estrutura mineira é processada ou não processada. A estrutura mineira e os modelos de mineração associados são processados.
INSERIR NO MODELO DE MINERAÇÃO*<modelo>* que contém uma consulta de origem

ou

INSERIR EM MINERAÇÃO ESTRUTURA*<estrutura>* que contém uma consulta de origem
Ou a estrutura ou o modelo já contém conteúdo. O processo falha. Deve limpar os objetos antes de realizar esta operação, usando DELETE (DMX).

Colunas do Modelo Mapeado

Ao usar o <elemento colunas do modelo> mapeado, pode mapear as colunas da fonte de dados para as colunas no seu modelo de mineração. O <elemento colunas> do modelo mapeado tem a seguinte forma:

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

Ao usar o SKIP, pode excluir certas colunas que devem existir na consulta de origem, mas que não existem no modelo de mineração. O SKIP é útil quando não tem controlo sobre as colunas incluídas no conjunto de linhas de entrada. Se estiver a escrever o seu próprio OPENQUERY, a melhor prática é omitir a coluna da lista de colunas SELECT em vez de usar SKIP.

O SKIP também é útil quando uma coluna do conjunto de linhas de entrada é necessária para realizar uma junção, mas a coluna não é usada pela estrutura de mineração. Um exemplo típico disto é uma estrutura de mineração e um modelo de mineração que contêm uma tabela aninhada. O conjunto de linhas de entrada para esta estrutura terá uma coluna de chave estrangeira que é usada para criar um conjunto de linhas hierárquico usando a cláusula SHAPE, mas a coluna de chave estrangeira quase nunca é usada no modelo.

A sintaxe do SKIP exige que insiras o SKIP na posição da coluna individual no conjunto de linhas de entrada que não tem a correspondente coluna de estrutura de mineração. Por exemplo, no exemplo da tabela aninhada abaixo, OrderNumber deve ser selecionado na cláusula APPEND para que possa ser usado na cláusula RELATE para especificar a junção; no entanto, não quer inserir os dados OrderNumber na tabela aninhada na estrutura de mineração. Portanto, o exemplo usa a palavra-chave SKIP em vez de OrderNumber no argumento INSERT INTO.

Consulta de Dados de Origem

O <elemento de consulta> de dados de origem pode incluir os seguintes tipos de fontes de dados:

  • OPENQUERY

  • OPENROWSET

  • FORMA

  • Qualquer consulta dos Serviços de Análise que devolva um conjunto de linhas

Para mais informações sobre tipos de fonte de dados, consulte <consulta de dados> de origem.

Exemplo básico

O exemplo seguinte utiliza o OPENQUERY para treinar um modelo Naive Bayes com base nos dados de envio direcionados na AdventureWorksDW2025 base de dados.

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

Exemplo de Tabela Aninhada

O exemplo seguinte utiliza o SHAPE para treinar um modelo de mineração de associações que contém uma tabela aninhada. Note que a primeira linha contém SKIP em vez de Número de Ordem, que é exigido na declaração SHAPE_APPEND mas não é usado no modelo de mineração.

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]  

Ver também

Declarações de Definição de Dados de Extensões de Mineração de Dados (DMX)
Instruções de Manipulação de Dados de Extensões de Mineração de Dados (DMX)
Referência de Instruções de Extensões de Mineração de Dados (DMX)