Trabalhar com dimensões

Concluído

Ao criar um esquema em estrela, você terá tabelas de dimensão e de fatos. As tabelas de fatos contêm informações sobre eventos como pedidos de venda, datas de envio, revendedores e fornecedores. As tabelas de dimensões armazenam detalhes sobre entidades comerciais (como produtos ou tempo) e são conectadas de volta às tabelas de fatos por meio de uma relação.

É possível usar hierarquias como uma origem para ajudar você a encontrar detalhes em tabelas de dimensões. Essas hierarquias se formam por meio de segmentos naturais em seus dados. Por exemplo, é possível ter uma hierarquia de datas segmentadas em anos, meses, semanas e dias. As hierarquias são úteis porque permitem que você faça uma busca detalhada nas especificidades de seus dados, em vez de apenas ver os dados em um nível alto.

Hierarquias

Quando você estiver criando visuais, o Power BI inserirá automaticamente valores do tipo de data como uma hierarquia (se a tabela não tiver sido marcada como uma tabela de data).

Captura de tela do exemplo de uma hierarquia.

Na coluna Data anterior, a data é mostrada com detalhes cada vez maiores por ano, trimestres, meses e dias. Também é possível criar hierarquias manualmente.

Por exemplo, considere uma situação em que você deseja criar um gráfico de barras empilhadas de Total de Vendas por Categoria e Subcategoria. Realize essa tarefa criando uma hierarquia na tabela Product para categorias e subcategorias. Para criar uma hierarquia, acesse o painel Campos no Power BI e clique com o botão direito do mouse na coluna cuja hierarquia você deseja criar. Selecione Nova hierarquia, como demonstrado na figura a seguir.

Captura de tela da nova hierarquia na tabela Product.

Em seguida, arraste e solte a coluna subcategoria nessa nova hierarquia que você criou. Esta coluna será adicionada como um subnível na hierarquia.

Captura de tela de Category Name Hierarchy, sendo que Category Name e o SubCategory Name estão aninhados.

Agora, é possível criar o visual selecionando um gráfico de barras empilhadas no painel Visualizações. Adicione sua Hierarquia de Nome da Categoria no campo Eixo e o Total Sales no campo Valores.

Captura de tela de Category Name Hierarchy no campo Eixo e TotalSales no campo Valores.

Faça uma busca detalhada no visual para exibir Category e Subcategory, dependendo do que você deseja ver. As hierarquias permitem que você exiba níveis crescentes de dados em uma única exibição.

Captura de tela das duas exibições em um único visual.

Agora que você aprendeu sobre hierarquias, dê um passo além e examine hierarquias pai/filho e a função delas em várias relações entre tabelas de fatos e tabelas de dimensões.

Hierarquia pai/filho

No exemplo a seguir, há uma tabela Employee dentro do banco de dados que fornece informações importantes sobre os funcionários, os gerentes deles e as respectivas IDs. Ao examinar essa tabela, você percebe que Roy F foi repetido várias vezes na coluna Manager. Como mostra a imagem, vários funcionários podem ter o mesmo gerente, o que indica uma hierarquia entre gerentes e funcionários.

Captura de tela da tabela Employee, com as colunas Employee ID, Employee, Manager ID e Manager.

A coluna Manager determina a hierarquia e, portanto, é o pai, enquanto os "filhos" são os funcionários. Neste exemplo, o objetivo é sermos capazes de ver todos os níveis dessa hierarquia. O Power BI não tem como padrão mostrar todos os níveis da hierarquia, portanto, é sua responsabilidade garantir que você veja todos os níveis dessa hierarquia ou "nivelá-la" para que seja possível ver mais granularidade de dados.

Nivelar a hierarquia pai/filho

O processo de exibição de vários níveis filho com base em um pai de nível superior é conhecido como nivelar a hierarquia. Nesse processo, você cria várias colunas em uma tabela para mostrar o caminho hierárquico do pai para o filho no mesmo registro. Você usará PATH() (uma função DAX simples que retorna uma versão de texto do caminho gerencial para cada funcionário) e PATHITEM() para separar esse caminho em cada nível da hierarquia gerencial.

