Eines der häufigsten Fragen meiner Kunden ist, wie man Ressourcenkapazitäten in Project for the Web einsehen kann. Project for the Web stellt in Moment keine Möglichkeit zur Verfügung, die Ressourcenkapazitäten projektübergreifend einzusehen. Da die Daten aber in der msdyn_resourceassignment-Tabelle stehen, kannst du dir relativ einfach eine eigene Ressourcenkapazitätsansicht in Power BI erstellen. In diesem Blog möchte ich Dir zeigen, wie Du dir diesen Report erstellst.
Hinweis: Dieser Blog baut auf meine zuvor geschriebenen Blogartikel „Project for the Web – Ressourcenmanagement Zeit am Tag erstellen (Link)“ und „Power BI – Datumstabelle mit Filter in Power Query M erstellen (Link)“ auf. Ich gehe im Weiteren dieses Blogs davon aus, dass du die msdyn_ resourceassignment Tabelle mit den JSON-Felder extrahiert und gleichfalls die Timeline als Tabelle in den Report schon hinzugefügt hast. Sollte dem nicht so sein, dann führe zuerst die in den Artikeln beschriebenen Schritte aus, bevor du mit diesem Artikel weitermachst.
Einbinden weiterer Tabellen
Als Erstes benötigen wir noch ein paar weitere Tabellen, um unseren Report zu erstellen. Hierzu gehst du in Power BI auf „Daten abrufen“ und wählst in dem Kontextmenü die Option „Weitere…“ aus. Klicke in dem sich öffnenden Menü auf „Power Platform (1)“ und klicke dann auf der rechten Seite auf die Option „Common Data Service (Legacy) (2)“. Klicke abschließend unten auf den Button „Verbinden (3)“, um den Assistenten zu starten.
Gebe in dem sich öffnenden Verbindungsassistenten die Common Data-URL in dem Feld „Server-URL“ ein und klicke auf OK. Jetzt wählst du die benötigten Tabellen aus. Wir benötigen die msdyn_project, BookableResource und die msdyn_projecttask. Suche die Tabellen und hake diese dann in dem dafür vorgesehenen Feld an. Bestätige Deine getroffene Auswahl indem Du auf den Button „Laden“ klickst.
Hinweis: Solltest du den Report später produktiv nutzen wollen, dann empfehle ich dir alle überschüssigen Spalten aus den Tabellen zu löschen. Dies verringert die Aktualisierungszeit des Reports.
Erstellen der Tabellenabhängigkeiten
Jetzt kannst du anfangen das Datenmodell aufzubauen. Die steuernde Tabelle in unserem Fall bleibt die msdyn_resourceassignment. Bilden wir die erste Abhängigkeit zwischen der Timeline und der Spalte ZeitAlsTag in einer N:1-Beziehung. Sobald die Tabellen geladen sind, klickst Du in Power BI Desktop auf den Button „Modell“ auf der linken Seite. Erstelle nun die folgenden Abhängigkeiten, indem du per Drag and-Drop die Spalten verbindest.
- Tabelle: „msdyn_ resourceassignment / ZeitAlsTag“ -> „Zeitstrahl / Datum“.
- Tabelle: „msdyn_ resourceassignment/ projectid“ -> „msdyn_project/ projectid“.
- Tabelle: „msdyn_ resourceassignment/ msydny_taskid“ -> „msdyn_projecttask/ msdyn_projecttaskid“
- Tabelle: „msydn_ resourceassignment/ msdyn_bookableresourceid“ -> „bookableresource/bookableresourceid“.
Das Datenkonstrukt sollte wie folgt aussehen.
Spalten in die Tabelle msdyn_resourceassignment einbinden
Nachdem du die Abhängigkeiten erstellt hast, können wir die benötigten Spalten in der Tabelle „msdyn_ resourcenassignment“ hinzufügen. Wechsel als erstes wieder in die Ansicht „Daten“. Klicke hierzu auf der rechten Seite auf den entsprechenden Button. Klicke auf der rechten Seite die Tabelle msdyn_ resourceassignment. Da wir wissen wollen, welche Ressource, in welchem Projekt, in welcher Aufgabe mit wieviel Aufwand zugewiesen ist, müssen wir uns genau diese Spalten in die Tabelle einbinden. Klicke hierzu im oberen Bereich auf die Registerkarte „Tabellentools (1)“ und klicke dort auf den Button „Neue Spalte (2)“.
Binde als Erstes den Projektnamen als Spalte ein. Das Feld nennen wir „Projektnamen“. Danach führen wir ein „RELATED“ aus und suchen das Feld „msdyn_Project [project_subject]“ in der Codevorschau. Bestätige die Eingabe, indem du auf der linken Seite den Haken klickst.
Nun brauchst du noch den Namen der Aufgabe, welche die Ressource zugewiesen ist. Klicke hierzu wieder auf „Neue Spalte“. Gebe als Spaltennamen „Aufgabe“ ein. Erstelle wieder ein Related und wähle jetzt die Spalte „msdyn_projecttask [msdyn_subject]“ aus der Codevorschau aus.
Als letzte Information benötigst du noch den Ressourcennamen. Also fügst du diesen jetzt auf der gleichen Weise wie oben beschrieben als neue Spalte hinzu. Die neue Spalte soll Ressourcennamen heißen. Gebe hierzu wieder Ressourcennamen ein und leite dann ein Related ein. Wähle jetzt aus der Codevorschau den Namen „BookableResource [name]“ aus.
Erstellen der Tabellen-Matrix
Jetzt hast du alle Felder, die du für die Erstellung des Reports benötigst. Lege als nächstes die Visualisierung durch eine Matrix-Tabelle an. Wechsel hierzu auf die Ansicht „Bericht“ in Power BI Desktop. Klicke auf der rechten Seite unter dem Menü „Visualisierungen“ auf die „Matrix-Tabelle“. Die Visualisierung wird dem Canvas-Ansicht hinzugefügt.
Ziehe die Matix auf eine gewünschte Größe. Expandiere jetzt die Tabelle „Zeitstrahl“. Ziehe mit der Maus das Feld „Datum“ in die Rubrik „Spalten“ der Matrix-Tabelle Visualisierung. Klicke mit der Maus auf das Menü des Datenfeldes (1). Wähle in dem Kontextmenü die Option „Datum (2)“ aus.
Als nächstes expandierst du die Tabelle „msdyn_ resourceassignment“. Ziehe die Felder Ressourcennamen, Projektnamen und Aufgabe in den Bereich „Zeilen“ der Matrix-Visualisierung (1). Achte dabei auf die richtige Reihenfolge der Felder.
Jetzt brauchst du noch die zugewiesen Stunden. Diese befinden sich in der Spalte „msdyn_ plannedwork.Hours“. Ziehe auch diese Spalte in die Rubrik „Werte“ in der Matrix-Visualisierung.
Hinweis: Sollten zu viele Kommastellen angezeigt werden, so kannst Du diese über die Spaltentools anpassen. Achte darauf, dass die Spalte „msdyn_ plannedwork.Houers“ als Formatierung „Dezimalzahl“ besitzt und passe dann die Nachkommastellen an .
Wie du sicher schon gesehen hast, werden dir jetzt nur die Tage angezeigt, die auch einen Wert besitzen. Wir müssen also noch die Daten einblenden die keine Werte besitzen.
Klicke hierzu auf der rechten Seite unter der Rubrik „Spalten“ auf das Menü des Datenfeldes „Datum“ und wähle dort im Kontextmenü die Option „Elemente ohne Daten anzeigen“.
So, dass soll es mit diesem Blog gewesen sein. Allerdings haben wir noch zwei Herausforderungen. Ich möchte gerne, dass die Tage ohne Werte mit einer Null gefüllt werden und die Wochenenden mit einer anderen Farbe dargestellt werden. Ebenfalls sollen die Wochenenden im Gegensatz zu den Wochentage keine Werte erhalten. Wie das geht, dass schauen wir uns in einem zweiten Teil einmal genauer an.
Solltest Du Fragen bzgl. der Einführung von Project Online haben, so spreche mich gerne an.