//Fuente: Entreprise DNA https://blog.enterprisedna.co/how-to-create-a-detailed-date-table-in-power-bi-fast/ let funcionTablaCalendario = (FechaInicio as date, FechaFin as date, MesInicioFY as number) as table => let CantidadDias = Duration.Days(Duration.From(FechaFin - FechaInicio))+1, Source = List.Dates(FechaInicio,CantidadDias,#duration(1,0,0,0)), TableFromList = Table.FromList(Source, Splitter.SplitByNothing()), ChangedType = Table.TransformColumnTypes(TableFromList,{{"Column1", type date}}), RenamedColumns = Table.RenameColumns(ChangedType,{{"Column1", "Fecha"}}), InsertYear = Table.AddColumn(RenamedColumns, "Año", each Date.Year([Fecha]),type text), InsertYearNumber = Table.AddColumn(RenamedColumns, "NumeroAño", each Date.Year([Fecha])), InsertQuarter = Table.AddColumn(InsertYear, "NumeroTrimestre", each Date.QuarterOfYear([Fecha])), InsertMonth = Table.AddColumn(InsertQuarter, "NumeroMes", each Date.Month([Fecha]), type text), InsertDay = Table.AddColumn(InsertMonth, "Dia", each Date.Day([Fecha])), InsertDayInt = Table.AddColumn(InsertDay, "NumeroFecha", each [Año] * 10000 + [NumeroMes] * 100 + [Dia]), InsertMonthName = Table.AddColumn(InsertDayInt, "Mes", each Date.ToText([Fecha], "MMMM"), type text), InsertCalendarMonth = Table.AddColumn(InsertMonthName, "Mes y Año", each (try(Text.Range([Mes],0,3)) otherwise [Mes]) & " " & Number.ToText([Año])), InsertCalendarQtr = Table.AddColumn(InsertCalendarMonth, "Trim y Año", each "Q" & Number.ToText([NumeroTrimestre]) & " " & Number.ToText([Año])), InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DiaSemana", each Date.DayOfWeek([Fecha])), InsertDayName = Table.AddColumn(InsertDayWeek, "Nombre del Dia", each Date.ToText([Fecha], "dddd"), type text), InsertWeekEnding = Table.AddColumn(InsertDayName, "Final de Semana", each Date.EndOfWeek([Fecha]), type date), InsertWeekNumber= Table.AddColumn(InsertWeekEnding, "NumeroSemana", each Date.WeekOfYear([Fecha])), InsertMonthnYear = Table.AddColumn(InsertWeekNumber,"Numero Mes-Año", each [Año] * 10000 + [NumeroMes] * 100), InsertQuarternYear = Table.AddColumn(InsertMonthnYear,"Numero Trim-Año", each [Año] * 10000 + [NumeroTrimestre] * 100), ChangedType1 = Table.TransformColumnTypes(InsertQuarternYear,{{"Numero Trim-Año", Int64.Type},{"NumeroSemana", Int64.Type},{"Año", type text},{"Numero Mes-Año", Int64.Type}, {"NumeroFecha", Int64.Type}, {"Dia", Int64.Type}, {"NumeroMes", Int64.Type}, {"NumeroTrimestre", Int64.Type}, {"Mes y Año", type text}, {"Trim y Año", type text}, {"DiaSemana", Int64.Type}}), InsertShortYear = Table.AddColumn(ChangedType1, "Año corto", each Text.End(Text.From([Año]), 2), type text), AddFY = Table.AddColumn(InsertShortYear, "FY", each "FY"&(if [NumeroMes]>=MesInicioFY then Text.From(Number.From([Año corto])+1) else [Año corto])), InsertMonthEndDate= Table.AddColumn(AddFY, "Fin mes", each Date.EndOfMonth([Fecha]), type date), InsertMonthNameMMM = Table.AddColumn(InsertMonthEndDate, "Mes-MMM", each Date.ToText([Fecha], "MMM"), type text) in InsertMonthNameMMM in funcionTablaCalendario