Forum Discussion

SK_KE's avatar
SK_KE
New Member
1 year ago
Solved

M-code for date dimension table

What is an M-code for date dimension table that automatically updates/adds (incrementally) the new date, with each new day?
  • Akash_Varuna's avatar
    1 year ago

    Hi SK_KE , Could you try this please 

    let

    StartDate = #date(2020, 1, 1), // Change this to your date

    // Define the end date as today
    EndDate = DateTime.LocalNow(),

    // Calculate the number of days between start and end date
    NumberOfDays = Duration.Days(Duration.From(EndDate - StartDate)),


    DateList = List.Dates(StartDate, NumberOfDays + 1, #duration(1, 0, 0, 0)),

    DateTable = Table.FromList(DateList, Splitter.SplitByNothing(), {"Date"}),

    // Add additional columns for year, month, day, etc.
    ExpandedTable = Table.TransformColumns(DateTable, {{"Date", each DateTime.Date(_), type date}}),
    DateWithColumns = Table.AddColumn(ExpandedTable, "Year", each Date.Year([Date]), Int64.Type),
    DateWithMonth = Table.AddColumn(DateWithColumns, "Month", each Date.Month([Date]), Int64.Type),
    DateWithDay = Table.AddColumn(DateWithMonth, "Day", each Date.Day([Date]), Int64.Type),
    DateWithQuarter = Table.AddColumn(DateWithDay, "Quarter", each Date.QuarterOfYear([Date]), Int64.Type),
    DateWithMonthName = Table.AddColumn(DateWithQuarter, "MonthName", each Date.MonthName([Date]), type text),
    DateWithWeekDay = Table.AddColumn(DateWithMonthName, "DayName", each Date.DayOfWeekName([Date]), type text)
    in
    DateWithWeekDay
    If this post helped please do give a kudos and accept this as a solution

    Thanks In Advance