Definindo o membro desconhecido e as propriedades de processamento nulo
Quando o Analysis Services processa uma dimensão, todos os valores distintos das colunas subjacentes nas tabelas, ou nas exibições da fonte de dados, populam os atributos na dimensão. Por padrão, se o Analysis Services detecta um valor nulo durante o processamento, ele converte o valor nulo em zero no caso de colunas numéricas ou em cadeia vazia no caso de colunas de cadeia de caracteres. Você pode modificar as configurações padrão ou converter valores nulos em seu processo de extração, transformação e carregamento (se houver) do data warehouse relacional subjacente. Além disso, você pode usar o Analysis Services para converter o valor nulo em um valor designado configurando três propriedades: UnknownMember e UnknownMemberName para a dimensão, e NullProcessing para o atributo de chave da dimensão.
O Assistente para Dimensões e o Assistente para Cubos habilitarão essas propriedades com base no fato de o atributo de chave de uma dimensão permitir um valor nulo ou de o atributo raiz de uma dimensão floco de neve ter base em uma coluna que permite um valor nulo. Nesses casos, a propriedade NullProcessing do atributo de chave será definida como UnknownMember e a propriedade UnknownMember será configurada como Visível
Entretanto, ao criar dimensões floco de neve de forma incremental, como estamos fazendo na dimensão Produto, ou ao definir dimensões usando o Designer de Dimensão e depois incorporar essas dimensões existentes a um cubo, as propriedades UnknownMember e NullProcessing provavelmente terão que ser definidas manualmente.
Nas tarefas deste tópico, você adicionará os atributos da categoria e subcategoria de produto à dimensão Produto das tabelas floco de neve que você adicionará à exibição da fonte de dados Adventure Works DW. Depois, você habilitará a propriedade UnknownMember para a dimensão Produto, especificará Componentes do Assembly como o valor da propriedade UnknownMemberName, relacionará os atributos Subcategoria e Categoria ao atributo de nome do produto e, por fim, definirá tratamento de erros personalizado para o atributo de chave do membro que vincula a tabela floco de neve.
Observação |
---|
Caso tenha adicionado os atributos Subcategoria e Categoria durante a definição do cubo do Tutorial do Analysis Services usando o Assistente para Cubos, estas etapas foram feitas automaticamente. |
Revisando propriedades de tratamento de erros e de membro desconhecido na dimensão Produto
Para revisar propriedades de tratamento de erros e de membro desconhecido na dimensão Produto
Alterne para o Designer de Dimensão da dimensão Produto, clique na guia Estrutura da Dimensão e, depois, selecione Produto no painel Atributos.
Isso permite que você exiba e modifique as propriedades da própria dimensão.
Na janela Propriedades, revise as propriedades UnknownMember e UnknownMemberName.
Observe que a propriedade UnknownMember não está habilitada porque seu valor está definido como Nenhum em vez de Visível ou Oculto e que não há nenhum nome especificado para a propriedade UnknownMemberName.
Na janela Propriedades, selecione (personalizado) na célula da propriedade ErrorConfiguration e então expanda a coleção de propriedades ErrorConfiguration.
Definir a propriedade ErrorConfiguration como (personalizado) permite que você exiba as definições de configuração de erro padrão; isso não altera as configurações.
Revise as propriedades de chave e de configuração de erro de chave nula, mas não faça nenhuma alteração.
Observe que, por padrão, quando as chaves nulas são convertidas para o membro desconhecido, o erro de processamento associado a essa conversão é ignorado
A imagem a seguir mostra as configurações de propriedade para a coleção de propriedades ErrorConfiguration:
Clique na guia Navegador, verifique se Linhas de Modelo do Produto está selecionado na lista Hierarquia e depois expanda Todos os Produtos.
Observe os cinco membros do nível Linha de Produto.
Expanda Componentes e então expanda o membro sem rótulo do nível Nome do Modelo.
Esse nível contém os componentes do assembly que são usados para criar outros componentes, começando com o produto Corrente Ajustável, como mostra a imagem a seguir:
Definindo atributos das tabelas floco de neve e uma hierarquia definida pelo usuário Categoria do Produto
Para definir atributos das tabelas floco de neve e uma hierarquia definida pelo usuário Categoria do Produto
Abra o Designer de Exibição da Fonte de Dados da exibição da fonte de dados do Adventure Works, selecione Compras do Revendedor no painel Organizador de Diagramas e clique em Adicionar/Remover Tabelas no menu Exibição da Fonte de Dados do Business Intelligence Development Studio.
A caixa de diálogo Adicionar/Remover Tabelas é exibida.
Na lista Objetos incluídos, selecione dbo.DimProduct e então clique em Adicionar Tabelas Relacionadas.
A tabela dbo.DimProductSubcategory é adicionada à lista Objetos incluídos.
Com a tabela dbo.DimProductSubcategory selecionada por padrão como a tabela adicionada mais recentemente, clique em Adicionar Tabelas Relacionadas novamente.
A tabela dbo.DimProductCategory é adicionada à lista Objetos incluídos.
Clique em OK.
No menu Formatar do BI Development Studio, aponte para Layout Automático e, em seguida, clique em Diagrama.
Observe que as tabelas dbo.DimProductSubcategory e dbo.DimProductCategory são vinculadas uma a outra e também à tabela ResellerSales através da tabela Product.
Alterne para o Designer de Dimensão da dimensão Produto e então clique na guia Estrutura da Dimensão.
Clique com o botão direito do mouse em qualquer lugar no painel Exibição da Fonte de Dados e, depois, clique em Mostrar Todas as Tabelas.
No painel Exibição da Fonte de Dados, localize a tabela DimProductCategory, clique com o botão direito do mouse em ProductCategoryKey nessa tabela e, em seguida, clique em Novo Atributo da Coluna.
No painel Atributos, altere o nome deste novo atributo para Categoria.
Na janela Propriedades, clique no campo de propriedade NameColumn e depois no botão de navegação (…) para abrir a caixa de diálogo Coluna de Nome.
Selecione EnglishProductCategoryName na lista Coluna de origem e clique em OK.
No painel Exibição da Fonte de Dados, localize a tabela DimProductSubcategory, clique com o botão direito do mouse em ProductSubcategoryKey na tabela e, em seguida, clique em Novo Atributo da Coluna.
No painel Atributos, altere o nome deste novo atributo para Subcategoria.
Na janela Propriedades, clique no campo de propriedade NameColumn e depois no botão de navegação (…) para abrir a caixa de diálogo Coluna de Nome.
Selecione EnglishProductSubcategoryName na lista Coluna de origem e então clique em OK.
Crie uma nova hierarquia definida pelo usuário chamada Categorias de Produto com os seguintes níveis na ordem de cima para baixo: Categoria, Subcategoria e Nome do Produto.
Especifique Todos os Produtos como o valor da propriedade AllMemberName da hierarquia definida pelo usuário Categorias de Produto.
Navegando nas hierarquias definidas pelo usuário na dimensão Produto
Para navegar nas hierarquias definidas pelo usuário na dimensão Produto
Na barra de ferramentas da guia Estrutura da Dimensão do Designer de Dimensão da dimensão Produto, clique em Processo.
Clique em Sim para criar e implantar o projeto. Depois, clique em Executar para processar a dimensão Produto.
Quando o processamento for concluído com êxito, expanda Processamento da dimensão ‘Produto’ concluído com êxito na caixa de diálogo Progresso do Processo, Processamento do atributo de dimensão 'Nome do Produto' concluído com êxito e, por fim, expanda Consultas do SQL 1.
Clique na consulta SELECT DISTINCT e depois em Exibir Detalhes.
Observe que uma cláusula WHERE foi adicionada à cláusula SELECT DISTINCT que remove os produtos que não têm nenhum valor na coluna ProductSubcategoryKey, como mostra a imagem a seguir:
Clique em Fechar três vezes para fechar todas as caixas de diálogo em processamento.
Clique na guia Navegador do Designer de Dimensão da dimensão Produto e depois clique em Reconectar.
Verifique se Linhas de Modelo do Produto aparece na lista Hierarquia, expanda Todos os Produtos e depois Componentes.
Observe que não há nenhuma lista de componentes do assembly por causa da cláusula WHERE na instrução SELECT DISTINCT , como mostra a imagem a seguir:
Selecione Categorias de Produto na lista Hierarquia, expanda Todos os Produtos e depois Componentes.
Observe que nenhum dos componentes do assembly é exibido.
Para modificar o comportamento mencionado na tarefa anterior, você habilitará a propriedade UnknownMember da dimensão Produtos, definirá um valor para a propriedade UnknownMemberName, definirá a propriedade NullProcessing dos atributos Subcategoria e Nome do Modelo como UnknownMember, definirá o atributo Categoria como um atributo relacionado do atributo Subcategoria e, por fim, definirá o atributo Linha de Produto como atributo relacionado do atributo Nome do Modelo. Essas ações farão com que o Analysis Services use o valor do nome do membro desconhecido para cada produto que não tem um valor para a coluna SubcategoryKey, como verá na tarefa a seguir.
Ativando o membro desconhecido, definindo relações de atributo e especificando as propriedades de processamento personalizado como nulas
Para ativar o membro desconhecido, definir relações de atributo e especificar as propriedades de processamento personalizado como nulas
Clique na guia Estrutura de Dimensão no Designer de Dimensão da dimensão Produto e selecione Produto no painel Atributos.
Na janela Propriedades, altere a propriedade UnknownMember para Visível e o valor da propriedade UnknownMemberName para Componentes do Assembly.
Alterar a propriedade UnknownMember para Visível ou Oculto ativa a propriedade UnknownMember para a dimensão.
Clique na guia Relações de Atributo.
No diagrama, clique com o botão direito do mouse no atributo Subcategoria e depois selecione Nova Relação de Atributo.
Na caixa de diálogo Criar Relação de Atributo, o Atributo de Origem é Subcategoria. Defina o Atributo Relacionado como Categoria. Deixe o tipo de relação definido como Flexível.
Clique em OK.
No painel Atributos, selecione Subcategoria.
Na janela Propriedades, expanda a propriedade KeyColumns e depois a propriedade DimProductSubcategory.ProductSubcategoryKey (Integer).
Altere a propriedade NullProcessing para UnknownMember.
No painel Atributos, selecione Nome do Modelo.
Na janela Propriedades, expanda a propriedade KeyColumns e depois a propriedade Product.ModelName (WChar).
Altere a propriedade NullProcessing para UnknownMember.
Por causa dessas alterações, quando o Analysis Services detectar um valor nulo para o atributo Subcategoria ou Nome do Modelo durante o processamento, o valor do membro desconhecido será substituído como um valor de chave e as hierarquia definidas pelo usuário serão criadas corretamente.
Navegando na dimensão Produto novamente
Para navegar na dimensão Produto
No menu Compilar, clique em Implantar Tutorial do Analysis Services.
Quando a implantação finalizar com êxito, clique na guia Navegador do Designer de Dimensão da dimensão Produto e depois clique no botão Reconectar.
Verifique se Categoria do Produto está selecionado na lista Hierarquia e depois expanda Todos os Produtos.
Observe que Componentes do Assembly aparece como um novo membro do nível Categoria.
Expanda o membro Componentes do Assembly do nível Categoria e, em seguida, expanda o membro Componentes do Assembly do nível Subcategoria.
Observe que todos os componentes do assembly agora aparecem no nível Nome do Produto, como mostra a imagem a seguir:
Selecione Linhas de Modelo do Produto na lista Hierarquia, expanda Todos os Produtos, o membro Componentes do Assembly do nível Linha do Produto e depois o membro Componentes do Assembly do nível Nome do Modelo.
Observe que todos os componentes do assembly agora aparecem no nível Nome do Produto.