Saltar para o conteúdo
Consultoria · Automação · Dados · Digital
← Blog

Como Criar Tabela Calendário no Power BI com Power Query

Este conteúdo descreve como criar uma tabela calendário no Power BI utilizando o Power Query, uma ferramenta da Microsoft para ETL de dados. Através de um passo a passo, explicam-se desde a abertura do editor até a aplicação das alterações para visualizar a tabela no Power BI, destacando a importância da dimensão temporal.

Demonstração de uma das formas de criar a tabela calendário no Power BI.
Esta por meio da utilização do Power Query.

O que é o Power Query?

Para quem não sabe, o Power Query é um mecanismo disponível em alguns produtos da Microsoft, entre eles o Azure, o Power BI e nas últimas versões do Excel, com a finalidade de realizar o processo de ETL (Extração, Transformação e Carregamento) dos dados. Por outras palavras, é através desta ferramenta que são preparadso os dados antes de serem consumidos pelo Power BI ou demais ferramentas.

O Power Query possui um editor gráfico com múltiplas funcionalidades auxiliando o utilizador na execução das principais tarefas de tratamento de dados. Entretanto, algumas dessas transformações podem exigir além do que há disponível na interface gráfica, sendo necessário o desenvolvimento através de um editor de script próprio da ferramenta, por meio da utilização da linguagem M.

Criar a tabela

A tabela calendário é uma das tabelas mais importantes e essenciais para qualquer projeto de BI, pois ela está presente em praticamente todos os cenários de negócios, devido a necessidade de análise por meio de uma dimensão temporal.

Para criação de uma tabela calendário dentro do Power Query, é necessário seguir passo a passo conforme demonstrado a seguir:

1. Abrir o editor do Power Query dentro do Power BI

Para abrir o editor do Power Query, deve-se aceder a guia página inicial dentro do Power BI e clicar no botão transformar dados, conforme imagem abaixo:

powerbi1 Como Criar Tabela Calendário no Power BI com Power Query

De seguido temos a janela principal do editor do Power Query, conforme podemos ver na imagem seguinte.

powerbi3-1024x554 Como Criar Tabela Calendário no Power BI com Power Query

2. Criar uma consulta nula

Com o editor do Power Query aberto, deve-se aceder na guia Página Inicial a opção Nova Fonte e em seguida carregar em consulta nula, conforme demonstrado na imagem seguinte.

powerbi4 Como Criar Tabela Calendário no Power BI com Power Query

Depois do passo anterior, escolhe a consulta que aparecerá no painel do navegador, localizado na parte lateral esquerda do editor do Power Query, conforme imagem a seguir:

 
powerbi5 Como Criar Tabela Calendário no Power BI com Power Query

3. Abrir o Editor de Consulta Avançado.

Depois que se escolhe a consulta, deve-se abrir o editor Avançado de Consulta, que está na guia Página Inicial, na opção Editor Avançado.

powerbi6 Como Criar Tabela Calendário no Power BI com Power Query

Com isto, temos uma nova janela com o próprio editor de consultas na sua estrutura padrão let in.

powerbi7 Como Criar Tabela Calendário no Power BI com Power Query

4. Criar a tabela Calendário.

O editor de consultas trabalha os dados através da linguagem M.

De seguida, segue um código para criar uma consulta que retorna uma tabela calendário de janeiro de 2022 a dezembro de 2025, pode sempre alterar o período do calendário, para isso basta mudar o ano presente nas variáveis AnoInicial e AnoFinal que se encontam no início do código. O AnoFinal está a ir buscar o Ano atual. No ecrã anterior, substitui o código padrão pelo que esta a seguir e depois de substituído o código no editor de consultas, basta carregar no botão concluído que automaticamente o Power Query criará a tabela calendário juntamente com os principais campos necessários para utilização, como pode se pode ver na imagem a seguir ao código.

