Teil 2 – Ressourcenverfügbarkeiten in Power BI auswerten

Nachdem ich in meinem ersten Artikel die Erstellung einer Ressourcenkapazitäts-auswertung innerhalb einer Matrix-Tabelle in Power BI beschrieben habe, möchte ich dir in diesem Artikel zeigen, wie du weitere Verbesserungen an der Datenvisualisierung vornehmen kannst. Wie du siehst, ist die Darstellung der Informationen zu den erbrachten Aufwänden nicht ganz optimal. Es werden nur Felder mit Werten gefüllt, in denen auch Aufwände eingetragen wurden. Felder ohne Aufwendungen werden mir leer angezeigt. In der Praxis wünschen sich meine Kunden aber immer eine einheitliche Datenstruktur. Aus diesem Grund möchte ich die leeren Felder mit einer 0 füllen. Ebenfalls möchte ich die Wochenenden in einer anderen Hintergrundfarbe angezeigt bekommen und ohne Aufwände. Hier sollen also die Felder nicht mit einer 0 gefüllt werden.

Hinweis: Bitte beachte, dass dieser Artikel auf meinen zuvor geschrieben Blog „Teil 1 – Ressourcenverfügbarkeiten in Power BI auswerten“ aufbaut. Solltest du dieses Beispiel nachstellen wollen, so lese bitte zuerst den vorherigen Artikel durch.

Datenfelder ohne Werte mit 0 füllen

Als Erstes wollen wir die Datenfelder die leer stehen mit einer 0 füllen. Hierzu benötigen wir einen Measure. Lege als erstes einen neuen Measure in der Tabelle „msdyn_resourceassignment“ an. Klicke hierzu auf der rechten Seite auf das Tabellenmenü und wähle im Kontextmenü die Option „Neues Measure (1)“ aus.

Ich nenne den neuen Measure „Arbeitsleistung“. Hierzu gebe ich vor den Gleichheitszeichen den Namen ein. Danach wollen wir die gesamten Stunden (CALCULATE), die in der Spalte „msdyn_plannedwork.Hours“ stehen als Summe (SUM) ermitteln. Sollte kein Wert vorhanden sein (blank()), dann schreibe eine 0, ansonsten nehme den Stundenwert. Da wir zu einem späteren Zeitpunkt auch noch die Wochenenden auswerten wollen, müssen wir mit Variablen in der DAX-Formel arbeiten. Wir erstellen als Erstes eine IF-Abfrage kombiniert mit den oben genannten Anforderungen. Beginnen wir mit der folgenden Formel:

Arbeitsleistung =

 

VAR STUNDENCUM =IF(CALCULATE(SUM(msdyn_resourceassignment[msdyn_plannedwork.Hours])) = blank(), 0 , CALCULATE(Sum(msdyn_resourceassignment[msdyn_plannedwork.Hours])))

Return

STUNDENCUM

Markiere mit der Maus die Matrix-Tabelle. Ziehe dann mit der Maus den Measure „Arbeitsleistung“ per Drag-and-Drop unter die Rubrik Werte (1). Kontrolliere ob die jetzt dargestellten Arbeitsleistungen mit den Werten aus der „msdyn_plannedwork.Hours“ übereinstimmt. Sollte dem so sein, dann lösche das Feld „msdyn_plannedwork.Hours“ aus der Rubrik Werte.

Jetzt haben wir unser erstes Ziel erreicht. Die leeren Werte werden dir jetzt mit 0 gefüllt dargestellt.

Wochenende formatieren

Jetzt möchte ich gerne die Wochenenden mit einer anderen Hintergrundfarbe hinterlegt haben. Ebenfalls sollen an den Wochenenden die 0-Werte wieder entfernt werden. Hierzu müssen wir als Erstes eine weitere Spalte in der Tabelle „Zeitstrahl“ hinzufügen. Die Spalte soll uns auswerten, ob der Tag ein Samstag oder ein Sonntag ist. Sollte dem so sein, dann soll Power BI für einen Samstag und Sontag eine 1 eintragen, für alle übrigen Wochentage soll eine 0 eingetragen werden. Hierzu benötigen wir die folgende Dax-Formel „FORMAT(Zeitstrahl[Datum], „ddd“)“. Das „ddd“ steht für die Ausgabe des Wochentags im Format (Sa, So, etc). Klicke auf der rechten Seite auf die Tabelle „Zeitstrahl“ und Wechsel dann in die Daten-Ansicht. Klicke in Power BI Desktop auf die Registerkarte „Neue Spalte (1)“.

Da wir für jeden Samstag und Sonntag eine 1 benötigen, können wir das relativ einfach über eine direkte Abfrage auf die Spalte „Datum“ realisieren. Wir nennen die neue Spalte „WeekDay“. Danach frage ich ab, ob es sich bei dem befindlichen Datum (IF) um ein Sa, oder (OR) So handelt. Sollte dem so sein, dann trägt mir die Formel eine 1 – ansonsten eine 0 ein.

