• +351 91 33 888 29
    • clico@clico.pt

    Arquivo mensal 20 de Janeiro, 2025

    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.

    Advertisements
    Show Buttons
    Hide Buttons