Mit diesem Kalenderskript kann sehr einfach in Power Query eine Kalendertabelle erzeugt werden:
let
StartDatum=#date(2024,1,1),
EndDatum=#date(Date.Year(Date.From(DateTime.LocalNow())),12,31),
// Anzahl Tage ermitteln zwischen Daten
AnzahlDaten = Duration.Days(Date.AddDays(EndDatum,1)-StartDatum),
// Datumsliste berechnen
Datumsliste = List.Dates(StartDatum, AnzahlDaten, #duration(1, 0, 0, 0)),
// Liste in Tabelle umwandeln
TabelleAusListe = Table.FromList(Datumsliste, Splitter.SplitByNothing(), {"Datum"}, null, ExtraValues.Error),
// Typ ändern
GeänderterTyp = Table.TransformColumnTypes(TabelleAusListe,{{"Datum", type date}}),
//Add custom columns for day of month, month number, year
#"SPALTE Tag" = Table.AddColumn(GeänderterTyp, "Tag", each Date.Day([Datum]), Int64.Type),
// Since Power Query doesn't have functions to return day or month names,
// use the lists created earlier for this
#"SPALTE Monat" = Table.AddColumn(#"SPALTE Tag", "Monat", each Date.ToText([Datum], "MMM"), type text),
#"SPALTE Monat Nr" = Table.AddColumn(#"SPALTE Monat", "Monat Nr", each Date.Month([Datum]), Int64.Type),
#"SPALTE Jahr" = Table.AddColumn(#"SPALTE Monat Nr", "Jahr", each Date.Year([Datum]), Int64.Type),
#"SPALTE Wochentag" = Table.AddColumn(#"SPALTE Jahr", "Wochentag", each Date.ToText([Datum], "ddd"), type text),
#"SPALTE Wochentag Nr" = Table.AddColumn(#"SPALTE Wochentag", "Wochentag Nr", each Date.DayOfWeek([Datum])+1, Int64.Type),
#"SPALTE Jahr / Monat" = Table.AddColumn(#"SPALTE Wochentag Nr", "Jahr / Monat", each Date.ToText([Datum], "yyyy\/MM"), type text),
#"SPALTE Monat / Jahr" = Table.AddColumn(#"SPALTE Jahr / Monat", "Monat / Jahr", each Date.ToText([Datum], "MM\/yyyy"), type text),
#"SPALTE Monat Jahr" = Table.AddColumn(#"SPALTE Monat / Jahr", "Monat Jahr", each Date.ToText([Datum], "MMM yyyy"), type text)
in
#"SPALTE Monat Jahr"Es muss zunächst eine leere Abfrage erstellt werden.
Im nächsten Schritt klickt man im Power Query-Editor unter "Start" auf "Erweiterter Editor". Dort kann das Skript oben hineinkopiert werden. Dann mit "Fertig" bestätigen.
Im Schritt "StartDatum" kann das Beginndatum des Kalenders angepasst.
Alle Spalten sind frei anpassbar!