WeekDay = IF ( OR (FORMAT(Zeitstrahl[Datum], „ddd“) = „Sa“, FORMAT(Zeitstrahl[Datum], „ddd“) = „So“), 1,0)

Da wir in der „msdyn_resourceassignment“ allerdings nur einen Measure adressieren können, erstellen wir diesen in der Tabelle „Zeitstrahl“. Ich nenne den Measure „WochenTag“ und trage entsprechend den Namen vor dem Gleichheitszeichen ein. Um den MAX-Wert aus dem kommutierten Feld auszuwerten, gebe ich die folgende Formel ein:

WochenTag = CALCULATE(MAX(Zeitstrahl[WeekDay]))

Jetzt können wir in dem zuvor erstellten Measure „Arbeitsleistung“ den Feinschliff durchführen. Öffne den Measure. Wir müssen jetzt eine neue Variable erstellen. In dieser soll eingetragen werden, ob es ein Samstag, Sonntag oder ein Wochentag ist. Ist es ein Tag am Wochenende, dann schreibe mir ein blank() rein ansonsten eine 0. Der Code hierzu sieht wie folgt aus.

VAR TAGTYP = IF([WochenTag] = 1, „blank()“, 0)

Jetzt kommt die Magic ins Spiel. Ersetze in der Variable STUNDENCUM einfach die Abfragen blank() und 0 mit der Variable „TAGTYP“. Der Code sollte danach wie folgt aussehen.

Kontrolliere das Ergebnis. Wie gewünscht werden jetzt die Wochentage mit einer 0 gefüllt und die Wochenenden ohne Werte angezeigt.

Jetzt müssen wir nur noch die Wochenenden einfärben. Das können wir über den schon erstellten Measure „WochenTag“ in der Zeitstrahl-Tabelle realisieren. Klicke auf der rechten Seite auf das Menü der Spalte „Arbeitsleistung“. Wähle hier einmal die Option „Bedingte Formatierung (1)“ und dort auf die Option „Hintergrund (2)“.

Wähle unter Formatstil „Regel (1)“ aus. Bei „Übernehmen für“ wählst Du die Option „Werte und Summen (2)“. Unter der Option „Welches Feld sollten wir als Grundlage nehmen“, wählst du den Maesure „WochenTag (3)“ aus der Zeitstrahl-Tabelle. Jetzt wird es relativ einfach. Wir wollen alle Felder, die keinen Wert haben in grau einfärben. Also wählst du unter „Wenn Wert“ die Option „ist blank (4)“ und selektierst dann deine gewünschte Farbe (5). Bestätige die Eingabe mit „OK“.

Jetzt haben wir unser Ziel erreicht.

TIPP: Du kannst auch die 0 in einen sanften grau formatieren. Dadurch wird die Tabelle noch angenehmer zu lesen. Dies machst du nicht über den Hintergrund, sondern über die Schriftfarben über das Menü bedingte Formatierung.

Schnellfilter für einen Monat erstellen

Im Moment ist es noch so, dass Du jeden einzelnen Tag für eine Auswertung auswählen musst. In der Praxis hat sich hier ein Schnellfilter bewährt. Diesen erstellen wir in der Tabelle „Zeitstrahl“. Klicke auf der rechten Seite auf die Tabelle. Klicke im oberen Bereich auf die Registerkarte „Tabellentools“ und dort auf den Button „Datentransformieren“.

Klicke jetzt auf der linken Seite auf die Tabelle “Zeitstrahl (1)“. Klicke dann in der „Ribbon-Oberfläche“ auf die Registerkarte „Spalte hinzufügen (2)“.

Ich gebe jetzt einen gewünschten Namen für die Spalte ein. In meinem Beispiel nenne ich diese „Monat“. Als Filter möchte ich das Datum wie folgt zusammenstellen. Als erstes möchte ich aus der Datumspalte das Jahr in Kurzform (22) angezeigt bekommen. Danach folgt ein Trennzeichen und anschließend der Monat in Kurzform (22-11). Damit der User den Monat besser erkennen kann, setze ich ein Leerzeichen und dann den entsprechenden Monat noch einmal in Kurzform in einer Klammer hintenan.

Wichtig hierbei ist das vorgestellte Datumsformat. Dadurch werden im Filter die Werte absteigend angezeigt. Um diese Datenstruktur zu erstellen, gebe ich die folgende Formel ein.

Date.ToText([Datum], „yy-MM“) & “ (“ & Date.ToText([Datum], „MMM“) & „)“

Schließe jetzt den Power Query Editor. Ziehe jetzt per Drag & Drop die neue Spalte unter die Rubrik „Filter für die Seite“. Jetzt kannst Du auch die gewünschten Monate schnellfiltern. Ebenfalls kannst Du die Felder Projektname, Ressourcennamen und ZeitAlsTag dem Filter für diese Seite hinzufügen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulars wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.