let
    AnoInicial = 2022,
    AnoFinal = Date.Year(DateTime.LocalNow()),
    //Declara uma data inicial
    DataInicial = Date.StartOfYear(#date(AnoInicial, 1, 1)),
    //Declara uma data final
    DataFinal = Date.EndOfYear(#date(AnoFinal, 12, 31)),
    //Conta a quantidade de dias entre as duas datas
    QtdeDias = Duration.Days(DataFinal-DataInicial)+1,
    //Cria lista de datas
    Datalist = List.Dates(DataInicial,QtdeDias,#duration(1,0,0,0)),
    //Converter para Tabela
    ConvertTabela = Table.FromList(Datalist, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    //Altera Tipo
    AlteraTipo = Table.TransformColumnTypes(ConvertTabela,{{"Column1", type date}}),
    //Renomeia Coluna
    RenomeiaColuna = Table.RenameColumns(AlteraTipo,{"Column1", "Data"}),
 
    //Criação de Colunas Adicionais
    //Criar Coluna ANO
    Ano = Table.AddColumn(RenomeiaColuna, "Ano", each Date.Year([Data]),Int64.Type),
    //Criar Coluna Mês
    Mes = Table.AddColumn(Ano, "Mes", each Date.Month([Data]),Int64.Type),
    //Criar Coluna Nome do Mês
    Nome_Mes = Table.AddColumn(Mes, "Nome_Mes", each Date.MonthName([Data]), type text),
    //Criar Coluna Dia
    Dia_do_Mes = Table.AddColumn(Nome_Mes, "Dia_Mes", each Date.Day([Data]), Int64.Type),
    //Criar Coluna Dia do Ano
    Dia_do_Ano = Table.AddColumn(Dia_do_Mes, "Dia_Ano", each Date.DayOfYear([Data]), Int64.Type),
    //Criar Coluna Dia da Semana
    Dia_Semana = Table.AddColumn(Dia_do_Ano, "Dia_Semana", each Date.DayOfWeek([Data]), Int64.Type),
    //Criar Coluna Dia da Semana
    Nome_Dia_Semana = Table.AddColumn(Dia_Semana, "Nome_Dia_Semana", each Date.DayOfWeekName([Data]), type text),
    //Criar Coluna Dia da Semana
    Trimestre = Table.AddColumn(Nome_Dia_Semana, "Trimestre", each Date.QuarterOfYear([Data]), Int64.Type),
    //Criar Coluna Semana do Ano
    Semana_Ano = Table.AddColumn(Trimestre, "Semana_Ano", each Date.WeekOfYear([Data]), Int64.Type),
    //Criar Coluna Semana do Mes
    Semana_Mes = Table.AddColumn(Semana_Ano, "Semana_Mes", each Date.WeekOfMonth([Data]), Int64.Type)

in
    Semana_Mes 
powerbi8 Como Criar Tabela Calendário no Power BI com Power Query

Renomeia-se tabela Consulta1 para dCalendario na janela de propriedades, localizado na lateral direita do Power Query, conforme demonstrado na imagem seguinte.

powerbi9 Como Criar Tabela Calendário no Power BI com Power Query

5. Visualizar a tabela dentro do Power BI.

Por fim, para visualizar a tabela dentro do Power BI é necessário aplicar as alterações feitas. Para isso, basta carregar no botão Fechar e Aplicar na guia Página Inicial do Power Query.

powerbi10 Como Criar Tabela Calendário no Power BI com Power Query

Por fim, o Editor do Power Query é fechado e retorna a janela de edição do Power BI com a tabela calendário já inserida, podendo ser visualizada no Painel de Campos, localizado na lateral direita da janela do Power BI, podendo ser acedida para modelação do relatório.

powerbi11 Como Criar Tabela Calendário no Power BI com Power Query
Da ideia à solução

Tem um desafio tecnológico ou digital para resolver?

Falamos sobre o contexto, identificamos opções e desenhamos uma abordagem pragmática.

Fale connosco
Show Buttons
Hide Buttons