PQ: von…bis – Liste als M‑UDF (PQ-UDF)

Xtract: Mit­tels ein­er UDF (UserDe­fined­Func­tion, benutzerdefinierten Funk­tion) eine Liste aller Tage des gegebe­nen kalen­darischen Bere­ichs in der Sprache M erstellen.

  Wis­sens­stand: Lev­el 3 ⇒  Excel GUT!, min­destens Basis-Ken­nt­nisse in Pow­er Query

Es gibt sehr viele Sit­u­a­tio­nen im PQ-Leben, wo Sie eine Liste der kalen­darischen Dat­en eines definierten Bereichs/Zeitraums erstellen wollen (oder müssen). Und um nicht jedes Mal den M-Code für diese Auf­gabe neu erstellen zu müssen bietet es sich an, ein­ma­lig eine UDF (selb­st definierte Funk­tion) zu erstellen und diese bei Bedarf in das Pro­jekt einzu­binden. Wie Sie eine PQ-UDF in Ihr Pro­jekt ein­binden kön­nen, wird hier beschrieben. Noch ein­mal zur Klarstel­lung: Das Ziel ist es, jeden Tag eines kalen­darischen Bere­ichs in ein­er Liste aufzuführen, also vom ersten bis zum  let­z­tenTag. Der Rhyth­mus soll exakt 1 Tag sein. – Mit ein­er typ­is­chen M-Formel wür­den Sie das ver­mut­lich so lösen, wenn die Spal­tenüber­schriften mit von und bis beze­ich­net sind und diese den Daten­typ Datum haben:
List.Dates([von],Duration.Days([bis]-[von])+1, #duration(1,0,0,0))

Grund­sät­zlich ist dieser Code auch die Basis für die UDF. Und hier mein Vorschlag für den Code:

// Datum-Liste aller Tage eines gegebenen Zeitbereichs erstellen
(von, bis)=>
let
   dVon = Date.From(von),
   dBis = Date.From(bis),
   TageListe = List.Dates(dVon, Duration.Days(dBis-dVon)+1, #duration(1,0,0,0))
in
   TageListe

Zugegeben, die einzige „Reißleine“ zum Fehler­aus­gle­ich ist die automa­tis­che Umwand­lung eventueller (prinzip­iell kor­rek­ter) Text-Datums- oder Datum/Uhrzeit-Werte in ein kor­rek­tes (Nur-) Datum, aber das Abfan­gen weit­er­er Fehler würde die Funk­tion nur unnötig auf­blähen und ich denke, dass ein Min­dest­maß an Grund­wis­sen und Ver­ant­wor­tung in Sachen Daten­typ­isierung dazu gehört, wenn ich mit Pow­er Query arbeite.

Wie Sie eine PQ-UDF in Ihrem Pro­jekt anwen­den, das kön­nen Sie hier in unserem Blog nach­le­sen.

▲ nach oben …

Rück­mel­dun­gen / Feed­back gerne per Mail an mich (G.Mumme@Excel-ist-sexy.de)

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 2,00  freuen … (← Klick mich!)

Dieser Beitrag wurde unter Datentyp anpassen, Datum & Zeit, Power Query, PQ-Formeln (Sprache M), PQ-Funktionen & UDFs, {Liste} abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.