Project for the Web – Ressourcenmanagement Zeit am Tag erstellen

Gerade im Ressourcenmanagement möchte man gerne wissen, welcher Mitarbeiter, ist zu welchem Zeitpunkt, mit wieviel Stunden verplant. In Project Online (#MSProject) hatte ich hier die Option, in der Tabelle „ZuordnungZeitphasenDataSet“ die Spalte „ZeitAlsTag“ zu nutzen. Sucht man diese Spalte in einer der Tabellen von Project für das Web (Project fort he Web, #P4TW), findet man leider diese Informationen nirgends.

In diesem Blogbeitrag möchte ich Euch zeigen, wie Ihr in Project für das Web eine stundengenaue Auswertung erstellen könnt. Diese soll euch zeigen, welcher Mitarbeiter, in welchem Projekt, mit wieviel Stunden verplant ist.

Hinweis: Um dieses Szenario nachzustellen benötigen ihr eine Project Plan 3 oder Plan 5 Lizenz. Ebenfalls müsst ihr Power BI Desktop auf eurem Rechner installiert haben.

Alle Ressourcenzuweisungen zu einem Task (Aufgabe) werden in der Tabelle „msdyn_ressourceassignment“ gespeichert. Die Informationen, die wir benötigen, um eine Auswertung nach der Zuweisung „ZeitAlsTag“ zu erstellen, finden wir in der Spalte „msdyn_plannedwork“. Die Daten liegen leider nicht sofort als nativ Information vor, sondern im JSON-Format (JavaScript Object Notation). Wir müssen also die Spalte so formatieren, dass wir unsere gewünschten Informationen erhalten. Schauen wir uns als erstes einmal die Informationen in der Spalte ein wenig genauer an. Hierzu habe ich einen Datensatz in meinen Text-Editor kopiert und die Sprache auf JSON gestellt.

Hinweis: Diesen Schritt braucht ihr nicht durchzuführen, ich möchte Dir nur zeigen, wie die Informationen in der Spalte aufgebaut sind.

Was können wir hier erkennen? Wir sehen einmal das End- und das Startdatum im Ticks-Format. Das Ticks-Format speichert die Zeit in Millisekunden vom 01.01.1970, bis zum Speichern des Anfangs- bzw. Enddatums des entsprechenden Arbeitspaketes. Ebenfalls können wir die Dauer von 4 Stunden erkennen.

image

Wir müssen also die Spalte so formatieren, dass diese Informationen als Format „ZeitAlsTag“ gespeichert werden. Im ersten Schritt werden wir alle leeren Werte aus der Spalte entfernen.

Hinweis: Sollten ihr die Wochenenden mit in eurem Report berücksichtigen wollen, so belasst die leeren Spalten in der Tabelle!

Klickt als erstes in der Werkzeugleiste auf die Registerkarte „Start“ und klickt dort auf den Button „Daten transformieren“. Markiert auf der rechten Seite die Tabelle „msdyn_ressourceassignment“ und sucht jetzt die Spalte „msdyn_plannedwork“. Markiert diese, indem ihr mit der linken Maustaste auf den Namen klickt. Deaktiviert die Option „null“ und bestätigen dann eure Eingabe mit „Okay“.

clip_image003

Im nächsten Schritt transformieren wir die Spalte als „JSON-Format“.

Klickt für die Transformation erneut mit der rechten Maustaste auf die Spalte und wählt dann im Kontextmenü die Option „Transformieren“ aus. In dem sich öffnenden Untermenü findet Ihr die Option „JSON“. Wählt die Option.

SNAGHTML6cbf8636

Es wurden nun die Inhalte der JSON-Daten als Listenformat in der entsprechenden Spalte hinzugefügt. Diese können wir als weitere Spalten in der Tabelle ausweiten.

Hinweis: Bevor wir diesen Schritt durchführen, achtet mal in der unteren rechten Ecke des Power-BI-Desktop Clients auf die Anzahl der Zeilen in der Tabelle. In meinem Beispiel habe ich vor der Transformation 34 Spalten und 28 Zeilen.

image

Klickt jetzt mit der Maus auf das Ausweitsymbol in der Spalte „msdyn_plannedwork“. Wählt dann im Kontextmenü die Option „Auf Zeilen ausweiten“ aus. Klickt erneut auf das Symbol und wählt dann die Optionen End, Hours und Start aus. Bestätige Deine Auswahl mit „Ok“.

image

Nun wurden die ausgewählten Spalten in die Tabelle eingefügt. Ihr könnt jetzt erkennen, dass wir jetzt 168 Zeilen in der Tabelle haben. Für jeden Tag wurde eine neue Zeile hinzugefügt.

image

Daten anpassen und formatieren

Jetzt brauchen wir nur noch die Spalten „msdyn_Plannedwork.End“ und „msdyn_Plannedwork.Start” in ein Datumformat umwandeln. Hierzu müssen wir als erstes die Anfangszeichen „/Date/(„ und am Ende der Tickszeit die Zeichen „)/“ entfernen. Hierzu kickt ihr erneut auf den Spaltenkopf und wählt dann im Kontextmenü die Option „Werte ersetzen“ aus.

image

Gebt hier im oberen Bereich, unter der Option „Zu suchender Wert“, die Zeichenfolge „/Date(„ ein. Das Feld – „Ersetzen durch“ belasst ihr leer. Klickt anschließend auf „OK“. Wiederholt den Schritt mit dem am Ende befindlichen Zeichen – „)/“. Dieses beschriebene Szenario führt ihr jetzt auch auf der Spalte „mysdn_plannedwork.Start“ durch.

image

Die Ansicht sollte jetzt bei euch wie folgt aussehen.

image

Formatiert jetzt die Spalte im Format „Ganze Zahl“. Klickt erneut auf den Spaltenkopf und wählt aus dem Kontextmenü die Option „Typ ändern“ und in dem Untermenü die Option „Ganze Zahl“ aus.

SNAGHTML6cc28741

Ticks-Zeit in Datum umwandeln

Jetzt müsst Ihr als nächstes die Ticks-Zeit in ein normales Datumsformat umwandeln. Da es sich bei dem Anfangs- und Enddatum, um ein und dieselbe Zeit handelt, benötigen wir nur eine neue Spalte. Klickt in der Werkzeugleiste auf die Registerkarte „Spalte hinzufügen“. Wählt dann den Button „Benutzerdefinierte Spalte“.

image

Gebt unter der Option „Neuer Spaltenname“ den gewünschten Namen ein. In meinem Beispiel „DatumAlsTag“. Ich wähle das gewünschte Datum aus dem Anfangsdatum des Arbeitspaketes, da jetzt in der Tabelle ja für jeden Tag ein Eintrag existiert. Hierzu gebe ich jetzt die folgende Formel ein:

=#datetime(1970,1,1,0,0,0) + #duration(0,0,0, [msdyn_plannedwork.Start]/1000)

Hinweis: Solltet Ihr das End-Datum nutzen wollen, so ersetzt einfach „msdyn_plannedwork.Start durch [msdyn_plannedwork.End].

Formatiert jetzt die Spalte als Datumsformat. Klickt in der gerade hinzugefügten Spalte die rechte Maustaste auf den Spaltenkopf und wählt im Kontextmenü erneut die Option „Typ ändern“ aus. Wählt dort die Option „Datum“ aus.

SNAGHTML6cc379bf

Euch steht jetzt die zugewiesenen Stunden pro Tag zur Verfüg.

SNAGHTML6cca90df

Schreibe einen Kommentar

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