Last active
February 8, 2025 13:36
-
-
Save olv-leo/ebde5a71eeb3d7cf1ba29da5061216f0 to your computer and use it in GitHub Desktop.
Tabela Calendário (Power Query)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let | |
AnoInicial = 2023, | |
ano_final = Date.Year(Date.From(DateTime.LocalNow())), | |
// Declara uma data inicial | |
data_inicial = Date.StartOfYear(#date(AnoInicial, 1, 1)), | |
// Declara uma data final | |
data_final = Date.EndOfYear(#date(ano_final, 12, 31)), | |
// Conta a quantidade de dias entre as duas datas | |
dias_entre_datas = Duration.Days(data_final - data_inicial) + 1, | |
// Cria lista de datas | |
gerar_lista_datas = List.Dates(data_inicial, dias_entre_datas, #duration(1,0,0,0)), | |
// Converter para Tabela | |
converter_para_tabela = Table.FromList(gerar_lista_datas, Splitter.SplitByNothing(), null, null, ExtraValues.Error), | |
// Altera Tipo | |
ajustar_tipo_coluna = Table.TransformColumnTypes(converter_para_tabela, {{"Column1", type date}}), | |
// Renomeia Coluna | |
ajustar_nome_coluna = Table.RenameColumns(ajustar_tipo_coluna, {{"Column1", "data"}}), | |
// Criação de Colunas Adicionais | |
// Criar Coluna ANO | |
ano_data = Table.AddColumn(ajustar_nome_coluna, "ano", each Date.Year([data]), Int64.Type), | |
// Criar Coluna Mês | |
mes_data = Table.AddColumn(ano_data, "mes", each Date.Month([data]), Int64.Type), | |
// Criar Coluna Nome do Mês | |
nome_mes = Table.AddColumn(mes_data, "nome_mes", each Date.MonthName([data]), type text), | |
// Criar Coluna Dia da Semana | |
dia_semana = Table.AddColumn(nome_mes, "dia_semana", each Date.DayOfWeek([data]), Int64.Type), | |
// Extrai o nome resumido dos meses | |
nome_mes_resumido = Table.AddColumn(dia_semana, "nome_mes_resumido", each Text.Start([nome_mes], 3), type text), | |
// Criar Coluna Nome do Dia da Semana | |
nome_dia_semana = Table.AddColumn(nome_mes_resumido, "nome_dia_semana", each Date.DayOfWeekName([data]), type text), | |
// Extrai o nome resumido dos dias da semana | |
nome_dia_semana_resumido = Table.AddColumn(nome_dia_semana, "nome_dia_semana_resumido", each Text.Start([nome_dia_semana], 3), type text), | |
// Criar Coluna Semana do Ano | |
semana_ano = Table.AddColumn(nome_dia_semana_resumido, "semana_ano", each Date.WeekOfYear([data]), Int64.Type), | |
// Criar Coluna Semana do Mês | |
semana_mes = Table.AddColumn(semana_ano, "semana_mes", each Date.WeekOfMonth([data]), Int64.Type), | |
// Criar Coluna ano_mes no formato YYYY-MM | |
ano_mes = Table.AddColumn(semana_mes, "ano_mes", each Text.PadStart(Text.From([ano]), 4, "0") & "-" & Text.PadStart(Text.From([mes]), 2, "0"), type text) | |
in | |
ano_mes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment