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 vie­le Sit­u­a­tio­nen im PQ-Le­ben, wo Sie eine Lis­te der kalen­darischen Dat­en ei­nes de­fi­nier­ten Be­reichs/Zeit­raums er­stel­len wol­len (oder müs­sen). Und um nicht je­des Mal den M-Code für die­se Auf­gabe neu er­stel­len zu müs­sen bie­tet es sich an, ein­ma­lig eine UDF (selb­st de­fi­nier­te Funk­tion) zu er­stel­len und die­se bei Be­darf in das Pro­jekt einzu­binden. Wie Sie eine PQ-UDF in Ihr Pro­jekt ein­binden kön­nen, wird hier be­schrie­ben. Noch ein­mal zur Klarstel­lung: Das Ziel ist es, je­den Tag ei­nes kalen­darischen Bere­ichs in ein­er Lis­te auf­zu­füh­ren, also vom ers­ten bis zum  let­z­tenTag. Der Rhyth­mus soll ex­akt 1 Tag sein. – Mit ein­er typ­is­chen M-For­mel 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 die­se den Daten­typ Da­tum ha­ben:
List.​Dates([von],Du­ra­ti­on.Days([bis]-[von])+1, #du­ra­ti­on(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

Zu­ge­ge­ben, die ein­zi­ge „Rei­ß­lei­ne“ zum Fehler­aus­gle­ich ist die automa­tis­che Umwand­lung even­tu­el­ler (prinzip­iell kor­rek­ter) Text-Da­tums- oder Da­tum/Uhr­zeit-Wer­te in ein kor­rek­tes (Nur-) Da­tum, aber das Abfan­gen weit­er­er Feh­ler wür­de die Funk­tion nur un­nö­tig auf­blähen und ich den­ke, dass ein Min­dest­maß an Grund­wis­sen und Ver­ant­wor­tung in Sa­chen Daten­typ­isierung dazu ge­hört, wenn ich mit Pow­er Que­ry ar­bei­te.

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.