Formatando Datas com Nome do Mês no Power BI

Orlando Gomes
5 min readDec 27, 2020

--

Fala Pessoal!

Neste artigo vou compartilhar sobre uma dica para casos onde desejamos criar uma coluna de datas, normalmente em modelos tidos como data base para que possamos relacionar com uma dCalendario, quando possuímos somente o nome o ano e o nome do mês.

Note na base acima que não temos uma coluna de mês numero, necessária para que possamos criar uma coluna de data base em uma chave Mês-Ano, algumas alternativas para obtermos este dado seria criar uma coluna calculada no Power Query ou usando DAX com a função SWITCH.

No entanto, graças ao Power Query podemos obter essa informação apenas pelo nome do mês, para isto vamos abri-lo navegando em Home > Transform Data.

Figura — Transform Data

No editor, vamos realizar uma entrada manual de dados navegando em Home > Enter Data.

Figura — Enter Data

Para o nosso cenário, considere a base abaixo, com valores de venda em reais ao longo do ano de 2020, vamos chama-la de Vendas inserindo os dados e clicando em “Ok”

Figura — Create Table

Com isso temos o nosso dado carregado (note que o Power BI já inferiu o tipo de cada coluna)

Figura — Base Vendas

Podemos agora trabalhar na criação da nossa coluna de data, para isto vamos navegar em Add Column > Custom Column.

Será aberto onde poderemos inserir a nossa fórmula, note que, como estanos no editor do Power Query, ele possui a sua linguagem própia para a criação de colunas personalizadas, similar a como fazemos com DAX, a vantagem muitas desses tipo de abordagem é o ganho de performance.

Vamos chamar a nossa coluna de Data, sendo necessária fazer uma concatenação das colunas Mês e Ano, usando a fórmula abaixo:

Figura — Coluna Personalizada Data

Considerações:

· Uso de colchetes ([]) para referenciar a coluna;

· Uso do operador & para concatenação entre textos;

· Uso do “/” para indicar que se trata de uma data;

· Ponto de Atenção: Mês de Março deve estar com Ç;

· Conversão da coluna de ano com a fórmula Number.ToText, pois a concatenação precisa de colunas do mesmo tipo.

Após pressionar Ok, veja que agora temos a nossa concatenação do mês com o ano, no entanto a mesma ainda não esta tipada (indicado pelo ABC123 n tipo), sendo aqui que a ‘mágica’ acontece.

Figura — Coluna Personalizada Data

Clicando sobre o ícone de ABC123 da coluna Data, podemos alterar para o tipo correto, que será o tipo Date.

Figura — Conversão Tipo Date

E pronto! Temos a nossa coluna do tipo Data criada a partir somente do nome do mês, note que o Power BI adicionou 1 como dia pois este é um padrão para colunas de Data Base.

Figura — Tabela Vendas

Navegando em Arquivo > Close & Apply, podemos aplicar as alterações realizadas.

Figura — Aplicando Alterações

Por fim, temos abaixo o nosso dado transformado e carregado:

Figura — Tabelas Vendas

Note que a coluna de data já criou automaticamente uma hierarquia, da qual não necessariamente precisamos usar toda ela, podemos abrir somente por Ano-Mês (mais comum) ou somente o mês e assim por diante.

Adicionando uma Tabela Calendário

Conforme falamos no começo deste artigo, a finalidade de uma coluna de data base é justamente permitir que ela seja enxergada por uma Calendário que, por padrão, é normalmente a dimensão de tempo de um modelo de dados, vamos agora adiciona-la no nosso modelo navegando em Modeling > New table

Figura — New Table

Podemos com isso adicionar uma nova expressão DAX que tem como resultado uma tabela, vamos usar a função CALENDARAUTO(), que retorna uma coluna de Data baseada em um range existente no modelo (que neste caso é a coluna de data que criamos anteriormente indo de Janeiro a Dezembro de 2020).

Figura — Tabela Calendario

Podemos visualizar o resultado na segunda aba, onde ele nos cria um range de datas indo de 01/01/2020 até 31/12/2020, algo importante a mencionar sobre esta função é o pré requisito de já existir uma coluna de data do modelo para que a mesma funcione corretamente.

Figura — Resultado CALENDARAUTO()

De modo a permitir que as agora duas tabelas se enxerguem, precisamos relaciona-las na aba de relacionamentos, navegando em Home > Manage relationships

Figura — Manage Relationships

Clicando em New vamos adicionar o novo relacionamento.

Figura — New Relationship

Configurando do modo abaixo, estamos criando um filtro da calendário (dimensão) até a de vendas (fato), por padrão, o Power BI infere o tipo de relacionamento, sendo neste caso de 1:N, clique em Ok e posteriormente em Close na aba de relationships.

Figura — Configuração Relacionamento
Figura — Gerenciamento Relacionamentos

Após isto, temos o nosso relacionamento criado, como filtro indo da tabela Calendário até a tabela de Vendas.

Figura — Relacionamento Calendário e Vendas

Por fim, voltando a aba de reports podendo adicionar um gráfico de exemplo usando a coluna de mês das Calendário com o nosso valor de venda, note que os valores são distribuídos de forma correta entre os meses dado que agora temos um relacionamento entre eles.

Figura — Gráfico de Vendas — Mês
Figura — Configuração Gráfico Venda

Neste artigo, aprendemos como criar uma coluna da Data tendo somente o nome do mês e como relaciona-lo com uma coluna de calendário, espero que tenham gostado e até próxima.

--

--

Orlando Gomes

Cloud Solution Architect @Microsoft São Paulo - Brazil