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!

Quem nunca teve algum problema em trabalhar com horas no Power BI? Pois é, apesar de parecer simples, esta pode ser uma das principais causas de dúvidas no início de sua jornada na confecção de dashboards e outros relatórios gerenciais.

Neste arquivo ensinaremos a trabalhar com horas no Power BI tanto utilizando DAX como no tratamento dos dados no Editor de Consultas. Escolha a melhor forma para você e utilize no seu dia a dia. Abaixo estão estas formas.

O primeiro passo para solução deste problema pode ser logo após a importação dos dados. Você precisa refletir sobre os dados que serão necessários na confecção de seu relatório. Será necessário analisar apenas os DIAS ou as HORAS também são importantes? Caso apenas os dias sejam importantes, deve ser considerado o tipo de dado como DATA (1). Somente se as informações de dia e hora sejam importantes, é que deve ser categorizado o tipo de dados como DATA/HORA (2).

Tipo de dados data e data hora power BI

 

BOA PRÁTICA: Tome como boa prática sempre que possível tipificar corretamente suas colunas para que haja a maior eficiência possível nas etapas aplicadas. Colocando o tipo de dados correto, melhora-se o desempenho de sua consulta. Também fica mais organizado quando houver a necessidade de procurar por erros.

Etapas aplicadas power BI

 

ENTENDA COMO FUNCIONA POR DENTRO: para o cálculo das datas e horas as informações são calculadas através de um número serial (XX,XXXXXXX) e que as datas (DD/MM/YYYY hh:mm:ss) são estes números seriais transformados.

Trabalhar com horas no Power BI

Número serial Power BI

O próximo passo é realizar a manipulação dos dados.

Para trabalhar com horas no Power BI pode-se seguir através seguintes abordagens:

 

Trabalhar com horas no Power BI – Atividades que iniciam e terminam no mesmo dia.

 

É possível utilizar a subtração entre colunas com as colunas desejadas. Veja que no ponto 1 é observado a diferença de horas corretamente, entretanto o programa não reconhece quando se trata de diferença de horas entre dias diferentes no ponto 2.

Horas Simples = fdatas[Término Expediente] - fdatas[Início Expediente]

Trabalhar com horas no Power BI - reconhecimento

 

Agora atividades que iniciam e terminam em dias diferentes.

 

Para realizar a subtração entre datas de dias diferentes podemos seguir por 2 caminhos:

Não preciso ser exato na quantidade de dias e suas frações. É retornado o valor arredondado para baixo 0 = 0,5 <  ; 1 =  0,5>.

Nos exemplos abaixo fazemos com DAX por meio de colunas calculadas (Nova Coluna). Utilizamos aqui, para trabalhar com horas no Power BI a função DATEDIFF.

Nova Coluna Diferença de Dias =
     DATEDIFF ( fdatas[Início Expediente]; fdatas[Término Expediente]; DAY )
Nova Coluna Diferença de Horas =
     DATEDIFF ( fdatas[Início Expediente]; fdatas[Término Expediente]; HOUR )

Com resultado temos o seguinte:

trabalhar com horas no power bi - datadiff

 

É necessário valores precisos como resultado do cálculo! Temos 2 opções:

DAX

Veja dois exemplos em DAX abaixo, também em forma de colunas calculadas.

Diferença em DIAS =
    1 * ( fdatas[Término Expediente] - fdatas[Início Expediente] )
Diferença em HORAS =
    24 * ( fdatas[Término Expediente] - fdatas[Início Expediente] )

Power Query

Primeiro uma forma para fazer em DIAS:

  1. Selecione a coluna com a data mais recente [Início Expediente]
  2. Selecione a coluna com a data mais antiga [Término Expediente]
  3. Adicionar Coluna -> Hora -> Subtrair
  4. Será gerado a coluna SUBTRAÇÃO, que são os Dias no formato serial.

Subtrair colunas no Power BI

Para fazer a diferença tendo HORAS como resultado siga os passos abaixo:

  1. Adicionar Coluna -> Coluna Personalizada
  2. Defina o nome da coluna
  3. Digite no campo a seguinte fórmula = [Subtração] * 24
  4. OK

Trabalhar com Horas no Power BI

Depois de feito tudo clique e Fechar e Aplicar. As colunas [Subtração] e [Subtração Horas] serão apresentadas no formato serial.

Resultado final das horas no Power BI

Pronto! Agora você está apto trabalhar com horas no Power BI de várias formas.

Assim poderá criar medidas e gerar insights de seus projetos ou atividades! Lembre-se que este cálculo considerará como dias corridos e não dias úteis.

Fácil né! À primeira vista pode não parecer, mas logo ficar fácil trabalhar com horas no Power BI, usando uma destas formas apresentadas.

Você achou nossos métodos úteis? Tem alguma outra maneira para trabalhar com horas no Power BI? Deixe-nos saber na seção de comentários abaixo.