Tutorials

Die Altersstruktur auf einen Blick darstellen? Geht ohne Formel mit Pivot und zwei Joins in Power Query

19.12.2018   Hildegard Hügemann

Die Altersstruktur der Beschäftigten einer Firma lässt sich über ein Pivot-Diagramm übersichtlich darstellen.

  • Doch wie wird die zugrundeliegende Pivot-Tabelle so aufgebaut, dass im Diagramm alle gewünschten Altersgruppen angezeigt werden?
  • Wie wird sichergestellt, dass bei Zu- und Abgängen in der Belegschaft die Pivot-Auswertung stets auf die aktuellen Daten zugreift?
  • Wie wird das Alter der Beschäftigten ermittelt?

Das Tutorial zeigt anhand zahlreicher Bildschirmfotos, wie die Lösung aufgebaut wird. Alle, die die Schritte gern selbst nachvollziehen wollen, können sich außerdem die Excel-Übungsdatei herunterladen.

 

 

Über den Autor

Hildegard Hügemann

- Dipl.-Informatikerin
- Zertifizierte Office-Trainerin mit den Schwerpunkten Excel, Access, Word
- Entwicklerin von Excel-Tools zur Projekt-, Produktions- und Verkaufssteuerung
- Coach bei der Datenaufbereitung mit Access, Power Query und Power Pivot
- Entwicklerin von Access-Datenbanken für Mittelständler und Behörden
- Bloggerin zu Excel und Access auf www.huegemann-informatik.de
- Autorin für Microsoft Press, dpunkt.verlag und das »Projekt Magazin«

1 Kommentar bisher

Frank Arendt-TheilenPosted on  11:50 pm - Dez 20, 2018

Hallo Hildegard, wieder einmal ein gelungenes Tutorial.
Die Altersberechnung von Power Query ist ziemlich „krude“, einfach platt durch 365 zu teilen, nee, aber Deine Korrektur mit 365,25 hilft hier weiter. Ansonsten liesse sich mit der Funktion Date.IsInYearToDate() feststellen, ob ein Gebursttag bereits stattgefunden hat, dann gibt die Funktion true zurück, ansonsten false. Damit käme eine Excel-ähnliche Berechnung zur Anwendung:
.
if Date.IsInYearToDate(#date(Date.Year(DateTime.FixedLocalNow()),Date.Month([#“Geb.-Datum“]),Date.Day([#“Geb.-Datum“]))) then Date.Year(DateTime.FixedLocalNow()) – Date.Year([#“Geb.-Datum“]) else Date.Year(DateTime.FixedLocalNow()) – Date.Year([#“Geb.-Datum“]) – 1)
.
Hieraus liesse sich dann auch eine Power Query-Funktion schneidern:
.
// fxAltersberechnung
(Datum as date) as number =>
if Date.IsInYearToDate(#date(Date.Year(DateTime.FixedLocalNow()),Date.Month(Datum),Date.Day(Datum))) then
Date.Year(DateTime.FixedLocalNow()) – Date.Year(Datum) else
Date.Year(DateTime.FixedLocalNow()) – Date.Year(Datum) – 1
.
Mit freundlichem Gruß
Frank Arendt-Theilen

Schreibe eine Antwort