Partilhar 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 em seu nome ou valor de chave. Você também aprendeu a usar uma chave de membro composta para afetar os membros do atributo e a ordem de classificação. Para obter mais informações, consulte Modificando a dimensão de data. No entanto, se nem o nome nem a chave do atributo fornecerem a ordem de classificação desejada, você poderá usar um atributo secundário para alcançar a ordem de classificação desejada. Ao definir uma relação entre os atributos, você pode usar o segundo atributo para classificar os membros do primeiro atributo.

As relações de atributo definem as relações ou dependências entre atributos. Em uma dimensão baseada em uma única tabela relacional, todos os atributos normalmente estão relacionados entre si por meio do atributo de chave. Isso ocorre porque todos os atributos de uma dimensão fornecem informações sobre os membros vinculados pelo atributo chave da dimensão aos fatos na tabela de fatos para cada grupo de medidas relacionado. Em uma dimensão baseada em várias tabelas, os atributos normalmente são vinculados com base na chave de junção entre as tabelas. Se os dados subjacentes derem suporte a ele, os atributos relacionados poderão ser usados para especificar uma ordem de classificação. Por exemplo, você pode criar um novo atributo que fornece a lógica de classificação para um atributo relacionado.

O Designer de Dimensão permite definir relações adicionais entre atributos ou alterar as relações padrão para aumentar o desempenho. A principal restrição ao criar uma relação de atributo é garantir que o atributo referido não tenha mais de um valor para qualquer membro no atributo ao qual ele está relacionado. Ao definir uma relação entre dois atributos, você pode definir a relação como rígida ou flexível, com base em se as relações entre membros serão alteradas ao longo do 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 de atributo não serão recalculadas sempre que a dimensão for processada incrementalmente. No entanto, se a relação entre os membros mudar, a dimensão deverá ser totalmente processada. Para obter mais informações, consulte Relações de atributo, definir relações de atributo, configurar propriedades de relação de atributo e especificar relações de atributo entre atributos em uma hierarquia de User-Defined.

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

Definindo 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 e examine a propriedade OrderBy para o atributo Nome do Mês na janela Propriedades.

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

  2. Alterne para a aba Navegador, verifique se a Data do Calendário está selecionada na lista Hierarquia e expanda os níveis da hierarquia personalizada para verificar a ordem dos meses do calendário.

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

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

  4. No painel Atributos , selecione Número de Mês do Ano e defina a propriedade AttributeHierarchyEnabled como False na janela Propriedades, defina a propriedade AttributeHierarchyOptimizedState como NotOptimized e defina 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 ordenar os membros de outro atributo.

    Observação

    Classificar propriedades na janela Propriedades em ordem alfabética simplificará essa tarefa, pois essas três propriedades serão classificadas adjacentes 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 Date , que é a chave membro que relaciona os membros da dimensão aos fatos nos grupos de medidas relacionados. Não há nenhuma relação definida entre o atributo Nome do Mês e o atributo Número de Mês do Ano .

  6. No diagrama, clique com o botão direito do mouse no atributo Nome do Mês e 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 de mês do ano.

  8. Na lista de tipos de relação , defina o tipo de relação como Rígido.

    As relações entre os membros do atributo Nome do Mês e o atributo Número de Ano do Mês não serão alteradas ao longo do tempo. Como resultado, o Analysis Services não descartará agregações para este relacionamento durante o processamento incremental. Se ocorrer uma alteração, ocorrerá um erro de processamento durante o processamento incremental e você precisará executar um processo completo da dimensão. Agora você está pronto para definir a ordem de classificação para os membros do Nome do Mês.

  9. Clique em OK.

  10. Clique na guia Estrutura de Dimensão .

  11. Selecione Nome de Mês no painel Atributos e altere o valor da propriedade OrderBy na janela Propriedades para AttributeKey e altere o valor da propriedade OrderByAttribute para Número de 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 para a dimensão Data, clique em Reconectar e, em seguida, navegue pelas hierarquias de usuário de Data do Calendário e Data Fiscal para verificar se os meses agora são classificados em ordem cronológica.

    Observe que os meses agora estão classificados em ordem cronológica, conforme mostrado na imagem a seguir.

    Hierarquia de usuário modificada em ordem cronológica

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

  1. Alterne para a guia de Navegação no Designer de Dimensão para a dimensão Cliente e, em seguida, examine os membros da hierarquia de atributos da Distância de Deslocamento.

    Observe que os membros dessa hierarquia de atributos são classificados com base nos valores ASCII da chave de membro. Nesse caso, classificar pelo nome ou chave do atributo não ordena as distâncias de deslocamento da menor para a maior. Nesta tarefa, você classifica os membros da hierarquia de atributos com base no cálculo denominado 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 Cliente na Data Source View DW do Adventure Works. Você pode alternar para essa exibição de fonte de dados para exibir o script SQL usado neste cálculo nomeado. Para mais informações, consulte Definir Cálculos Nomeados em uma Exibição de Fonte de Dados (Analysis Services).

    A imagem a seguir mostra os membros da hierarquia de atributos de Distância de Deslocamento , classificados pelos valores ASCII da chave membro.

    Hierarquia de atributo de distância de deslocamento

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

  3. No painel Atributos, selecione Classificação de Distância de Deslocamento e defina a propriedade AttributeHierarchyEnabled desse atributo como False, na janela Propriedades, defina 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 ordenar os membros de outro atributo.

  4. Selecione Geography e defina sua propriedade AttributeHierarchyVisible como False na janela Propriedades, defina sua propriedade AttributeHierarchyOptimizedState como NotOptimized e defina sua propriedade AttributeHierarchyOrdered comoFalse.

    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 ordenar os membros de outro atributo. Como Geography tem propriedades de membro, sua propriedade AttributeHierarchyEnabled deve ser definida como True. Portanto, para ocultar o atributo, defina a propriedade AttributeHierarchyVisible como False.

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

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

  7. Na caixa de diálogo Criar Relação de Atributo , o Atributo de Origem é Distância de Deslocamento. Defina o Atributo Relacionado como Ordenação por Distância de Deslocamento.

  8. Na lista de tipos de relação , defina o tipo de relação como Rígido.

    A relação entre os membros do atributo Distância de Deslocamento e o atributo Classificação de Distância de Deslocamento não será alterada ao longo do tempo.

  9. Clique em OK.

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

  10. Clique na guia Estrutura de Dimensão .

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

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

  13. Quando a implantação tiver sido concluída com êxito, mude para a guia Navegador do Designer de Dimensão para a dimensão Cliente, clique em Reconectar e então explore a hierarquia de atributo Distância de Deslocamento.

    Observe que os membros da hierarquia de atributos agora são classificados em uma ordem lógica com base na distância crescente, conforme mostrado na imagem a seguir.

    Hierarquia de atributos de distância de deslocamento reclassificada

Próxima tarefa da lição

Especificando relações de atributo entre atributos em uma hierarquia de User-Defined