Free Trial

Blog - Deutsch

Erkenntnisse und Ideen von den besten Analytics-Experten.
RolandSchubert
16 - Nebula
16 - Nebula

Manchmal muss man sich Zeitreihen in einen kumulierten Darstellung ansehen. Wenn wir zum Beispiel die Umsätze einzelner Kunden mit dem Vorjahr vergleichen, ist der kumulierte Wert und dessen Entwicklung oft aussagekräftiger - so führen zeitliche Verschiebungen einzelner Käufe nicht gleich zu dramatischen Abweichungen (natürlich sollte man dann auch prüfen, ob es wirklich zeitliche Verschiebungen sind ...).

 

Hier haben wir beispielsweise eine Liste mit den Bestellungen eines Kunden, die im Januar 2020 beginnt und Daten bis Anfang Mai 2022 enthält. 

 

P01.png

 

Wir wollen aus diesen Daten jetzt einen Vergleich der Jahre 2020, 2021 und 2022 ableiten, in dem wir die kumulierten Bestellmengen je Monat zeigen. 

 

Der erste Schritt ist dabei, auch dem jeweiligen Datum (z.B. 2020-06-20) das Jahr und den Monat abzuleiten. Ich benutze dazu gern das Formula Tool und die DateTime-Funktionen, aber natürlich sind auch andere Wege möglich.

 

 

P03.png

 

  Dann können die einzelnen Bestellungen, die ja auch Tagesbasis geliefert wurden, mit dem Summarize Tool nach Jahr und Monat summiert werden.

 

P04.png

 

Zur Sicherheit sortieren wir die Daten dann mit dem Sort Tool noch nach Jahr und Periode, bevor schließlich mit dem Running Total Tool  die kumulierten Werte je Jahr berechnet werden. Um die Kumulation je Jahr zu berechnen und nicht über die Jahresgrenze hinweg zu aggregieren, wird für das Jahr (Feld [Year]) ein "Group by" eingesetzt.

 

P05.png

 

Jetzt noch mit dem Cross Tab Tool die Jahre in Spalten anordnen und mit dem Interactive Chart Tool eine passende Grafik erzeugen - fertig!

 

P06.png

 

Das Ergebnis sieht dann so aus:

 

P07.png

 

Sieht doch ganz vernünftig aus, oder? Schauen wir uns das Ergebnis für einen anderen Kunden an, sieht die Grafik schon nicht mehr so gut aus:

 

P08.png

 

Erfreulich ist - der kumulierte Wert für 2021 ist im Gegensatz vom Vorjahr gestiegen. Aber die Lücken im Linienverlauf stören doch erheblich. Und für 2022 endet die Linie im März - auch nicht so schön ...

 

Nun, die Ursache ist ganz einfach: Der Kunde hat in einigen Monaten nicht bestellt, für diese Monate gibt es also keinen Wert. Und das Running Total Tool kumuliert nur über vorhandene Datensätze (= Monate). Kein Monatswert bedeutet also - kein kumulierter Wert. Und eine Lücke in der Grafik. 

 

Die Lösung ist naheliegend: Wenn nur für vorhandene Datensätze (also Monate) gerechnet/kumuliert wird, dann müssen wir eben Datensätze für die Monate erzeugen, in denen es bei dem Kunden keine Bestellung gab.

 

Und hier gibt es einen relativ simplen Trick. Wir erzeugen zunächst einmal eine Liste alle Datensätze/Monate im entsprechenden Zeitraum. Dazu brauchen wir zunächst mal den Anfang und das Ende des Zeitraums. Den finden wir mit Hilfe des Summarize Tools, das ja neben der eigentlichen Summierung zum Beispiel auch das Minimum und Maximum ermitteln kann.

 

RolandSchubert_0-1651830280063.png

 

Aus diesem "Start" und "Ende" können wir mit dem Generate Rows Tool dann die benötigte Liste erzeugen. Im konkreten Fall soll je Monat ein Eintrag erzeugt werden. Geliefert wird nun das Datum der ersten und das der letzten Bestellung. Um jetzt wirklich genau einen Eintrag je Monat zu bekommen, starten wir mit dem 1. des Monats, in dem wir die erste Bestellung finden - das erreichen wir über die DateTimeTrim-Funktion. Das Ende ist aber 1. des Monats erreicht, in dem die letzte Bestellung vorliegt (wieder mit DateTimeTrim ermittelt). Dazwischen erzeugen wir mit DateTimeAdd immer einen Datensatz je Monat.

 

RolandSchubert_1-1651830523604.png

 

Nun wird aus dem Datum (jeweils der 1. des Monats) wieder Jahr und Periode abgeleitet (wieder mit einem Formula Tool) und unsere Liste ist fertig, diesmal lückenlos.

 

RolandSchubert_2-1651830922935.png

 

Insgesamt sieht der Teil des Workflows dann so aus:

P11.png

 

Diese "Liste aller Perioden" verknüpfen wir nun mir den bereits vorhandenen Monatswerten je Bestellung über ein Join Tool. Als Join Fields nutzen wir Jahr und Monat, im Anschluß werden dann noch die Monate, für die es keine Bestellung gibt (unser Problem von vorhin) über ein Union Tool wieder hinzugefügt.

 

 

 

Jetzt haben wir für jeden Monat einen Datensatz!

 

P13.png

 

Die Monate, in denen der Kunde nicht bestellt hat, haben natürlich NULL-Werte in der Bestellmengen-Spalte.

 

Nun kann es weitergehen wie oben bereits gezeigt - und diesmal gibt es keine Lücke in der Grafik.

 

RolandSchubert_1-1651833468668.png

 

Auf Lücken muss man also achten, wenn es um YTD-Zeitreihen mit Alteryx geht - aber wir wissen ja jetzt, wie sie geschlossen werden können.

 

 

 

 

Weitere Tipps Tuesday Beiträge

 

Dieser Eintrag ist Teil der Tipps Tuesday-Serie, alle Einträge dieser Serie findest du in unserem Index aufgelistet.

Beschriftungen
Beiträge mit den meisten Kudos