Filtrando uma tabela aninhada em um modelo de mineração (tutorial de mineração de dados intermediário)
Após criar e explorar o modelo, você decide que deseja enfatizar um subconjunto dos dados do cliente. Por exemplo, talvez você queira analisar apenas as cestas que contêm um determinado item ou os dados demográficos de clientes que não compraram nada em um certo período.
O Analysis Services fornece a capacidade para filtrar os dados que são usados em um modelo de mineração. Este recurso é útil porque você não precisa configurar uma nova exibição de fonte de dados para usar dados diferentes. No Tutorial de Mineração de Dados Básico, você aprendeu como filtrar dados de uma tabela simples, aplicando condições à tabela de casos. Nesta tarefa, você criará um filtro que se aplica a uma tabela aninhada.
Filtra tabelas aninhadas versustabelas de casos
Se a sua exibição de fonte de dados contiver uma tabela de casos e uma tabela aninhada, como a exibição da fonte de dados usada no modelo Association, você poderá filtrar os valores da tabela de casos, a presença ou a ausência de um valor na tabela aninhada, ou uma combinação de ambos.
Nesta tarefa, primeiro você fará uma cópia do modelo Association e depois adicionará os atributos IncomeGroup e Region ao novo modelo relacionado para que possa filtrar os atributos na tabela de casos.
Para criar e modificar uma cópia do modelo de Associação
Na guia Modelos de Mineração do SSDT (SQL Server Data Tools), clique com o botão direito do mouse no modelo de Associação e selecione Novo Modelo de Mineração.
Em Nome do Modelo, digite Associação Filtrada. Em Nome do Algoritmo, selecione Regras de Associação da Microsoft. Clique em OK.
Na coluna do modelo Association Filtered, clique na linha IncomeGroup e altere o valor de Ignorar para Entrada.
Em seguida, você criará um filtro na tabela de casos no novo modelo de associação. O filtro passará ao modelo apenas os clientes na região de destino ou com o nível de renda de destino. Depois, você adicionará um segundo conjunto de condições de filtro para especificar se o modelo usa apenas clientes cujas cestas de compras continham pelo menos um item.
Para adicionar um filtro a um modelo de mineração
Na guia Modelos de Mineração, clique com o botão direito do mouse no modelo Association Filtered e selecione Definir Filtro de Modelos.
Na caixa de diálogo Filtro de Modelos, clique na linha superior da grade, na caixa de texto Coluna da Estrutura de Mineração.
Na caixa de texto Coluna da Estrutura de Mineração, selecione IncomeGroup.
O ícone no lado esquerdo da caixa de texto é alterado para indicar que o item selecionado é uma coluna.
Clique na caixa de texto Operador e selecione o operador = na lista.
Clique na caixa de texto Valor e digite Alto na caixa.
Na grade, clique na linha seguinte.
Clique na caixa de texto E/OU na linha seguinte da grade e selecione OU.
Na caixa de texto Coluna da Estrutura de Mineração, selecione IncomeGroup. Na caixa de texto Valor, digite Moderado.
A condição de filtro que você criou é acrescentada automaticamente à caixa de texto Expression e deve aparecer da seguinte forma:
[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'
Clique na linha seguinte na grade, deixando o operador como o padrão, E.
Para Operador, deixe o valor padrão, Contém. Clique na caixa de texto Valor.
Na caixa de diálogo Filtro, na primeira linha em Coluna da Estrutura de Mineração, selecione Modelo.
Para Operador, selecione NÃO É NULO. Deixe a caixa de texto Valor em branco. Clique em OK.
A condição de filtro na caixa de texto Expressão da caixa de diálogo Filtro de Modelos é atualizada automaticamente para incluir a nova condição na tabela aninhada. A expressão completa é a seguinte:
[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL).
Clique em OK.
Para habilitar a busca detalhada e processar o modelo filtrado
Na guia Modelos de Mineração, clique com o botão direito do mouse no modelo de Associação Filtrada e selecione Propriedades.
Altere a propriedade AllowDrillThrough para True.
Clique com o botão direito do mouse no modelo de mineração de Associação Filtrada e selecione Processar Modelo.
Clique em Sim na mensagem de erro para implantar o novo modelo no banco de dados do Analysis Services.
Na caixa de diálogo Processar Estrutura de Mineração, clique em Executar.
Quando o processamento for concluído, clique em Fechar para sair da caixa de diálogo Progresso do Processo e clique em Fechar novamente para sair da caixa de diálogo Processar Estrutura de Mineração.
Use o visualizador da Árvore de Conteúdo Genérico da Microsoft e examine o valor de NODE_SUPPORT para verificar que o modelo filtrado contém menos casos do que o modelo original.
Comentários
O filtro de tabela aninhada que você acabou de criar verifica apenas a presença de pelo menos uma linha na tabela aninhada; no entanto, também é possível criar condições de filtro que verificam a presença de produtos específicos. Por exemplo, você pode criar o seguinte filtro:
[IncomeGroup] = 'High' AND
EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' )
Esta instrução significa que você está restringindo os clientes da tabela de casos a apenas aqueles que compraram uma garrafa de água. No entanto, como o número de atributos da tabela aninhada é potencialmente ilimitado, o Analysis Services não fornece a lista dos possíveis valores a serem selecionados. Em vez disso, você deve digitar o valor exato.
Você pode clicar em Editar Consulta para alterar manualmente a expressão de filtro. No entanto, se você alterar manualmente qualquer parte da expressão de filtro, a grade será desabilitada e, assim sendo, você deverá trabalhar com a expressão de filtro apenas no modo de edição de texto. Para restaurar o modo de edição da grade, você deve apagar a expressão de filtro e iniciar novamente.
Cuidado |
---|
Você não pode usar o operador LIKE em um filtro de tabela aninhada. |
Próxima tarefa na lição
Prevendo associações (Tutorial de mineração de dados intermediário)
Consulte também
Conceitos
Sintaxe de filtro de modelo e exemplos (Analysis Services - Mineração de dados)
Filtros para modelos de mineração (Analysis Services - Mineração de dados)