Compartilhar via


Classificando membros de atributo com base em um atributo secundário

Na Lição 3, você aprendeu a classificar membros de atributo com base no nome ou valor de chave deles. Aprendeu também a usar uma chave de membro composta para alterar os membros de atributo e a ordem de classificação. Para obter mais informações, consulte Modificando a dimensão de data. Porém, é possível também classificar membros de atributo com base em um atributo secundário. Por exemplo, se nem o nome e nem a chave do atributo primário fornecem a ordem de classificação desejada, você pode usar um atributo secundário para obter a ordem desejada. Entretanto, para classificar um atributo usando o nome ou a chave do atributo secundário, é necessário usar um atributo secundário relacionado ao atributo primário.

Relações de atributo definem as relações ou dependências entre atributos. Em uma dimensão com base em apenas uma tabela relacional, todos os atributos são geralmente relacionados uns aos outros através do atributo de chave. Isso acontece porque todos os atributos de uma dimensão fornecem informações sobre os membros vinculados pelo atributo de chave da dimensão aos fatos de uma tabela de fatos para cada grupo de medidas relacionado. Em uma dimensão com base em várias tabelas relacionais, os atributos são geralmente vinculados com base na chave de junção entre as tabelas.

Porém, existe a possibilidade de os usuários quererem informações adicionais sobre membros em um determinado nível de uma hierarquia. O Designer de Dimensão permite que você defina outras relações entre atributos ou altere as relações padrão para aumentar o desempenho. A principal restrição ao criar uma relação de atributo é certificar-se de que o atributo referenciado não possui mais que um valor para qualquer membro no atributo ao qual ele está relacionado. Ao definir uma relação entre dois atributos, você pode defini-la como rígida ou flexível dependendo se as relações entre os membros mudarem com o tempo. Por exemplo, um funcionário pode mudar para uma região de vendas diferente, mas uma cidade não mudará para um estado diferente. Se uma relação for definida como rígida, as agregações do atributo não serão recalculadas toda vez que a dimensão for processada de forma incremental. Porém, se a relação entre membros mudar, a dimensão deve ser processada completamente. Para obter mais informações, consulte Relações de atributo, Definindo relações de atributo, Configurando propriedades de relação de atributo e Especificando relações de atributos entre atributos em uma hierarquia definida pelo usuário.

Nas tarefas deste tópico, você definirá um novo atributo para a dimensão Data com base em uma coluna existente na tabela de dimensão adjacente. Você usará este novo atributo para classificar os membros mês do calendário cronologicamente, em vez de alfabeticamente. Além disso, um novo atributo será definido na dimensão Cliente com base no cálculo nomeado que você usará para classificar os membros de atributo Distância do Trabalho. Nas tarefas do próximo tópico, você aprenderá a usar relações de atributo para aumentar o desempenho de consulta.

Definindo uma relação de atributo e uma ordem de classificação na dimensão Data

Para definir uma relação de atributo e uma ordem de classificação na dimensão Data

  1. Abra o Designer de Dimensão para a dimensão Data. Depois, revise a propriedade OrderBy do atributo Nome do Mês na janela Propriedades.

    Observe que os membros do atributo Nome do Mês são classificados pelos seus valores de chave.

  2. Alterne para a guia Navegador, verifique se Data de Calendário está selecionado na lista Hierarquia e depois expanda os níveis da hierarquia definida pelo usuário para revisar a ordem de classificação dos meses do calendário.

    Observe que os membros da hierarquia de atributo são classificados com base nos valores ASCII das chaves de membros deles, que são mês e ano. Nesse caso, classificar pelo nome ou pela chave do atributo não classifica os meses do calendário cronologicamente. Para resolver isso, você classificará os membros da hierarquia de atributo com base em um novo atributo, o atributo MonthNumberOfYear. Você criará este atributo com base em uma coluna que existe convenientemente na tabela da dimensão Data.

  3. Alterne para a guia Estrutura de Dimensão para a dimensão Data, clique com o botão direito do mouse em MonthNumberOfYear no painel Exibição da Fonte de Dados e depois clique em Novo Atributo da Coluna.

  4. No painel Atributos, selecione Número do Mês do Ano e depois defina a propriedade AttributeHierarchyEnabled como False na janela Propriedades, a propriedade AttributeHierarchyOptimizedState como NotOptimized e a propriedade AttributeHierarchyOrdered como False.

    Essas configurações ocultarão o atributo dos usuários e melhorarão o tempo de processamento. Esse atributo não será usado para navegação. Ele será usado apenas para classificar os membros de outro atributo.

    ObservaçãoObservação

    Classificar as propriedades alfabeticamente na janela Propriedades simplificará esta tarefa, pois as três propriedades serão classificadas subjacentes umas às outras.

  5. Clique na guia Relações de Atributo.

    Observe que todos os atributos na dimensão Data estão relacionados diretamente ao atributo Data, que é uma chave de membro que relaciona os membros da dimensão aos fatos nos grupos de medidas relacionados. Não há nenhuma relação definida entre os atributos Nome do Mês o Número do Mês do Ano.

  6. No diagrama, clique com o botão direito do mouse no atributo Nome do Mês e depois selecione Nova Relação de Atributo.

  7. Na caixa de diálogo Criar Relação de Atributo, o Atributo de Origem é Nome do Mês. Defina o Atributo Relacionado como Número do Mês do Ano.

  8. Na lista Tipo de relação, defina o tipo de relação como Rígida.

    As relações entre os membros dos atributos Nome do Mês e Número do Mês do Ano não mudarão com o passar do tempo. Como resultado, o Analysis Services não descartará agregações para essa relação durante o processamento incremental. Se ocorrer uma mudança, um erro de processamento ocorrerá durante o processamento incremental e será necessário fazer um processamento completo da dimensão. Agora, você está pronto para definir a ordem de classificação para os membros de Nome do Mês.

  9. Clique em OK.

  10. Clique na guia Estrutura da Dimensão.

  11. Selecione Nome do Mês no painel Atributos e depois altere o valor da propriedade OrderBy para AttributeKey na janela Propriedades e o valor da propriedade OrderByAttribute para Número do Mês do Ano.

  12. No menu Compilar, clique em Implantar Tutorial do Analysis Services.

  13. Quando a implantação for concluída com êxito, alterne para a guia Navegador da dimensão Data, clique em Reconectar e depois navegue pelas hierarquias de usuário Data de Caledário e Data Fiscal para verificar se os meses agora estão classificados cronologicamente.

    Observe que os meses agora estão classificados em ordem cronológica, como mostra a imagem a seguir:

    Hierarquia modificada pelo usuário em ordem cronológica

