Kalender Spezial

Kalender  von .. bis  generieren, aber immer der Monats-Erste bis zum Ultimo

Diese Auf­gabe aus einem Forum ist zwar grund­sät­zlich gelöst, hat mich aber gereizt, das Ganze in Pow­er Query zu lösen. 💡 Und zwar auf eine Weise, die auch von „Nor­mal-Usern” angewen­det wer­den kann. Es geht näm­lich auch prinzip­iell viel ein­fach­er, wenn … ja wenn ich in der Pro­gram­mierung zuhause bin und in PQ „mal so eben” eine Funk­tion erstellen kann. 🙄 Aber es gibt auch dur­chaus einen gang­baren Weg für all jene, die gerne genau wis­sen möcht­en, was sie da ger­ade tun.  😎 

Ich habe noch einen weit­eren zurzeit der Erstel­lung dieses Beitrages nicht benan­nten Aspekt hinzuge­fügt: Die erzeugten kalen­darischen Dat­en sollen mein­er Ansicht nach die Über­schriften ein­er Tabelle bzw. Liste sein und das habe ich ein­fach ein­mal so fest­gelegt. Fol­gende Schritte bin ich dazu gegan­gen:

  • In die Zellen A1 und B1 habe ich die Über­schriften und jew­eils eine Zeile darunter das Start- und das Ende-Datum einge­tra­gen. Hier der Vor­gabe entsprechend das Datum  07.08.2018 als Start und als Ende den 06.02.2019.
  • Als Tabelle for­matiert und Import in Pow­er Query.
  • Den Daten­typ aller Spal­ten auf (nur) Datum geän­dert, mich stört (nein, mich nervt) die automa­tisch ange­hängte Uhrzeit.
  • Die Spalte Start markiert, Menü Trans­formieren | Datum | Monat | Monats­be­ginn.
  • Die Spalte Ende markiert, Menü Trans­formieren | Datum | Monat | Monat­sende.
  • Nach ein­er Prü­fung, ob die Dat­en kor­rekt sind, Umwand­lung der Dat­en in eine Ganze Zahl. Damit lässt sich näm­lich wesentlich ein­fach­er der gewün­schte Zahlen­bere­ich erstellen. 💡 
  • Menü Spalte hinzufü­gen | Benutzerdefinierte Spalte und Sie geben in die Felder fol­gende Werte ein:
    • Neuer Spal­tenname  Kalen­der
    • Benutzerdefinierte Spal­tenformel: 
      =List.Numbers([Start], [Ende]-[Start]+1)
      wobei Sie darauf acht­en müssen, dass Sie die exakt gle­iche Groß- Klein­schrei­bung wie hier gezeigt ver­wen­den.

Es wurde eine neue Spalte erstellt, die erwartungs­gemäß die Über­schrift Kalen­der hat. Das einzige Feld darunter hat den Inhalt List. Wenn Sie mit Pow­er Query noch nicht so erfahren sind, wird Sie eventuell in der Über­schrift das Sym­bol rechts, der Dop­pelpfeil Doppelpfeil etwas irri­tieren:

Eine neue Spalte mit nur 1 Eintrag ...

Eine neue Spalte mit nur 1 Ein­trag und einem Dop­pelpfeil-Sym­bol rechts in der Über­schrift …

  • Nach einem Klick auf diesen Dop­pelpfeil öffnet sich ein Kon­textmenü, wo sie die obere Auswahl Auf neue Zeilen ausweit­en anklick­en.
  • Umge­hend ändert sich das Bild im Abfrage-Edi­tor. Die Spal­ten Start und Ende enthal­ten zig mal untere­inan­der die gle­ichen Werte und die Spalte Kalen­der ist mit den numerischen Werten von 43.313 bis 43.524 gefüllt:
Automatisch aufgefüllte Werte der (seriellen) kalendarischen Daten

Automa­tisch aufge­füllte Werte der (seriellen) Dat­en

  • Die bei­den ersten Spal­ten Start und Ende wer­den nicht mehr gebraucht, also Ent­fer­nen. Das geht entwed­er über das Menü Start oder einen Recht­sklick in die Über­schrift und dann im Kon­textmenü Ent­fer­nen wählen.
  • Da die anfänglichen kalen­darischen Dat­en ja in ihr numerisches Äquiv­a­lent, die seriellen Dat­en umge­wan­delt wor­den sind, wer­den Sie diese nun wiederum als „nor­males” Datum darstellen; dazu hier die Spalte mit dem Daten­typ Datum for­matieren.
  • Die einzel­nen Tage sollen ja in in 1 Zeile nebeneinan­der in je ein­er Spalte und nicht untere­inan­der dargestellt wer­den. Darum im Menü Trans­formieren ein Klick auf Ver­tauschen, was dem transponieren in Excel entspricht.
  • The­o­retisch ist damit das Ziel erre­icht. Da ich aber (wie bei bere­its oben ange­merkt) davon aus­ge­he, dass diese Werte die Über­schriften ein­er Excel-Tabelle sein sollen, klicke ich im Menü Start auf Erste Zeile als Über­schriften ver­wen­den und mein Ziel ist nun endgültig erre­icht.

Pow­er Query fügt nun eine weit­ere Zeile in den Ablauf (Angewen­dete Schritte) ein, warum auch immer. 🙄 Es wird der Typ der Über­schriften (Head­er) auf „any” (beliebig) geän­dert. Jet­zt nur noch Schließen & laden und die anfangs 2‑spaltige Tabelle wird durch den Kalen­der erset­zt.

Soll die zuerst erstellte Tabelle mit den kalen­darischen Eck­dat­en beste­hen bleiben, dann kön­nen Sie an dieser Stelle so vorge­hen:

  • Erstellen Sie zu Beginn ein Dup­likat der Abfrage, entwed­er über Start | Ver­wal­ten | Duplizieren oder wenn das linke Seit­en­fen­ster sicht­bar ist per Recht­sklick in den Ein­trag Tabelle1 und dann Duplizieren.
  • Aktivieren Sie wiederum die zuerst erstellte Tabelle1.
  • Klick­en Sie im recht­en Seit­en­fen­ster bei Angewen­dete Schritte auf die 2. Zeile (Geän­dert­er Typ) und per Recht­sklick wählen Sie im Kon­textmenü die Zeile Bis zum Ende löschen und bestäti­gen Sie die Sicher­heitsabfrage.
  • Tabelle1 wer­den sie dann entwed­er getren­nt per Schließen & laden in… als Nur Verbindung spe­ich­ern oder später auf diesem Wege den Spe­icher­typ ändern. – Wenn Sie das bere­its zu Beginn des gesamten Prozed­eres machen, also gle­ich nach dem Import, ist das natür­lich etwas beque­mer …  😎 

Fast vergessen: Hier mein Ergeb­nis😉 

▲ nach oben …

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

Dann würde ich mich über einen Beitrag Ihrer­seits freuen …

Ref­er­ence: #0495

Dieser Beitrag wurde unter Allgemein, Datentyp anpassen, Datum & Zeit, Power Query, Transponieren, Wege nach Rom abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.