Atendimento via WhatsApp Atendimento via WhatsApp

Blog Tecnológico

Power BI: Criando uma Tabela Calendário com DAX

Jennifer Sicherolli • 21 jul 2023 • Microsoft Power BI

Power BI: Criando uma Tabela Calendário com DAX

Ao se tratar de análises é sempre importante entender o que está acontecendo com seus dados, para saber quais serão os melhores caminhos a serem tomados e para que isso ocorra da forma correta existem as análises temporais, com as quais se é determinado o ganho ou perda do que estiver sendo analisado, podendo estabelecer melhor as métricas. Para isso ocorrer devidamente o Power BI possui a linguagem DAX, que por sua vez tem algumas funções de data e tempo, em específico hoje aprenderemos sobre a CALENDARAUTO(), agregando a ela valores mais detalhados de uma tabela calendário.

Por que criar uma Tabela Calendário?

Você provavelmente deve estar se perguntando sobre a necessidade de criar uma tabela exclusiva para ficar alocada as datas, especialmente se na sua base de dados já conter uma lista de datas, e reposta é simples, nem sempre a sua base terá informações como nome do dia, dia da semana, trimestre, entre outros, que são importantes para quem necessita ver os resultados de tempos em tempos.

Como criar uma Tabela Calendário?

Por se tratar de DAX e um cálculo, que precisa de um contexto, é criado uma tabela.

1.

Com a medida criada, vamos inserir os campos e entender o que cada um deles realiza.

A CALENDARAUTO por si só já vai retornar uma tabela completa com coluna de todas as datas, entretanto para poder melhorar essa função podemos utilizar a ADDCOLUMNS, com ela adicionaremos colunas dentro da CALENDARAUTO, por fim uma outra função que complementará todas as anteriores será a FILTER, entenderemos melhor ela na fórmula.

Agora que já entendemos algumas funções vamos ver como fica isso tudo dentro do cálculo e para melhor entendimento também será disposto comentários explicativos em cada linha.

Tabela Calendário = ADDCOLUMNS(
 //ADDCOLUMNS – adiciona colunas dentro da CALENDARAUTO.

                FILTER(CALENDARAUTO();

//FILTER – retorna uma tabela filtrada, no caso em específico ela está filtrando a lista de datas da CALENDARAUTO, com anos que tenham datas de registros dentro da sua base.

//CALENDARAUTO – cria e retorna uma tabela e uma coluna chamada 'Date'.

                YEAR([Date]) >= YEAR(MIN('Tabela de referência'[Coluna de referência])));

//MIN – aqui ela vai retornar sempre o menor valor de uma coluna, seja ela uma Data, um número ou um campo de texto, no exemplo ela vai se basear na tabela que você tiver dentro da sua base para retornar esse valor.

            "Ano";YEAR([Date]);

//O primeiro argumento se refere ao nome que aquela coluna irá adotar, já o segundo é o formato; YEAR – Retorna o Ano de uma lista de datas.

            "Mês";MONTH([Date]);

//MONTH – Retorna o mês de 1 a 12.

            "Nome do Mês"; FORMAT([Date];"mmm");

//FORMAT – Formata um valor de texto (dddd,mmmm,yyyy) d = dia; m = mês; y = ano.

            "Trimestre"; QUARTER([Date]) &" º Trimestre";

//QUARTER – Retorna o trimestre de 1 a 4.

            "Dia da Semana"; WEEKDAY([Date]);

//WEEKDAY – Numera os dias da semana de 1 a 7 (1=Domingo – 7=Sábado).

            "Nome do Dia"; FORMAT([Date];"dddd");

            "Final de Semana";IF(WEEKDAY([Date]) = 7 || WEEKDAY([Date]) = 1;"resultado verdadeiro"; “resultado falso");

//Nesse modo foi utilizado a condicional IF, com base nela os valores de resultado serão retornados, apontado para o usuário o que deverá aparecer caso o resultado seja verdadeiro retornando um sinal para o final de semana e caso resultado seja falso, retornará outro sinal para os dias da semana.

            "Semana do Ano"; WEEKNUM([Date]))

//WEEKNUM – Numera as semanas do Ano.

 

  OBS: Utilizar a FILTER é opcional, estamos usando aqui para trazer as datas que serão realmente utilizados, otimizando totalmente o nosso relatório, caso contrário ele traria uma lista extensa incluindo as que não serão uteis nas análises.

  1. Exemplo da Tabela Calendário sem a FILTER

Em suma criar uma Tabela Calendário é de extrema importância para ter suas análises completas, além de ser uma boa prática, concentrando suas informações de data em apenas uma tabela.

 

Gostou deste conteúdo?




 

 

Jennifer Sicherolli

Jennifer Sicherolli

Desenvolvedora Java FullStack pela Generation Brasil, graduanda em Ciências da Computação na Anhembi Morumbi, ama tudo que envolva tecnologia e cultura.

ENG DTP & Multimídia - Logo

 

 

ENVIE SEU CONTATO e SEUS COMENTÁRIOS


LinkedIn da ENG DTP Multimídia
     Facebook da ENG DTP Multimídia     Instagram da ENG DTP Multimídia

 Jornad Graphic Design