Posts

Aqui neste post apresentamos a forma para criar uma tabela calendário automática no Power BI. Há várias formas de criar uma tabela de calendário no Power BI. Já escrevemos sobre isso aqui no site, veja em Aprenda 2 maneiras de criar uma tabela Calendário no Power BI. Aqui então temos a terceira forma para isso.

Consideramos esta a forma mais prática de rápida para criar uma tabela Calendário utilizando DAX. Utilizaremos uma função que criará uma tabela calendário automática no Power BI. O nome desta função é CALENDARAUTO ().

 

Função DAX: CALENDARAUTO

O melhor uso desta função é a partir da criação de tabela com linguagem DAX. Criar uma tabela assim é simples, veja abaixo como fazer:

Tabela calculada no Power BI

Quando criamos a tabela calendário automática no Power BI com a função CALENDARAUTO, é produzindo nesta tabela uma coluna com dia a dia das datas entre um valor mínimo e um valor máximo. Nesta função o valor mínimo e máximo das datas é identificado dentro do modelo de dados. A função verifica nas fontes carregadas qual a data mínima e máxima que já existem no modelo. Para determinar estes valores, a função não considera colunas calculadas, tabelas DAX ou medidas, somente o que está nas fontes originais.

A função tem a seguinte sintaxe:

Estrutura da fórmula: Nome da Tabela = CALENDARAUTO(<mês_final_do_ano>)

Dentro dos parênteses pode colocar qualquer valor entre 1 e 12 ou qualquer expressão que retorne estes valores. Aqui define qual mês termina o calendário que será criado. Este parâmetro é opcional e por padrão o número é 12. Se não colocar nada a tabela calendário automática começará em janeiro e terminará dezembro. Se colocar 5 o ano calendário começa em Junho e termina em Maio, por exemplo.

Seguindo então nesta tarefa de criar uma tabela calendário automática no Power BI, veja abaixo. No primeiro exemplo utilizamos a função assim:

Calendário = CALENDARAUTO()

Veja o resultado dessa utilização da função.

Função CALENDARAUTO

Tabela Calendário Automática no Power BI com a sua cara

Bem, fazendo só a linha acima cria a tabela, mas ela ainda não te serve como uma tabela de dimensão completa. O objetivo de uma tabela calendário é nos dar uma série de dimensões de tempo. Pode ser, mês, ano, trimestre, semestre, dia da semana, etc…

O trabalho de criar uma tabela automática no Power BI fica incompleto. Precisarmos fazer mais.

Vamos criar mais colunas para esta tabela e deixar ela com o máximo de dimensões de tempo possível.

Para que seja possível acrescentar mais colunas, vamos utilizar a função ADDCOLUMNS. Esta função ficará antes da função CALENDARAUTO.

Vamos agora acrescentar mês, ano, trimestre, semana do ano e dia da semana. Perceba também que formatei o Tipo de Dados da coluna “Date” para Data somente (antes estava Data/Hora).

Tabela calendário automática no Power BI primeiros passos

Só com esta colunas já temos boas dimensões, mas dá para incrementar ainda mais nossa tabela calendário automática. Lembrando que o método de criação desta tabela é por Linguagem DAX.

Vamos colocar agora o nome do mês, nome do dia da semana, juntar mês e ano (de duas formas), juntar trimestre e ano.

Tabela calendário automática no Power BI final

Veja acima como nossa tabela calendário automática no Power BI ficou completa.

Agora vem o melhor de tudo. Abaixo está o código em DAX que basta você copiar e colar. Isso mesmo, copie o código, crie uma nova tabela calculada conforme a primeira figura neste artigo e cole o código lá. Pronto, sua tabela calendário agora está fácil e rápida de fazer.

Calendário =
    ADDCOLUMNS(
        CALENDARAUTO();
            "Ano"; YEAR([Date]);
            "Mês Num"; MONTH([Date]);
            "Trim"; FORMAT([Date]; "q");
            "Semana Ano"; WEEKNUM([Date]);
            "Dia Semana"; WEEKDAY([Date]);
            "Mês"; FORMAT([Date]; "mmm");
            "Mês Completo"; FORMAT([Date]; "mmmm");
            "Mês_Ano"; FORMAT(MONTH([Date]); "00") & "/" & YEAR([Date]);
            "Mês-Ano"; UPPER(FORMAT(MONTH([Date]); "mmm")) & "/" & YEAR([Date]);
            "Trim_Ano"; FORMAT([Date]; "q") & "T" & YEAR([Date]);
            "Dia_Semana"; FORMAT([Date]; "ddd")
)

 

Qual das formas de fazer a tabela calendário é a melhor?

No artigo com link no início deste post fala de outras duas formas de fazer tabelas calendários. Neste apresentamos uma terceira forma.

Aí você pode se perguntar, qual a melhor forma?

Nossa resposta é: aquela que você está mais confortável de usar. Todas eles têm seus prós e contras. Pense na manutenção desta tabela, se haverá novas datas constantemente na sua fonte.

Se você precisar de algo mais elaborado, buscando de APIs e juntando com feriados nacionais e locais o melhor é criar pelo Power Query. Se sua necessidade é mais simples a forma mais dinâmica é pela linguagem DAX. Usando DAX recomendamos a forma que apresentamos neste artigo. Utilizando o CALENDARAUTO, pois deixa automático o reconhecimento das datas e sempre terá uma tabela calendário atualizada conforme sua base.

Esperamos que tenhamos de ajudado e agora você saiba criar a tabela calendário automática no Power BI. Conte para nós se você tem alguma outra forma de criar a tabela calendário. Coloque nos comentários ou nas nossas redes sociais o seu jeito.

Tem alguma outra dúvida? Nos pergunte! Utilize também a sessão de comentários logo abaixo.

Até a próxima!