Como Criar Tabela Calendário no Power BI com Power Query
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:
De seguido temos a janela principal do editor do Power Query, conforme podemos ver na imagem seguinte.
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.
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:
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.
Com isto, temos uma nova janela com o próprio editor de consultas na sua estrutura padrão let in.
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 Renomeia-se tabela Consulta1 para dCalendario na janela de propriedades, localizado na lateral direita do Power Query, conforme demonstrado na imagem seguinte.
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.
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.
clicopt
Search
Artigos Recentes
- EuroVault360 | Gestão Financeira Inteligente
- Aprender formas nunca foi tão divertido!
- Cansado de formulários em PDF? Crie uma app simples com Power Apps
- Comparar dois ficheiros HTML no Power Automate
- Como Criar E-mails Automáticos de Aniversário no Power Automate
- Guia Prático: Espelhar Todas as Listas do SharePoint com Power Automate
- Power BI vs Excel: Quando Usar Cada Ferramenta?
- PowerApps: O Manual Essencial para Criar Apps de Forma Fácil e Transformadora
- Power Automate: A Forma Mais Rápida de Automatizar Tarefas e aumentar a Produtividade
- Guia de Estudo para a Certificação Power BI