Liniendiagramme bei Umsätzen sind beliebt. Nur manchmal gibt es Tage ohne Umsatz. Trotzdem geht die Kurve nicht auf 0. Den Grund dafür, einen besseren Vorschlag und Abhilfe, falls es eben nicht anders geht beschreiben wir in diesem Artikel.
Eine einfache Umsatzauswertung
In einem fiktiven Auftragssystem finden wir Kundenaufträge mit Bestelldatum und Umsatz. Um eine Umsatzauswertung über die Zeit zu erstellen brauchen wir nur die Felder mit dem Datum und den erzielten Umsatz. Folgende Daten verwenden wir in unsere Beispiel:
Die Daten kannst du beispielsweise in einer Excel-Datei anlegen und dann via Power Query in Power BI importieren. Du kannst die Daten auch aus direkt in Power Query anlegen.
Ein Liniendiagramm zur Umsatzdarstellung
Auf Basis dieser Daten legst du ein Liniendiagramm an.
In die Werte fügst du die Spalte Umsatz ein, in die Achse das Feld Datum. Da wir nicht mit einer expliziten Datumstabelle arbeiten legt Power BI automatisch eine interne Datumstabelle und eine zugehörige Hierarchie an.
Das bedeutet, dass die Werte zunächst nach Jahr zusammengefasst sind. Über eine Drill-Down kann man dann in die Quartale, Monate und Tage absteigen. Unser Ziel ist aber direkt die Darstellung der Tage. Daher ignorieren wir die Hierarchie über das Kontextmenü auf dem Feld.
Das Ergebnis ist ein der Umsatzverlauf über die Zeit.
Hier hat der Autor zwei Fehler eingebaut
In irgendeinem Klatschblatt liest du: “Stell dir vor, die Unfallquote im Straßenverkehr ist in den letzten Jahre dramatisch gesunken! 2016 war die noch viel höher, als 2018!”
Geschickt, oder? Siehst du den Fehler? Klar, der Autor hat nicht bei 0, sondern bei über 11.000 angefangen. Das macht Power BI leider auch. Power BI verwendet einfach den kleinsten Wert. Lassen wir das Diagramm doch mal bei 0 anfangen und schreiben die Zahlen dazu.
Irgendwie sehen die Unterschiede jetzt nicht mehr ganz so dramatisch aus.
Wenn wir den kleinsten Wert der y-Achse explizit auf 0 haben möchten, können wir das in den Einstellungen des Liniendiagramms hinterlegen.
Liniendiagramm geht aber nicht auf Null
Nachdem wir die y-Achse korrekt mit 0 starten lassen, sieht unser Liniendiagramm etwas anders aus.
Aber offensichtlich machen wir mit unserer Firma jeden Tag guten Umsatz. Sogar Samstags und Sonntags!
Das Problem mit Liniendiagrammen
Am 5. April (ein Freitag) gibt es in den Umsätzen einen Datenpunkt. Am 6./7. April gibt es keine Datenpunkte, da es sich um einen Samstag bzw. Sonntag handelt. Der nächste gültige Datenpunkt ist am 8. April vorhanden. Für Power BI bedeutet das aber, dass am 6. und 7. April der Umsatz nicht “0” ist, sondern dass keine Informationen vorhanden sind. Ein großer Unterschied!
Liniendiagramme verbinden Datenpunkte, die vorhanden sind. Damit gewinnt man den Eindruck, dass am 6./7. April ebenfalls Umsatz getätigt wurde. Weil man erwartet hätte, dass die Linien auf 0 geht. Damit zeigen Liniendiagramme Ergebnisse, die nicht wahr sind, wenn die x-Achse keine “kontinuierliche Achse” ist. Kontinuierlich bedeutet, dass für jeden Punkt auf der x-Achse ein gültiger Wert auf der y-Achse existiert. Die Mitte zwischen dem 4. und 5. April ist aber beispielsweise gar nicht definiert. Genauso wenig wir die Mitte zwischen dem 6. April und dem 8. April. Trotzdem werden dort Daten dargestellt!
Eigentlich dürfte man an den Punkten auf der x-Achse nur einen Punkt auf der y-Achse darstellen. Und diese darf man nicht verbinden. Eine solche Visualisierung gibt es aber doch!
Verwendet mehr Säulendiagramme
Ich bin ein Fan von Säulen- oder Balkendiagrammen.
Kurz zur Benennung: Säulendiagramme sind die senkrechte Darstellung, Balkendiagramme die waagerechte.
Bei diesen Diagrammtypen wird nicht vorgegaukelt, man hätte zwischen zwei Elementen auf der x-Achse existierende Werte. Die Balkenhöhe visualisiert einfach den Wert für den Punkt auf der x-Achse. Unser Diagramm sieht als Säulendiagramm anders und insbesondere korrekter aus.
Ganz automatisch sieht man für den 6./7. April, dass hier kein Umsatz getätigt wurde. Und man hat auch nicht den Eindruck, dass auf der Hälfte zwischen 3. und 4. April ein Umsatz existiert.
Mein Chef will aber ein Liniendiagramm
So, damit hat der Herr Gubbels zwar Recht. Aber trotzdem will mein Chef ein Liniendiagramm. Wäre nicht so, dass wir das nicht kennen würden. Manchmal muss man es eben das Liniendiagramm sein. Dann bedienen wir uns eben verschiedener Tricks.
Als erstes brauchen wir eine Datumsdimension. Das sollte ohnehin Standard sein. Wenn du nicht weißt, was das ist, empfehle ich dir unseren Blog-Beitrag dazu. Für unser Beispiel erzeuge ich die Datumstabelle direkt in Power BI via DAX. Dazu lege ich zuerst eine neue Tabelle an.
Die Datumstabelle lasse ich ab dem 1. April 2019 bis Ende 2019 berechnen. Die Formel dazu lautet:
Mit der Funktion CALENDAR erhalten wir eine Tabelle mit einer Spalte, die mit aufsteigenden Datumswerten gefüllt ist. Die Tabelle nenne ich DimKalendar und verknüpfe sie mit der FaktUmsatz Tabelle.
In unser Liniendiagramm füge ich das Feld DimDatum[Date] in die x-Achse ein und stelle die Hierarchie wieder zurück auf Datum (siehe oben). Bis jetzt hat sich noch nichts geändert.
Measure für den Umsatz
Wenn wir weiterhin den Umsatz von Power BI addieren lassen (also ohne Measure), dann ist das Ergebnis für Samstag und Sonntag weiterhin Blank(). Und Blank() ist eben kein Datenpunkt. Anstelle von Blank() benötigen wir “0”. Abhilfe schafft ein einfaches Measure für den Umsatz:
Wir können auch aber auch ausnutzen, dass BLANK() + 0 = 0 ist:
Fügen wir jetzt anstelle des Umsatzes das neue Measure ein, ändert sich das Liniendiagramm deutlich.
Die beiden Tage 6. und 7. April werden jetzt korrekt dargestellt. Nur leider erstreckt sich die x-Achse jetzt über den kompletten Zeitraum, den die Datums-Dimension zu bieten hat.
Hier sieht man die Relevanz des Wertes BLANK. Ist ein Wert BLANK stellt ihn Power BI nicht dar (das gleiche gilt für Pivot Tabellen in Excel Power Pivot). Das neue Measure gibt aber immer mindestens 0 zurück und nie wieder BLANK. Wenn die Datumsdimension über ein paar Jahre geht, ist das Diagramm nicht sonderlich lesbar.
Relative Datumsfilter
Mit Datumsdimensionen kann man nicht nur absolut filtern (zeige mit Daten für den 4. April 2019), sondern auch relativ (zeige mir die letzten 20 Tage).
Auf diese Weise können wir den Datumsfilter einschränken auf die letzten 30 Tage inklusive und exklusive heute:
Unterstützung gefällig?
Mit Power BI und Excel Power Pivot bekommt man schnell einfache Auswertungen hin. Wenn man ein wenig mehr möchte, steigt die Lernkurve an. In Trainings schulen wir Firmen mit Power BI und Excel Power Pivot umzugehen und zeigen den Umgang mit DAX. In Workshops erarbeiten gemeinsam Reports oder übernehmen die Erstellung gleich selbst. ==> Mehr über unsere Leistungen
Interessiert? Dann gleich E-Mail schreiben oder am besten gleich zum Telefonhörer greifen.
Kommentar hinterlassen