Importante

O DAX ainda não foi abordado, o que ocorrerá em outro módulo. Essa função está incluída nesta seção porque ela está explicando as hierarquias. Se o uso de DAX nessa capacidade ficar confuso, consulte o módulo DAX e, depois, retorne a esta seção.

Enquanto estiver na tabela, vá para a guia Modelagem e selecione Nova Coluna. Na barra de fórmulas resultante, insira a função a seguir, que cria o caminho de texto entre o funcionário e o gerente. Essa ação cria uma coluna calculada no DAX.

Path = PATH(Employee[Employee ID], Employee[Manager ID])

Captura de tela da medida DAX para nivelar a hierarquia pai/filho.

O caminho completo entre o funcionário e o gerente aparece na nova coluna, conforme mostrado na captura de tela a seguir.

Captura de tela da tabela de função PATH no Power BI.

Olhando para Roger M, o caminho das IDs é 1010 | 1011 | 1013, o que significa que um nível acima de Roger M (ID 1013) está a gerente dele, Pam H (ID 1011) e um nível acima de Pam H está o gerente dela, Roy F (ID 1010). Nessa linha, Roger M está na parte inferior da hierarquia, no nível filho, e Roy F está na parte superior da hierarquia, no nível pai. Esse caminho é criado para cada funcionário. Para nivelar a hierarquia, separe cada nível usando a função PATHITEM.

Para exibir todos os três níveis da hierarquia separadamente, crie quatro colunas do mesmo modo que fez anteriormente, inserindo as equações a seguir. Você usará a função PATHITEM para recuperar o valor que reside no nível correspondente da sua hierarquia.

  • Level 1 = PATHITEM(Employee[Path],1)
  • Level 2 = PATHITEM(Employee[Path],2)
  • Level 3 = PATHITEM(Employee[Path],3)

Captura de tela do uso da função PATHITEM.

Depois de concluir, observe que agora você tem todos os níveis da hierarquia em sua tabela. Roy F está na parte superior da hierarquia e, à medida que você passa pelos níveis 2-3, observe que os gerentes e funcionários são mapeados uns para os outros.

Captura de tela do nivelamento da hierarquia pai/filho.

Agora, crie uma hierarquia no painel Campos, como você fez anteriormente. Clique com o botão direito do mouse em Nível 1, pois esse é o primeiro nível de hierarquia e, em seguida, selecione Nova Hierarquia. Em seguida, arraste e solte Nível 2 e Nível 3 nessa hierarquia.

Captura de tela dos Níveis da Nova Hierarquia para o Funcionário.

Agora você nivelou com êxito uma hierarquia para permitir a exibição de níveis individuais.

Anteriormente, você considerou as dimensões que têm apenas uma relação com uma tabela de fatos. No entanto, ocorrem situações em que a tabela de dimensões terá várias relações com uma tabela de fatos.

Dimensões com função múltipla

As dimensões com função múltipla têm várias relações válidas com tabelas de fatos, o que significa que a mesma dimensão pode ser usada para filtrar várias colunas ou tabelas de dados. Como resultado, é possível filtrar os dados de maneiras diferentes, dependendo de quais informações você precisa recuperar. Este tópico é complexo, portanto, ele é apenas apresentado nesta seção. O uso de dimensões com função múltipla requer funções DAX complexas que serão discutidas em seções posteriores.

Captura de tela de dimensões com função múltipla em um modelo.

O visual anterior mostra as tabelas Calendar, Sales e Order. Calendar é a tabela de dimensões, enquanto Sales e Order são tabelas de fatos. A tabela de dimensões tem duas relações: uma com Sales e uma com Order. Este exemplo é de uma dimensão de função múltipla porque a tabela Calendar pode ser usada para agrupar dados em Sales e em Order. Se você quisesse criar um Visual no qual a tabela Calendar referencia as tabelas Sales e Order, a tabela Calendar funcionaria como uma dimensão de função múltipla.