Kontakt

Nutzen Sie dieses Kontaktformular oder schreiben Sie mir direkt per E-Mail.

Team von Finanzexperten, die auf dem Computerbildschirm ein Dashboard für Geschäftsanalytik (BA) oder Intelligence (BI) diskutieren, in dem die Umsatzdaten und Betriebsdaten sowie die wichtigsten Leistungsindikatoren (KPI) dargestellt werden

Arbeitstage mit Power BI berechnen

  • Arbeitstage berechnen
  • Projekttage ermitteln
  • Kalendertabelle anlegen
  • DAX-Funktionen kennen lernen
Jan Trummel - Coach für  Excel und  Power BI

Jan Trummel
Trainer für Excel und Power BI - erzählt hier wie Sie Ihre Arbeit effektiver erledigen können.

Oft müssen Sie in einem Projekt die Anzahl der verfügbaren Arbeitstage bestimmen. Als versierter Excel-Kenner denken Sie sofort an NETTOARBEITSTAGE. Doch diese Funktion gibt es in Power BI leider nicht. Lesen Sie hier, wie Sie die Arbeitstage trotzdem ermitteln können.

Die Projekttabelle

Gehen Sie einmal von folgender Tabelle aus:

Eine Tabelle mit den Spalten "Projekt", "Beginn" und "Ende"
Die Projekttabelle

Um die Anzahl der Tage zwischen Beginn und Ende zu bestimmen, nehmen Sie ganz einfach die Standardfunktion DATEDIFF. Fügen Sie in der Projekttabelle eine neue Spalte und dort folgende Formel ein:

Tage = DATEDIFF(Projekte[Beginn],Projekte[Ende],DAY) + 1

Die Funktion bestimmt die Anzahl von Intervallen zwischen einem Start- und einem Enddatum. Mit DAY im dritten Argument legen Sie fest, dass die Funktion die Differenz in Tagen ausgibt. Möglich wären hier übrigens auch Jahre, Quartale, Monate und Wochen.

Tabelle mit den Spalten "Projekt", "Beginn", "Ende" und "Tage"
Die Projekttabelle mit der Anzahl an Tagen

Leider kann die Funktion nicht zwischen Arbeitstagen (Montag bis Freitag) und Wochenenden (Samstag und Sonntag) unterscheiden. Sie müssen daher tiefer in die Trickkiste von DAX greifen.

Legen Sie eine Kalendertabelle an

Um diese Aufgabe zu meistern, benötigen Sie eine Kalendertabelle. Diese muss mindestens eine Datumsspalte und eine Spalte mit Wochentagszahlen besitzen und den Datumsbereich der drei Projekte umfassen.

Benutzen Sie die DAX-Funktionen CALENDAR und WEEKDAY, um die Kalendertabelle anzulegen. Wechseln Sie in den Bereich Daten und klicken Sie auf dem Reiter Start auf Neue Tabelle.

Kalender = CALENDAR(DATE(2020,1,1),DATE(2020,12,31))

Wochentagszahl = WEEKDAY(Kalender[Date],2)

Eine Datumstabelle mit den Spalten "Date" und "Wochentagszahl"
Ausschnitt aus der Kalendertabelle

Die Kalendertabelle zeigt alle Datumsangaben aus dem Jahr 2020. In der Praxis umfassen Kalendertabellen jedoch weitaus größere Datumsbereiche und verfügen über wesentlich mehr Spalten. Für dieses Beispiel reicht eine derart kleine Kalendertabelle jedoch aus.

Damit haben Sie alles, um die Arbeitstage in den Projekten zu bestimmen. Lesen Sie im nächsten Schritt, wie Sie die richtige DAX-Formel dafür schreiben.

Die Arbeitstage berechnen

Fügen Sie in der Projekttabelle eine weitere Spalte und dort folgende Formel ein:

Arbeitstage = COUNTX(FILTER(Kalender,Kalender[Date] >= Projekte[Beginn] && Kalender[Date] <= Projekte[Ende] && Kalender[Wochentagszahl] <= 5),Kalender[Date])

Eine Tabelle mit den Spalten "Projekt", "Beginn", "Ende", "Tage" und "Arbeitstage"
Die Projekttabelle mit den Arbeitstagen

Gehen wir die Formel einmal Schritt für Schritt durch: Am Anfang steht die Funktion COUNTX. Sie zählt die Einträge in einer Tabellenspalte. Sie geben zuerst die Tabelle an, im zweiten Argument eine Spalte dieser Tabelle.

Zählen wollen Sie in der Kalendertabelle die Einträge in der Spalte Date. Damit die Kalendertabelle nur Datumsangaben des Projektzeitraums beinhaltet, filtern Sie die Tabelle mit Hilfe der Funktion FILTER:

  • Nur Datumsangaben zwischen Beginn und Ende
    Kalender[Date] >= Projekte[Beginn] && Kalender[Date] <= Projekte[Ende]
  • Nur Datumsangaben, bei denen es sich nicht um ein Wochenende handelt
    Kalender[Wochentagszahl] <= 5

Das doppelte kaufmännische Und (&&) erlaubt Ihnen übrigens, mehrere Filterbestimmungen in der Funktion zu kombinieren. Weitere Informationen zu den DAX-Operatoren finden Sie hier.

Technisch gesehen erzeugt die Funktion FILTER eine virtuelle DAX-Tabelle, also eine Tabelle, die nur für die Berechnung gebildet und dann wieder aus dem Speicher entladen wird. FILTER liefert damit die Tabelle für das 1. Argument in COUNTX.

Im 2. Argument von COUNTX geben Sie die Spalte Date der virtuellen Kalendertabelle an. Sie enthält nur die Datumsangaben, auf die wir in FILTER gefiltert haben. Da Samstage und Sonntage ausgeschlossen sind, zählt die Funktion nur Montage bis Freitage.

ACHTUNG! Die Formel schließt nur Wochenenden von der Zählung aus! Feiertage werden in dieser Lösung nicht berücksichtigt!

Fazit

Auch wenn Power BI (noch) keine eingebaute Funktion zum Ermitteln von Arbeitstagen hat, können Sie diese mit einer Kalendertabelle und guten DAX-Kenntnissen ermitteln. Entscheidend sind hier die Funktionen COUNTX und FILTER.

Jetzt Power BI lernen!

Tage = DATEDIFF(Projekte[Beginn],Projekte[Ende],DAY)