Lição 3: Processando a estrutura de mineração do Market Basket

 

Publicado: dezembro de 2016

Aplicável a: SQL Server 2016 Preview

Nesta lição, você usará o INSERT INTO &40; DMX &41; instrução e vAssocSeqLineItems e vAssocSeqOrders do AdventureWorksDW2012 banco de dados de exemplo para processar as estruturas de mineração e modelos de mineração que você criou no Lição 1: Criando a estrutura de mineração cesta e Lição 2: adicionando modelos de mineração à estrutura de mineração cesta.

Ao processar uma estrutura de mineração, o Analysis Services lê os dados de origem e compila as estruturas que dão suporte a modelos de mineração. Quando você processa um modelo de mineração, os dados definidos pela estrutura de mineração são passados por meio do algoritmo de mineração de dados que você escolheu. O algoritmo procura tendências e padrões e, depois, armazena as informações no modelo de mineração. Portanto, o modelo de mineração na verdade não contém os dados de origem, e sim as informações que foram descobertas pelo algoritmo. Para obter mais informações sobre o processamento de modelos de mineração, consulte 40, considerações e requisitos de processamento; Data Mining e 41;.

Só será necessário reprocessar uma estrutura de mineração se houver alteração em uma coluna de estrutura ou nos dados de origem. Se você adicionar um modelo de mineração para uma estrutura de mineração que já foi processada, você pode usar o INSERT INTO MINING MODEL instrução para treinar o novo modelo de mineração de dados existentes.

Como a estrutura de mineração cesta contém uma tabela aninhada, você precisa definir as colunas de mineração a ser treinado usando a estrutura de tabela aninhada e usar o forma para definir as consultas que recebem dados de treinamento das tabelas de origem.

Instrução INSERT INTO

Para treinar a estrutura de mineração da cesta de compras e modelos de mineração associados, use o INSERT INTO &40; DMX &41; instrução. O código na instrução pode ser dividido nas seguintes partes.

  • Identificando a estrutura de mineração

  • Listando as colunas na estrutura de mineração

  • Definindo os dados de treinamento usando forma

A seguir está um exemplo genérico do INSERT INTO instrução:

INSERT INTO MINING STRUCTURE [<mining structure name>]  
(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  
SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],'<nested SELECT statement>')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

A primeira linha do código identifica a estrutura de mineração a ser treinada:

INSERT INTO MINING STRUCTURE [<mining structure name>]  

As linhas seguintes do código especificam as colunas definidas pela estrutura de mineração. É preciso listar cada coluna na estrutura de mineração, e cada coluna deve mapear para uma coluna contida nos dados da consulta de origem. Você pode usar Ignorar para ignorar colunas que existem na fonte de dados, mas não existem na estrutura de mineração. Para obter mais informações sobre como usar Ignorar, consulte INSERT INTO &40; DMX &41;.

(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  

As linhas finais do código definem os dados que serão usados para treinar a estrutura de mineração. Como a fonte de dados está contido em duas tabelas, você usará forma para relacionar as tabelas.

SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

Nesta lição, você usa OPENQUERY para definir a fonte de dados. Para obter informações sobre outros métodos de definição de consulta na fonte de dados, consulte < consulta de fonte de dados >.

Tarefas da lição

Você executará a seguinte tarefa nesta lição:

  • Processe a estrutura de mineração da cesta básica

Processando a estrutura de mineração da cesta básica

Para processar a estrutura de mineração utilizando INSERT INTO

  1. No Pesquisador, clique com botão direito a instância de Analysis Services, aponte para nova consulta, e, em seguida, clique em DMX.

    O Editor de Consultas é exibido com uma consulta nova em branco.

  2. Copie o exemplo genérico da instrução INSERT INTO no campo em branco da consulta.

  3. Substitua o seguinte:

    [<mining structure>]  
    

    por:

    Market Basket  
    
  4. Substitua o seguinte:

    <mining structure columns>  
    [<nested table>]  
    ( SKIP, <skipped column> )  
    

    por:

    [OrderNumber],  
    [Products]   
    (SKIP, [Model])  
    

    Na instrução, produtos refere-se à tabela Produtos definida pela instrução SHAPE. Ignorar é usada para ignorar a coluna de modelo, que existe na fonte de dados como uma chave, mas não é usada pela estrutura de mineração.

  5. Substitua o seguinte:

    SHAPE {  
      OPENQUERY([<datasource>],'<SELECT statement>') }  
    APPEND  
    (   
      {OPENQUERY([<datasource>],'<nested SELECT statement>')  
    }  
    RELATE [<case key>] TO [<foreign key>]  
    ) AS [<nested table>]  
    

    por:

    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    

    A consulta de fonte faz referência a AdventureWorksDW2012 fonte de dados definida no AdventureWorksDW2012 projeto de exemplo. Ela usa esta fonte de dados para acessar as exibições vAssocSeqLineItems e vAssocSeqOrders. Essas exibições contêm os dados de origem que serão usados para treinar o modelo de mineração. Se você não tiver criado esse projeto ou essas exibições, consulte Tutorial básico de mineração de dados.

    Dentro de forma de comando, você usará OPENQUERY para definir duas consultas. A primeira consulta define a tabela pai, e a segunda consulta define a tabela aninhada. As duas tabelas estão relacionadas usando a coluna OrderNumber que existe em ambas as tabelas.

    A instrução completa agora deve ser:

    INSERT INTO MINING STRUCTURE [Market Basket]  
    (  
       [OrderNumber],[Products] (SKIP, [Model])  
    )  
    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    
  6. Sobre o arquivo menu, clique em Salvar Dmxquery1 como.

  7. No Salvar como caixa de diálogo, navegue até a pasta apropriada e nomeie o arquivo processo Market basket.

  8. Na barra de ferramentas, clique o Execute botão.

Após a conclusão da execução da consulta, você pode visualizar os padrões e os conjuntos de itens que foram encontrados, exibir associações ou filtrar por conjunto de itens, probabilidade ou importância. Para exibir essas informações no SQL Server Management Studio, clique no nome do modelo de dados e, em seguida, clique em Procurar.

Na próxima lição, você criará várias previsões com base nos modelos de mineração que adicionou à estrutura da cesta básica.

Próxima lição

Lição 4: Executando previsões de Market Basket