CALENDÁRIO M
Abrir o power query, clicar em página iniciail, nova fonte, consulta nula, editor avançado e colar o código abaixo:
let
// Criado por amandanascimento.com
//Insira o ano inicial e final que deseja
AnoInicial = 2022,
AnoFinal = 2023,
//Declara um dado inicial
DataInicial = Date.StartOfYear(#date(AnoInicial, 1, 1)),
//Declara um dado final
DataFinal = Date.EndOfYear(#date(AnoFinal, 12, 31)),
//Conta a quantidade de dias entre as duas datas
QtdeDias = Duration.Days(DataFinal-DataInicial)+1,
//Criar lista de dados
Datalist = List.Dates(DataInicial,QtdeDias,#duration(1,0,0,0)),
//Conversor 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),
//Criar coluna de índice
Índice = Table.AddIndexColumn(Semana_Mes, "Índice", 0, 1, Int64.Type),
//Mês por extenso
Nome_Mes2 = Table.AddColumn(Índice, "Mes_ext_3", each Text.Combine({Text.Start(Text.Proper([Nome_Mes]), 3), "."}), type text),
//ANO 2 DÍGITOS
ANO_XX = Table.AddColumn(Nome_Mes2, "ANO_XX", each Text.End(Text.From([Ano], "pt-BR"), 2), type text),
//CONCATENA MES POR EXTENSO E ANO
Ano_Mes_Fn = Table.AddColumn(ANO_XX, "Ano_Mes_Fn", each Text.Combine({[Mes_ext_3], [ANO_XX]}), type text),
// Trimestre2
Trimestre_ext = Table.AddColumn(Ano_Mes_Fn, "Trimestre_ext", each if [Trimestre] = 1 then "1º Tri" else if [Trimestre] = 2 then "2º Tri" else if [Trimestre] = 3 then "3º Tri" else " 4º Tri"),
Trimestre_ext2 = Table.TransformColumnTypes(Trimestre_ext,{{"Trimestre_ext", type text}}),
#"Coluna Personalizada Adicionada" = Table.AddColumn(Trimestre_ext2, "ORD", each Text.Combine({Date.ToText([Data], "yyyy"), "0", Date.ToText([Data], "% M"), Date.ToText([Data], "dd")}), type text),
#"Linhas Classificadas" = Table.Sort(#"Coluna Personalizada Adicionada",{{"ORD", Order.Ascending}})
in
#"Linhas Classificadas"
2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
let
// Criado por amandanascimento.com
//Insira o ano inicial e final que deseja
AnoInicial = 2022,
AnoFinal = 2023,
//Declara um dado inicial
DataInicial = Date.StartOfYear(#date(AnoInicial, 1, 1)),
//Declara um dado final
DataFinal = Date.EndOfYear(#date(AnoFinal, 12, 31)),
//Conta a quantidade de dias entre as duas datas
QtdeDias = Duration.Days(DataFinal-DataInicial)+1,
//Criar lista de dados
Datalist = List.Dates(DataInicial,QtdeDias,#duration(1,0,0,0)),
//Conversor 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),
//Criar coluna de índice
Índice = Table.AddIndexColumn(Semana_Mes, "Índice", 0, 1, Int64.Type),
//Mês por extenso
Nome_Mes2 = Table.AddColumn(Índice, "Mes_ext_3", each Text.Combine({Text.Start(Text.Proper([Nome_Mes]), 3), "."}), type text),
//ANO 2 DÍGITOS
ANO_XX = Table.AddColumn(Nome_Mes2, "ANO_XX", each Text.End(Text.From([Ano], "pt-BR"), 2), type text),
//CONCATENA MES POR EXTENSO E ANO
Ano_Mes_Fn = Table.AddColumn(ANO_XX, "Ano_Mes_Fn", each Text.Combine({[Mes_ext_3], [ANO_XX]}), type text),
// Trimestre2
Trimestre_ext = Table.AddColumn(Ano_Mes_Fn, "Trimestre_ext", each if [Trimestre] = 1 then "1º Tri" else if [Trimestre] = 2 then "2º Tri" else if [Trimestre] = 3 then "3º Tri" else " 4º Tri"),
Trimestre_ext2 = Table.TransformColumnTypes(Trimestre_ext,{{"Trimestre_ext", type text}}),
Ordenacao = Table.AddColumn(Trimestre_ext2, "Ordenacao", each Text.Combine({Date.ToText([Data], "yyyy"), Date.ToText([Data], "MM"), Date.ToText([Data], "dd")}), type text),
Classificacao_Ordenacao = Table.Sort(Ordenacao,{{"Ordenacao", Order.Ascending}})
in
Classificacao_Ordenacao
--------------------- OUTRA OPÇÃO:
let
Fonte = #date (2017,1,1),
Personalizar1 = List.Dates(Fonte, Number.From(Date.EndOfMonth(DateTime.LocalNow())) - Number.From(Fonte), #duration (1,0,0,0)),
#"Convertido para Tabela" = Table.FromList(Personalizar1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Colunas Renomeadas" = Table.RenameColumns(#"Convertido para Tabela",{{"Column1", "Data"}}),
#"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Renomeadas",{{"Data", type date}}),
#"Ano Inserido" = Table.AddColumn(#"Tipo Alterado", "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),
#"Colocar Cada Palavra Em Maiúscula" = Table.TransformColumns(#"Nome do Mês Inserido",{{"Nome do Mês", Text.Proper, type text}}),
#"Primeiros caracteres extraídos" = Table.TransformColumns(#"Colocar Cada Palavra Em Maiúscula", {{"Nome do Mês", each Text.Start(_, 3), type text}}),
#"Dia Inserido" = Table.AddColumn(#"Primeiros caracteres extraídos", "Dia", each Date.Day([Data]), Int64.Type),
#"Nome do Dia Inserido" = Table.AddColumn(#"Dia Inserido", "Nome do Dia", each Date.DayOfWeekName([Data]), type text),
#"Colocar Cada Palavra Em Maiúscula1" = Table.TransformColumns(#"Nome do Dia Inserido",{{"Nome do Dia", Text.Proper, type text}}),
#"Primeiros caracteres extraídos1" = Table.TransformColumns(#"Colocar Cada Palavra Em Maiúscula1", {{"Nome do Dia", each Text.Start(_, 3), type text}}),
#"Dias inseridos no Mês" = Table.AddColumn(#"Primeiros caracteres extraídos1", "Dias do Mês", each Date.DaysInMonth([Data]), Int64.Type),
#"Colunas Reordenadas" = Table.ReorderColumns(#"Dias inseridos no Mês",{"Data", "Ano", "Mês", "Nome do Mês", "Dias do Mês", "Dia", "Nome do Dia"}),
#"Coluna Duplicada" = Table.DuplicateColumn(#"Colunas Reordenadas", "Mês", "Mês - Copiar"),
#"Coluna Duplicada1" = Table.DuplicateColumn(#"Coluna Duplicada", "Ano", "Ano - Copiar"),
#"Colunas Mescladas" = Table.CombineColumns(Table.TransformColumnTypes(#"Coluna Duplicada1", {{"Mês - Copiar", type text}, {"Ano - Copiar", type text}}, "pt-BR"),{"Mês - Copiar", "Ano - Copiar"},Combiner.CombineTextByDelimiter("/", QuoteStyle.None),"ID_META"),
#"Tipo Alterado1" = Table.TransformColumnTypes(#"Colunas Mescladas",{{"ID_META", type date}})
in
#"Tipo Alterado1"