PowerBI – Kumulierte Werte in einem Liniendiagramm

Sollten Sie mit Microsoft Project Online arbeiten, wollen Sie vielleicht irgendwann einmal einen Projektbericht anfertigen. Eines der Standardinformationen in einem Bericht ist die Darstellung von aktuellen Kosten – oder Aufwänden in Hinsicht der Projektlaufzeit. Hierzu müssen die Werte eines entsprechenden Monats mit den jeweiligen Werten des vorherigen Monates addiert werden. Was sich im ersten Moment als eine sehr einfache Aufgabe darstellt, ist unter der Verwendung von Power BI nicht ganz so einfach. In diesem Blog-Artikel möchte ich Ihnen zeigen, wie Sie eine einfache kumulierte Linie in einem Liniendiagramm darstellen können.

Hinweis: Um dieses Beispiel umzusetzen, benötigen Sie Microsoft Project Online Premium, einen installierten Power BI Desktop und eine bestehen Verbindung zu Ihrem Office 365 Tenant über OData. Die Tabelle [Vorgänge] wurden von mir auch schon in PowerBI eingebunden. Wenn Sie nicht wissen, wie das gemacht wird, finden Sie hier in meinem Blog weitere Artikel.

In meinem Beispiel möchte ich nun die Kosten meines Projektes in einem Liniendiagramm darstellen. Hierzu nehme ich der Einfachheit halber den Wert, der sich in der Spalte [VorgangKosten] befindet. Geben Sie im Suchfeld „FELDER“ den Namen „VorgangsNamen“ ein. Markieren Sie diesen.

clip_image001

Ihnen werden dann die sich in der Tabelle befindenden Vorgangsnamen in einer Tabellenspalte angezeigt. Geben Sie jetzt im Suchfeld „FELDER“ den Namen „VorgangKosten“ ein.

clip_image002

Power BI fügt Ihnen nun die erfassten Kosten aus der Datenbank rechts neben der Spalte Vorgangsnamen in der Tabelle hinzu. Zum Schluss benötigen wir noch ein Datum. Hierzu soll uns der Anfangstermin der Aufgabe dienen. Dadurch können wir später in unserem Liniendiagramm die zeitliche Zuordnung der Kosten auswerten. Geben Sie erneut im Suchfeld den Namen „VorgangAnfangsTermin“ ein.

clip_image003

Wie Sie hier schon erkennen können, merkt Power BI, dass es sich um ein Datumsfeld handelt und macht daraus eine Datumshierarchie (Jahr, Quartal, Monat, Tag). Wenn Sie nun das Feld „VorgangAnfangsTermin“ markieren, wird Ihnen das Datum als Hierarchie an die Tabelle angefügt.

clip_image004

Genau diese Darstellung möchte ich aber nicht haben. Hierzu klicke ich unter Werte die Optionseinstellungen und wähle im Kontextmenü die Option: „VorgangAnfangsTermin“ aus.

clip_image005

Hinweis: Sollte Sie die Uhrzeit stören, dann ändern Sie die Formatierung in der Tabelle! Für mein Beispiel soll es aber so erstmal reichen.

Markieren Sie die Tabelle und klicken Sie auf „Liniendiagramm“ unter „VISUALISIERUNGEN“.

clip_image006

Ändern Sie per Drag&Drop die Felder. Ziehen Sie den [VorgangAnfangsTermin] in die „Achse“. Anschließend löschen Sie die Option [VorgangsNamen]. Diesen habe ich zuvor nur benötigt, um Ihnen die Funktionsweise zu demonstrieren. Ihre Einstellung sollte nun wie folgt aussehen.

clip_image007

Soweit so gut – und vielleicht waren Sie auch schonmal soweit. Was wir sehen, sind die gesamten Kosten pro Monat. Was ich allerdings sehen möchte, sind die gesamten Kosten zum Projektende hinweg.

Filter

Hierzu werden wir uns als erstes einen kleinen Filter anlegen damit wir nach Projekten filtern können. Geben Sie hierzu erneut im Suchfeld den Namen „[ProjektName]“ ein.

WICHTIG: Sollte Ihre Tabelle im Bericht noch markiert sein, so klicken Sie jetzt zuerst auf eine leere Stelle im Bericht.

Markieren Sie dann die die Option [Projektname]. Ihnen wird nun eine weitere Tabelle in den Bericht hinzugefügt.

 clip_image008

