INSERIR EM (DMX)

Aplica-se a: SQL Server Analysis Services

Processa o objeto de mineração de dados especificado. Para obter mais informações sobre o processamento de modelos de mineração 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 processará 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 processará 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>  

Argumentos

Modelo
Um identificador de modelo.

estrutura
Um identificador de estrutura.

colunas de modelo mapeadas
Uma lista separada por vírgulas de identificadores de coluna e identificadores aninhados.

consulta de dados de origem
A consulta de origem no formato definido pelo provedor.

Comentários

Se você não especificar MINING MODEL ou MINING STRUCTURE, o Analysis Services procurará o tipo de objeto com base no nome e processará o objeto correto. Se o servidor contiver uma estrutura de mineração e um modelo de mineração com o mesmo nome, um erro será retornado.

Usando o segundo formulário de sintaxe, INSERT INTO*object*<.> COLUMN_VALUES, você pode inserir dados diretamente nas colunas do modelo sem treinar o modelo. Esse método fornece dados de coluna para o modelo de maneira concisa e ordenada que é útil quando você trabalha com conjuntos de dados que contêm hierarquias ou colunas ordenadas.

Se você usar INSERT INTO com um modelo de mineração ou uma estrutura de mineração e deixar de fora as colunas> de modelo mapeadas e <os argumentos de consulta> de dados de <origem, a instrução se comportará como ProcessDefault, usando associações que já existem. Se as ligações não existirem, a instrução retornará um erro. Para obter mais informações sobre ProcessDefault, consulte Opções e configurações de processamento (Analysis Services). O exemplo a seguir mostra a sintaxe:

INSERT INTO [MINING MODEL] <model>  

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

A tabela a seguir fornece uma descrição do resultado de diferentes formas da instrução, dependendo do estado dos objetos.

Instrução Estado dos objetos Result
INSERIR NO MODELO DE MINERAÇÃO*modelo>*< A estrutura de mineração é processada. O modelo de mineração é processado.
A estrutura de mineração não é processada. Modelo de mineração e estrutura de mineração são processados.
A estrutura de mineração contém modelos de mineração adicionais. O processo falha. Você deve reprocessar a estrutura e os modelos de mineração associados.
INSERIR NA ESTRUTURA DE MINERAÇÃO*estrutura>*< A estrutura de mineração é processada ou não processada. A estrutura de mineração 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 NA ESTRUTURA DE MINERAÇÃO*estrutura>*< que contém uma consulta de origem
A estrutura ou o modelo já contém conteúdo. O processo falha. Você deve limpar os objetos antes de executar essa operação, usando DELETE (DMX).

Colunas de modelo mapeadas

Usando o <elemento de colunas de modelo mapeado, você pode mapear as colunas da fonte de dados para as colunas> em seu modelo de mineração. O <elemento de colunas> de modelo mapeado tem a seguinte forma:

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

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

SKIP também é útil quando uma coluna do conjunto de linhas de entrada é necessária para executar uma junção, mas a coluna não é usada pela estrutura de mineração. Um exemplo típico disso é uma estrutura de mineração e um modelo de mineração que contêm uma tabela aninhada. O conjunto de linhas de entrada para essa 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 para SKIP requer que você insira SKIP na posição da coluna individual no conjunto de linhas de entrada que não tem nenhuma coluna de estrutura de mineração correspondente. Por exemplo, no exemplo de 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, você não deseja 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 fonte de> dados:

  • OPENQUERY

  • OPENROWSET

  • FORMA

  • Qualquer consulta do Analysis Services que retorne um conjunto de linhas

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

Exemplo básico

O exemplo a seguir usa OPENQUERY para treinar um modelo Naive Bayes com base nos dados de endereçamento de destino no banco de AdventureWorksDW2022 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 a seguir usa SHAPE para treinar um modelo de mineração de associação que contém uma tabela aninhada. Observe que a primeira linha contém SKIP em vez de OrderNumber, que é necessário na instruçã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]  

Veja também

Instruções de definição de dados DMX (Data Mining Extensions)
Instruções de manipulação de dados DMX (Data Mining Extensions)
Referência de instrução DMX (Data Mining Extensions)