Partilhar via


INSERT INTO (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 seus modelos de mineração associados. Se o 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
Identificador de modelo.

estrutura
Identificador de estrutura.

Colunas de modelo mapeadas
Lista separada por vírgula de identificadores de coluna e identificadores aninhados.

Consulta de dados de origem
Consulta da fonte no formato definido pelo provedor.

Comentários

Se você não especificar MINING MODEL ou MINING STRUCTURE, o Analysis Services pesquisará 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 nomes idênticos, 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 forma concisa, ordenada, que é útil quando se trabalha com conjuntos de dados contendo 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> do modelo mapeado e <os <argumentos de consulta> de dados de origem, a instrução se comportará como ProcessDefault, usando associações que já existem. Se não houver associações, 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 de instruções, dependendo do estado dos objetos.

Instrução Estado de objetos Resultado
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. O modelo de mineração e a estrutura de mineração são processadas.
A estrutura de mineração contém modelos de mineração adicionais. Falha no processo. É preciso 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.
INSERT INTO MINING MODEL*<model>* que contém uma consulta de origem

ou

INSERT INTO MINING STRUCTURE*<structure>* que contém uma consulta de origem
A estrutura ou o modelo já encerram um conteúdo. Falha no processo. Você deve limpar os objetos antes de executar essa operação, usando DELETE (DMX).

Colunas de modelo mapeado

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

<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 que estão incluídas no conjunto de linhas de entrada. Se você estiver escrevendo sua própria OPENQUERY, a prática recomendada é 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 modelo de mineração que contêm uma tabela aninhada. O conjunto de linhas de entrada desta estrutura terá uma coluna de chave estrangeira 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 de 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, na tabela aninhada a seguir, 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 precisa inserir os dados de 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 mala direta no AdventureWorksDW2022 banco 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 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]  

Confira 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)