Sollte die Tabelle nicht aktiviert sein, so klicken Sie jetzt auf die gerade hinzugefügte Tabelle. Klicken Sie unter „VISUALISERUNGEN“ die Option „Datenschnitt“.

clip_image009

Jetzt haben Sie einen Filter erstellt. Sollten Sie ein Projekt auswählen wird automatisch die obere Tabelle mit den entsprechenden Projektwerten angepasst.

Kumulierte Werte

Um uns jetzt die gesamten Werte über eine Periode (Zeit) anzuzeigen, benötigen wir einen „Measure“. Wir müssen jetzt einmal die Werte aus der Spalte Vorgangskosten zusammenfügen gleichzeitig aber einen Datumfilter erstellen (Datum <= MAX(Datum) damit die Datumswerte auf der Zeitachse ignoriert werden.

Klicken Sie hierzu auf die Registerkarte „Modellierung“ und klicken Sie auf „Neues Measure“.

clip_image010

Geben Sie nun die folgende Formel ein. Achten Sie auf die Syntaxkorrektur. Klicken Sie dann auf den Haken in der Code-Zeile.

ProjektKostenCum = CALCULATE(SUM(‚Vorgänge'[VorgangKosten]);FILTER (ALL(‚Vorgänge'[VorgangAnfangsTermin]); ‚Vorgänge'[VorgangAnfangsTermin] <= MAX(‚Vorgänge'[VorgangAnfangsTermin])))

clip_image011

Jetzt müssen Sie nur noch den erstellten Measure mit dem Wert [VorgangKosten] tauschen. Ziehen Sie den gerade erstellten Measure in die Rubrik „Werte“.

clip_image013

Jetzt werden Ihnen die gesamten Kosten im Projektverlauf angezeigt.

clip_image015

6 Kommentare

  • Angelika

    Hallo Thorben,
    Danke sehr für die tolle Erklärung, hat mich echt weiter gebracht👍🏻
    Allerdings brauche ich die Kosten nach Kategorie cum. p e r h e u t e.
    und wenn die letzte Buchung von einer Kategorie im Dezember war, dann zeigt mir das gesplittete Balkenchart die Grafik mit den kumulierten Kosten dieser Kategorie im Dezember, und nicht mehr jetzt im März. Wie bekommt man alle Kategorien aufcumuliert im März incl.? Gibt es einen Befehl für „per heute“ anstatt <= max date?
    Tausend Dank 🙏
    Angelika

  • Leonid

    Hallo Torben,

    dein Beitrag ist sehr hilfreich. Ich kann aber leider folgendes Problem nicht lösen.
    Ich habe zwei Tabellen. In einer stehen die Einträge mit Status (z.B. erledigt/nicht erledigt). In der zweiten steht das Datum, bis wann es erledigt werden muss. Ich möchte alle Einträge sehen, wo das Datum kleiner heute ist und die nicht erledigt sind. Dafür habe ich folgendes Measure erstellt:
    Overdue Cum = CALCULATE(COUNT(‚Table1′[ID]),FILTER(‚Table1‘,’Table1′[Status] = „nicht erledigt“),FILTER(‚Table2‘,’Table2′[Date] 2; 03.07. -> 1).
    Ich möchte aber, dass mir am 03.07. die Summe aller Zeilen, die kleiner gleich 04.07. sind, also 3.

    Wie kann ich das erreichen?

    Viele Grüße
    Leonid

    • Torben Blankertz

      Mach er das gar nicht?

      • Leonid

        Es gibt keinen Fehler. Der Graph verläuft aber fallend und nicht steigend.

        PS:
        Ich habe gerade gesehen, dass ein Teil meines Textes anscheinend aus Versehen gelöscht wurde. Hier die Korrektur:
        Measure:
        Overdue Cum = CALCULATE(COUNT(‚Table1′[ID]),FILTER(‚Table1‘,’Table1′[Status] = „nicht erledigt“),FILTER(‚Table2‘,’Table2′[Date] zwei Zeilen
        03.07. -> eine Zeile

        Visualisierung:
        Liniendiagramm

        Axis: Calender()[Date],[Day]
        Values: Overdue Cum

        • Leonid

          Aus irgendeinem Grund wird der Text in der Mitte gelöscht
          Overdue Cum = CALCULATE(COUNT(‚Table1′[ID]),FILTER(‚Table1‘,’Table1′[Status] = „nicht erledigt“),FILTER(‚Table2‘,’Table2′[Date] zwei Zeilen
          03.07. -> eine Zeile

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.