Amauri Bekesius • 03 set 2024 • Microsoft Power BI
Dentro de um projeto em Power BI onde poderá vir a existir inúmeras tabelas (bases) e possivelmente uma ou mais dessas tabelas com campo de datas, será necessário em um determinado momento, construirmos a própria tabela com respectivas datas tendo intuito de auxiliar nos diversos relacionamentos dessas diversas tabelas. Esses relacionamentos irão colaborar e muito para termos uma análise de dados mais assertiva e com maior controle das outras tabelas. Para tanto, se faz necessário termos em nossa mente qual a melhor maneira de fazermos essa construção / criação dessa tabela.
Neste artigo, irei mostrar duas maneiras simples para essa criação, sendo uma tabela de calendário estática onde necessito apenas de alguns meses e outra uma tabela calendário dinâmica ondes está terá as datas das outras tabelas até a data atual do sistema ou mesmo período que assim desejar.
Sendo assim, teremos que implantar um pequeno código uma vez que podemos desenvolver em duas linguagens: M (linguagem do Power Query, que está contido no Power BI, Excel e Analysis services) onde ficam as diversas transformações das diversas tabelas do projeto e outra que é a DAX (linguagem de expressão de fórmula usada nos Analysis Services, no Power BI e no Power Pivot no Excel). Porém, neste artigo iremos utilizar da linguagem M. Em um artigo futuro utilizaremos outros recursos. Portanto, vamos a um passo a passo elaborar essa construção / criação.
Passo 1:
Estando dentro do Power BI, iremos utilizar na aba Página Inicial (Grupo Dados) – ícone - Obter dados – Consulta em branco. Neste instante, o Editor do Power Query se abre e nele iremos colocar o código em linguagem M para a criação de nossa primeira tabela calendário, a tabela estática. Vejamos:
Passo 2:
Utilizando a função List.Dates() na barra de fórmulas verificamos o respectivo código com as devidas explicações:
= List.Dates(#date(2024,1,1), 91, #duration(1,0,0,0))
Uma coluna será criada com a primeira data 01/01/2024 até 91 dias, ou seja, 31/03/2024 (1º trimestre do ano), onde:
1. List.Dates() – função criadora da coluna datas (retorna uma lista de valores com tamanho controlado);
2. #date(2024,1,1) – inicio da contagem da data, ou seja, 01/01/2024;
3. 91 – dias a serem contados a data inicial;
4. #duration(1,0,0,0) – sintaxe para duração contada dos 91 dias.
Neste instante apenas iremos transformar esta consulta para uma tabela e iremos renomear a consulta, bem como, o nome da coluna, sendo Dim Calendário Estático e a coluna como Datas. Essa expressão Dim (dimensão), será vista em um futuro artigo.
Continuando no Editor do Power Query, iremos transformar a consulta em tabela, apenas clique no primeiro ícone à sua esquerda como imagem abaixo:
Para renomear, basta dar um clique duplo seja no nome da consulta seja no nome da coluna onde irá abrir a edição para o nome ser digitado.
Passo 3:
Neste passo, iremos fazer o mesmo processo, porém, com uma data inicial e a data final (data do sistema).
Estando no Editor do Power Query entraremos na aba Página Inicial (Grupo Nova Consulta) – Nova Fonte – Consulta nula. A partir daí, iremos construir um novo código para calcular a data final (atual do sistema) subtraindo da data inicial. Vejamos o código:
=List.Dates(#date(2024,1,1), Number.From(DateTime.LocalNow()) - Number.From(#date(2024,1,1)) ,#duration(1,0,0,0))
1. List.Dates() - função criadora da coluna datas (retorna uma lista de valores com tamanho controlado);
2. #date(2024,1,1) - inicio da contagem da data, ou seja, 01/01/2024;
3. Number.From(DateTime.LocalNow())- número de dias da data atual (final), subtraindo abaixo;
4. Number.From(#date(2024,1,1)), número de dias da data inicial, no caso 01/01/2024;
5. #duration(1,0,0,0)) - sintaxe para duração contada até os dias atuais do sistema.
Passo 4:
Continuando no Editor do Power Query, iremos transformar a consulta em tabela, apenas clique no primeiro ícone à sua esquerda como imagem abaixo:
Para renomear, basta dar um clique duplo seja no nome da consulta seja no nome da coluna onde irá abrir a edição para o nome ser digitado.
Passando por todos os passos, apenas iremos fechar o Editor do Power Query aplicando todas essas alterações, onde essas tabelas serão “levadas” ao Power BI, como segue:
No Power BI:
Conclusão:
Cada projeto em Power Bi claro tem suas peculiaridades e dependendo dessas peculiaridades criamos situações em que necessitamos de “ajuda” no sentido de além de aprimorar o projeto, termos facilidades no momento da Análise de Dados. Essas facilidades irão de encontro com as diversas tabelas (bases) que inevitavelmente serão relacionadas garantindo assim o bom funcionamento das funções quando o modelo de dados envolve análise baseada em tempo.