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

    Category Archive base dados

    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.

    Registo/Mapa Deslocações

    Registo/Mapa de Despesas de Deslocações com relatório no final.

    Se pretender por logótipo ou outra informação na base de dados e/ou relatório, contacte-nos: clico@clico.pt

    Se não tiver o Access instalado na máquina, corra o Microsoft Access Runtime do site da Microsoft.

    Faça download aqui:

    UPDATE 29-06-2017 : Limpa a base de dados para não ter dados de exemplo, criando uma limpa para o utilizador.

    Advertisements
    Show Buttons
    Hide Buttons