let CreateDateTable = (StartDate as date, EndDate as date, optional Culture as nullable text) as table => let DayCount = Duration.Days(Duration.From(EndDate - StartDate)), Source = List.Dates(StartDate,DayCount,#duration(1,0,0,0)), TableFromList = Table.FromList(Source, Splitter.SplitByNothing()), ChangedType = Table.TransformColumnTypes(TableFromList,{{"Column1", type date}}), RenamedColumns = Table.RenameColumns(ChangedType,{{"Column1", "Datum"}}), InsertJaar = Table.AddColumn(RenamedColumns, "Jaar", each Date.Year([Datum])), InsertKwartaalnummer = Table.AddColumn(InsertJaar, "Kwartaalnummer", each Date.QuarterOfYear([Datum])), InsertMaandnummer = Table.AddColumn(InsertKwartaalnummer, "Maandnummer", each Date.Month([Datum])), InsertDagnmmerMaand = Table.AddColumn(InsertMaandnummer, "Dagnummer_Maand", each Date.Day([Datum])), InsertDatumInteger = Table.AddColumn(InsertDagnmmerMaand, "DatumInteger", each [Jaar] * 10000 + [Maandnummer] * 100 + [Dagnummer_Maand]), InsertMaandnaam = Table.AddColumn(InsertDatumInteger, "Maandnaam", each Date.ToText([Datum], "MMMM", Culture), type text), InsertMaandjaar = Table.AddColumn(InsertMaandnaam, "MaandJaar", each (try(Text.Range([Maandnaam],0,3)) otherwise [Maandnaam]) & " " & Number.ToText([Jaar])), InsertKwartaalJaar = Table.AddColumn(InsertMaandjaar, "KwartaalJaar", each "Q" & Number.ToText([Kwartaalnummer]) & " " & Number.ToText([Jaar])), InsertDagnummerWeek = Table.AddColumn(InsertKwartaalJaar , "Dagnummer_Week", each Date.DayOfWeek([Datum])+1), InsertDagnaam = Table.AddColumn(InsertDagnummerWeek, "Dagnaam", each Date.ToText([Datum], "dddd", Culture), type text), InsertVandaag = Table.AddColumn(InsertDagnaam, "Vandaag", each Date.From(DateTime.LocalNow())), InsertDagnummer = Table.AddColumn(InsertVandaag , "Dagnummer", each Date.DayOfYear([Datum])), InsertIs_Vandaag = Table.AddColumn(InsertDagnummer , "Is_Vandaag", each if [Vandaag] = [Datum] then 1 else 0), InsertIs_Huidig_Jaar = Table.AddColumn(InsertIs_Vandaag, "Is_Huidig_Jaar", each Date.IsInCurrentYear([Datum])), InsertIs_Vorig_Jaar = Table.AddColumn(InsertIs_Huidig_Jaar, "Is_Vorig_Jaar", each Date.IsInPreviousYear([Datum])), InsertIs_Volgend_Jaar = Table.AddColumn(InsertIs_Vorig_Jaar, "Is_Volgend_Jaar", each Date.IsInNextYear([Datum])), InsertIs_Huidig_YTD = Table.AddColumn(InsertIs_Volgend_Jaar, "Is_Huidig_YTD", each Date.IsInYearToDate([Datum])), InsertIs_Vorig_YTD = Table.AddColumn(InsertIs_Huidig_YTD, "Is_Vorig_YTD", each Date.IsInYearToDate(Date.AddYears([Datum],1))), InsertStartdatum_Jaar = Table.AddColumn(InsertIs_Vorig_YTD, "Startdatum_Jaar", each Date.StartOfYear([Datum])), InsertEinddatum_Jaar = Table.AddColumn(InsertStartdatum_Jaar, "Einddatum_Jaar", each Date.EndOfYear([Datum])), InsertIs_Huidige_Week = Table.AddColumn(InsertEinddatum_Jaar, "Is_Huidige_Week", each Date.IsInCurrentWeek([Datum])), InsertIs_Vorige_Week = Table.AddColumn(InsertIs_Huidige_Week, "Is_Vorige_Week", each Date.IsInPreviousWeek([Datum])), InsertIs_Huidige_Maand = Table.AddColumn(InsertIs_Vorige_Week, "Is_Huidige_Maand", each Date.IsInCurrentMonth([Datum])), InsertIs_Vorige_Maand = Table.AddColumn(InsertIs_Huidige_Maand, "Is_Vorige_Maand", each Date.IsInPreviousMonth([Datum])), InsertIs_Volgende_Maand = Table.AddColumn(InsertIs_Vorige_Maand, "Is_Volgende_Maand", each Date.IsInNextMonth([Datum])), InsertDagnummer_Kwartaal = Table.AddColumn(InsertIs_Volgende_Maand, "Dagnummer_Kwartaal", each Duration.Days(Duration.From([Datum]-Date.StartOfQuarter([Datum])))+1), InsertDagnaam_Kort = Table.AddColumn(InsertDagnummer_Kwartaal, "Dagnaam_Kort", each Text.Start([Dagnaam],3)), InsertIs_Weekend = Table.AddColumn(InsertDagnaam_Kort, "Is_Weekend", each if [Dagnummer_Week] > 5 then true else false), InsertDag_Is_Eerste_Dag_Week = Table.AddColumn(InsertIs_Weekend, "Dag_Is_Eerste_Dag_Week", each if [Datum] = Date.StartOfWeek([Datum]) then true else false), InsertDag_Is_Laatste_Dag_Week = Table.AddColumn(InsertDag_Is_Eerste_Dag_Week, "Dag_Is_Laatste_Dag_Week", each if [Datum] = Date.EndOfWeek([Datum]) then true else false), InsertDag_Is_Eerste_Dag_Maand = Table.AddColumn(InsertDag_Is_Laatste_Dag_Week, "Dag_Is_Eerste_Dag_Maand", each if[Datum]=Date.StartOfMonth([Datum]) then true else false), InsertDag_Is_Laatste_Dag_Maand = Table.AddColumn(InsertDag_Is_Eerste_Dag_Maand, "Dag_Is_Laatste_Dag_Maand", each if[Datum]=Date.EndOfMonth([Datum]) then true else false), InsertDag_Is_Eerste_Dag_Kwartaal = Table.AddColumn(InsertDag_Is_Laatste_Dag_Maand, "Dag_Is_Eerste_Dag_Kwartaal", each if [Datum] = Date.StartOfQuarter([Datum]) then true else false), InsertDag_Is_Laatste_Dag_Kwartaal = Table.AddColumn(InsertDag_Is_Eerste_Dag_Kwartaal, "Dag_Is_Laatste_Dag_Kwartaal", each if [Datum] = Date.EndOfQuarter([Datum]) then true else false), InsertDag_Is_Eerste_Dag_Jaar = Table.AddColumn(InsertDag_Is_Laatste_Dag_Kwartaal, "Dag_Is_Eerste_Dag_Jaar", each if [Datum]=Date.StartOfYear([Datum]) then true else false), InsertDag_Is_Laatste_Dag_Jaar = Table.AddColumn(InsertDag_Is_Eerste_Dag_Jaar, "Dag_Is_Laatste_Dag_Jaar", each if [Datum]=Date.EndOfYear([Datum]) then true else false), InsertStartdatum_Week = Table.AddColumn(InsertDag_Is_Laatste_Dag_Jaar, "Startdatum_Week", each Date.StartOfWeek([Datum])), InsertEinddatum_Week = Table.AddColumn(InsertStartdatum_Week, "Einddatum_Week", each Date.EndOfWeek([Datum])), InsertMaandnaam_Kort = Table.AddColumn(InsertEinddatum_Week, "Maandnaam_Kort", each Text.Start([Maandnaam],3)), InsertStartdatum_Maand = Table.AddColumn(InsertMaandnaam_Kort, "Startdatum_Maand", each Date.StartOfMonth([Datum])), InsertEinddatum_Maand = Table.AddColumn(InsertStartdatum_Maand, "Einddatum_Maand", each Date.EndOfMonth([Datum])), InsertStartdatum_Kwartaal = Table.AddColumn(InsertEinddatum_Maand, "Startdatum_Kwartaal", each Date.StartOfQuarter([Datum])), InsertEindddatum_Kwartaal = Table.AddColumn(InsertStartdatum_Kwartaal, "Eindddatum_Kwartaal", each Date.EndOfQuarter([Datum])), InsertWeek_Van_Maand = Table.AddColumn(InsertEindddatum_Kwartaal, "Week_Van_Maand", each Date.WeekOfMonth([Datum])), InsertWeek_Van_Jaar = Table.AddColumn(InsertWeek_Van_Maand, "Week_Van_Jaar", each Date.WeekOfYear([Datum])), InsertYYYYMM = Table.AddColumn(InsertWeek_Van_Jaar, "YYYYMM", each Text.From([Jaar]) & Text.PadStart(Text.From([Maandnummer]),2,"0")), InsertYYMMDD = Table.AddColumn(InsertYYYYMM, "YYMMDD", each Text.From([Jaar]) & Text.PadStart(Text.From([Maandnummer]),2,"0") & Text.PadStart(Text.From([Dagnummer_Maand]),2,"0")), InsertYYYYWW = Table.AddColumn(InsertYYMMDD, "YYYYWW", each Text.From([Jaar]) & Text.PadStart(Text.From([Week_Van_Jaar]),2,"0")) in InsertYYYYWW in CreateDateTable