Definindo relações de atributo e ordem de classificação na dimensão Cliente

Para definir as relações de atributo e a ordem de classificação na dimensão Cliente

  1. Alterne para a guia Navegador no Designer de Dimensão da dimensão Cliente. Depois, procure os membros da hierarquia de atributo Distância do Trabalho.

    Observe que os membros dessa hierarquia de atributo são classificados com base nos valores ASCII da chave de membro. Nesse caso, classificar pelo nome ou chave do atributo não classifica as distâncias do trabalho da menor para a maior. Nessa tarefa, você classificará os membros da hierarquia de atributo com base no cálculo nomeado CommuteDistanceSort que atribui o número de classificação apropriado a cada valor distinto na coluna. Para economizar tempo, esse cálculo nomeado já foi adicionado à tabela Customer na exibição da fonte de dados Adventure Works DW. Você pode alternar para essa exibição da fonte de dados para exibir o script SQL que é usado para esse cálculo nomeado. Para obter mais informações, consulte Definindo cálculos nomeados em uma exibição da fonte de dados (Analysis Services).

    A imagem a seguir mostra os membros da hierarquia de atributo Distância do Trabalho classificados pelos valores ASCII da chave de membro.

    Hierarquia do atributo Distância do Trabalho

  2. Alterne para a guia Estrutura de Dimensão no Designer de Dimensão da dimensão Cliente, clique com o botão direito do mouse em CommuteDistanceSort na tabela Customer do painel Exibição da Fonte de Dados e depois clique em Novo Atributo da Coluna.

  3. No painel Atributos, selecione Classificar Distância do Trabalho e depois defina a propriedade AttributeHierarchyEnabled para esse atributo como False na janela Propriedades, a propriedade AttributeHierarchyOptimizedState como NotOptimized e a propriedade AttributeHierarchyOrdered como False.

    Essas configurações ocultarão o atributo dos usuários e melhorarão o tempo de processamento. Esse atributo não será usado para navegação. Ele será usado apenas para classificar os membros de outro atributo.

  4. Selecione Geografia e depois defina sua propriedade AttributeHierarchyVisible como False na janela Propriedades, a propriedade AttributeHierarchyOptimizedState como NotOptimized e a propriedade AttributeHierarchyOrdered como False.

    Essas configurações ocultarão o atributo dos usuários e melhorarão o tempo de processamento. Esse atributo não será usado para navegação. Ele será usado apenas para classificar os membros de outro atributo. Como Geografia tem propriedades de membro, sua propriedade AttributeHierarchyEnabled deve ser definida como True. Portanto, para ocultar o atributo, você define a propriedade AttributeHierarchyVisible como Falso.

  5. Clique na guia Relações de Atributo.

  6. Na lista de atributos, clique com o botão direito do mouse em Distância do Trabalho e depois selecione Nova Relação de Atributo.

  7. Na caixa de diálogo Criar Relação de Atributo, o Atributo de Origem é Distância do Trabalho. Defina o Atributo Relacionado como Classificação da Distância do Trabalho.

  8. Na lista Tipo de relação, defina o tipo de relação como Rígida.

    A relações entre os membros dos atributos Distância do Trabalho e Classificação da Distância do Trabalho não mudarão com o passar do tempo.

  9. Clique em OK.

    Agora, você está pronto para definir a ordem de classificação para o atributo Distância do Trabalho.

  10. Clique na guia Estrutura da Dimensão.

  11. No painel Atributos, selecione Distância do Trabalho e depois altere o valor da propriedade OrderBy para AttributeKey na janela Propriedades e o valor da propriedade OrderByAttribute para Classificação da Distância do Trabalho.

  12. No menu Compilar, clique em Implantar Tutorial do Analysis Services.

  13. Quando a implantação for concluída com êxito, alterne para a guia Navegador no Designer de Dimensão da dimensão Cliente. Depois, clique em Reconectar e procure a hierarquia de atributo Distância do Trabalho.

    Observe que os membros da hierarquia de atributo agora estão classificados em ordem lógica com base no aumento da distância, como mostra a imagem a seguir:

    Hierarquia do atributo Distância do Trabalho reclassificada