Uma tabela calendário é fundamental no tratamento de dados e no desenvolvimento de dashboards no Power BI. Ela desempenha um papel crucial ao lidar com dados temporais, permitindo aos usuários uma maior interatividade e análise dos dados ao longo do tempo.
Benefícios de uma Tabela Calendário
Uma tabela calendário facilita a filtragem e a visualização dos dados por dia, mês ou ano, permitindo uma análise mais granular e precisa. Além disso, ao criar relacionamentos com outras tabelas de dados, você pode comparar e apresentar dados para o mesmo período de tempo com apenas um filtro, simplificando significativamente a análise e a apresentação de informações.
Importante: fazer os relacionamento de suas tabelas para a coluna data da tabela calendário, e no momento do desenvolvimento de seus dashboads use os campos de data da tabela calendário.
Criando uma Tabela Calendário no Power Query
Agora, vamos dar uma olhada no código utilizado para gerar uma tabela calendário no Power Query:
let
Datamin = List.Min(TB_Custo[OCORRENCIA]),
Datamax = List.Max(TB_Custo[OCORRENCIA]),
Qtd_Dias = Duration.Days(Datamax - Datamin) + 1,
Listadatas = List.Dates(Datamin, Qtd_Dias, #duration(1,0,0,0)),
#"Convertido para Tabela" = Table.FromList(Listadatas, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Tipo Alterado" = Table.TransformColumnTypes(#"Convertido para Tabela",{{"Column1", type date}}),
#"Colunas Renomeadas" = Table.RenameColumns(#"Tipo Alterado",{{"Column1", "Data"}}),
#"Ano Inserido" = Table.AddColumn(#"Colunas Renomeadas", "Ano", each Date.Year([Data]), Int64.Type),
#"Mês Inserido" = Table.AddColumn(#"Ano Inserido", "Mês", each Date.Month([Data]), Int64.Type),
#"Nome do Mês Inserido" = Table.AddColumn(#"Mês Inserido", "Nome do Mês", each Date.MonthName([Data]), type text),
#"Dia Inserido" = Table.AddColumn(#"Nome do Mês Inserido", "Dia", each Date.Day([Data]), Int64.Type),
#"Nome do Dia Inserido" = Table.AddColumn(#"Dia Inserido", "Nome do Dia", each Date.DayOfWeekName([Data]), type text),
#"Tipo Alterado1" = Table.TransformColumnTypes(#"Nome do Dia Inserido",{{"Ano", type text}, {"Mês", type text}, {"Dia", type text}}),
#"Texto em Maiúscula" = Table.TransformColumns(#"Tipo Alterado1",{{"Nome do Mês", Text.Upper, type text}})
in
#"Texto em Maiúscula"
- Datamin = List.Min(TB_Custo[OCORRENCIA]): Está linha define a variável Datamin, que armazena a data mínima da coluna “OCORRENCIA” da tabela TB_Custo.
- Datamax = List.Max(TB_Custo[OCORRENCIA]): Aqui, a variável Datamax é definida para armazenar a data máxima da coluna “OCORRENCIA” da tabela TB_Custo.
- Qtd_Dias = Duration.Days(Datamax – Datamin) + 1: Esta linha calcula a quantidade de dias entre as datas mínima e máxima, adicionando 1 para incluir para compor os dias corretos.
- Listadatas = List.Dates(Datamin, Qtd_Dias, #duration(1,0,0,0)): Aqui, a função List.Dates é usada para gerar uma lista de datas, começando da data mínima (Datamin) com a quantidade de dias (Qtd_Dias) especificada.
- #”Convertido para Tabela” = Table.FromList(Listadatas, Splitter.SplitByNothing(), null, null, ExtraValues.Error): Nesta linha, a lista de datas é convertida em uma tabela.
- #”Tipo Alterado” = Table.TransformColumnTypes(#”Convertido para Tabela”,{{“Column1”, type date}}): Aqui, o tipo de dado da coluna “Column1” (que contém as datas) é alterado para o tipo de dados “date”.
- #”Colunas Renomeadas” = Table.RenameColumns(#”Tipo Alterado”,{{“Column1”, “Data”}}): Esta linha renomeia a coluna “Column1” para “Data”.
- #”Ano Inserido” = Table.AddColumn(#”Colunas Renomeadas”, “Ano”, each Date.Year([Data]), Int64.Type): Aqui, é adicionada uma coluna “Ano” à tabela, que extrai o ano de cada data da coluna “Data”.
- #”Mês Inserido” = Table.AddColumn(#”Ano Inserido”, “Mês”, each Date.Month([Data]), Int64.Type): Essa linha adiciona uma coluna “Mês” à tabela, que extrai o mês de cada data da coluna “Data”.
- #”Nome do Mês Inserido” = Table.AddColumn(#”Mês Inserido”, “Nome do Mês”, each Date.MonthName([Data]), type text): Aqui, é adicionada uma coluna “Nome do Mês” à tabela, que retorna o nome do mês correspondente a cada data da coluna “Data”.
- #”Dia Inserido” = Table.AddColumn(#”Nome do Mês Inserido”, “Dia”, each Date.Day([Data]), Int64.Type): Nesta linha, é adicionada uma coluna “Dia” à tabela, que extrai o dia de cada data da coluna “Data”.
- #”Nome do Dia Inserido” = Table.AddColumn(#”Dia Inserido”, “Nome do Dia”, each Date.DayOfWeekName([Data]), type text): Aqui, é adicionada uma coluna “Nome do Dia” à tabela, que retorna o nome do dia da semana correspondente a cada data da coluna “Data”.
- #”Tipo Alterado1″ = Table.TransformColumnTypes(#”Nome do Dia Inserido”,{{“Ano”, type text}, {“Mês”, type text}, {“Dia”, type text}}): Esta linha altera os tipos de dados das colunas “Ano”, “Mês” e “Dia” para o tipo de dados “text”.
- #”Texto em Maiúscula” = Table.TransformColumns(#”Tipo Alterado1″,{{“Nome do Mês”, Text.Upper, type text}}): Aqui, o texto do nome do mês é convertido para letras maiúsculas.
Conclusão
Como vimos, uma tabela calendário desempenha um papel fundamental na análise e na apresentação de dados temporais no Power BI. Ela facilita a filtragem, a comparação e a visualização dos dados ao longo do tempo, proporcionando uma análise mais detalhada e eficaz. Ao criar uma tabela calendário no Power Query, você está dando um passo importante na melhoria da qualidade e da eficiência das suas análises de dados.
Esperamos que este post tenha sido útil e informativo para você. Se tiver alguma dúvida ou comentário, não hesite em nos contatar. Agradecemos por dedicar seu tempo à leitura do nosso conteúdo!
Veja também:
Compartilha conteúdo
1 Comentário