Auffinden des zweiten Datums mit Tableau Prep

In Analysen muss häufig das Datum für das zweite Ereignis bestimmt werden, beispielsweise, wann ein Kunde zum zweiten Mal eingekauft hat und dadurch zum Wiederholkunden wurde, oder wann ein Fahrer zum zweiten Mal gegen die Verkehrsregeln verstoßen hat. Das Datum des ersten Ereignisses ist schnell gefunden. Es ist ganz einfach das früheste Datum. Die Suche nach dem zweiten Datum gestaltet sich weitaus schwieriger.

In diesem zweiteiligen Tutorial werden Daten zu Verstößen gegen die Verkehrsregeln zur Beantwortung folgender Fragen aufbereitet:

  1. Wie lang war die Zeitspanne in Tagen zwischen dem ersten und zweiten Verstoß für die einzelnen Fahrer?

  2. Vergleichen Sie die Bußgelder für die ersten und zweiten Verstöße. Besteht zwischen den Beträgen eine Korrelation?

  3. Welcher Fahrer hat insgesamt am meisten bezahlt? Wer hat am wenigsten bezahlt?

  4. Wie viele Fahrer haben mehrere Verstöße begangen?

  5. Wie hoch war das durchschnittliche Bußgeld für Fahrer, die nie die Verkehrsschule besucht haben?

In der ersten Phase verwenden wir Tableau Prep Builder, um die Daten für die Analyse umzustrukturieren. In der zweiten Phase, Analyse mit dem zweiten Datum in Tableau Desktop, setzen wir das Tutorial mit der Analyse in Tableau Desktop fort.

Das Ziel dieses Tutorials besteht darin, verschiedene Konzepte im Kontext eines realen Szenarios vorzustellen und die unterschiedlichen Möglichkeiten durchzuspielen. Es geht nicht darum, die beste Möglichkeit festzustellen. Am Ende des Tutorials sollten Sie ein besseres Verständnis für die Auswirkungen der Datenstruktur auf die Berechnung und Analyse haben und besser mit den verschiedenen Aspekten von Tableau Prep und den Berechnungen in Tableau Desktop vertraut sein.

Hinweis: Für die Bearbeitung der Aufgaben in diesem Tutorial benötigen Sie Tableau Prep Builder (Installation oder Nutzung via Browser) und die Daten müssen heruntergeladen werden. Für den zweiten Teil muss zudem Tableau Desktop installiert sein.

Der Name des Datensatzes lautet Traffic Violations.xlsx. Es wird empfohlen, den Datensatz im Ordner "Eigenes Tableau Prep-Repository" > "Datenquellen" zu speichern.

Bevor Sie mit diesem Tutorial fortfahren, schlagen Sie im Tableau Desktop- und Tableau Prep-Bereitstellungshandbuch(Link wird in neuem Fenster geöffnet) Informationen zum Installieren von Tableau Prep Builder und Tableau Desktop nach. Andernfalls können Sie die kostenlosen Testversionen von Tableau Prep(Link wird in neuem Fenster geöffnet) und Tableau Desktop(Link wird in neuem Fenster geöffnet) herunterladen.

Die Daten

In diesem Beispiel betrachten wir Daten zu Verstößen gegen die Verkehrsregeln. Jeder Verstoß ist in einer separaten Zeile aufgeführt. Der Fahrer, das Datum, die Art des Verstoßes, ob der Fahrer an einer Verkehrsschulung teilnehmen musste und die Höhe des Bußgelds sind vermerkt.

Vorschau des "Traffic Violations"-Datensatzes

Gewünschte Datenstruktur

Die Daten sind zurzeit so strukturiert, dass sich jeder Verstoß in einer Zeile befindet. Ein Fahrer mit mehreren Verstößen ist in mehreren Zeilen enthalten. Es gibt keine einfache Möglichkeit, um festzustellen, welcher der erste und welcher der zweite Verstoß war.

Um die Fahrer mit wiederholten Verstößen zu untersuchen, benötigen wir einen Datensatz, der getrennte Datumsangaben für den ersten und den zweiten Verstoß sowie die mit diesen Verstößen verbundenen Informationen enthält und in dem jede Zeile einem Fahrer entspricht.

Vorschau der gewünschten Datenstruktur

Umstrukturieren der Daten

Wie können wir das mit Tableau Prep erreichen? Wir erstellen das Schema in mehreren Phasen und beginnen, indem wir das Datum des ersten Verstoßes extrahieren, dann das Datum des zweiten Verstoßes und zum Schluss den endgültigen Datensatz wie gewünscht formen. Vergewissern Sie sich, dass Sie die Excel-Datei (Traffic Violations.xlsx) heruntergeladen haben, um die Schritte nachvollziehen zu können.

Anfängliche Aggregation für das Datum des ersten Verstoßes

Zunächst stellen wir eine Verbindung zur Datei Traffic Violations.xlsx her.

  1. Öffnen Sie Tableau Prep Builder.

  2. Klicken Sie auf dem Startbildschirm auf Verbindung zu Daten herstellen.

  3. Klicken Sie im Bereich Verbindungen auf Microsoft Excel. Navigieren Sie zu dem Ordner, in dem Sie Traffic Violations.xlsx gespeichert haben, und klicken Sie auf Öffnen.

  4. Das Blatt Infractions (Verstöße) sollte automatisch im Bereich Schema angezeigt werden.

  5. Weitere Informationen zum Herstellen einer Verbindung zu Daten finden Sie unter Herstellen einer Verbindung zu Daten.

Als Nächstes müssen wir das Datum des ersten Verstoßes für jeden Fahrer ermitteln. Dazu verwenden wir einen Aggregierungsschritt, um einen Teildatensatz zu erstellen, der nur Driver ID (Fahrer-ID) und Minimum Infraction Date (Minimales Verstoßdatum) enthält.

Wenn Sie in Tableau Prep einen Aggregierungsschritt verwenden, wird jedes Feld mit Daten, die sich in den Zeilen befinden sollen, als Gruppiertes Feld bezeichnet. (In unserem Fall ist dies das Feld Driver ID.) Jedes Feld, das aggregiert und auf der Ebene der gruppierten Felder angezeigt wird, wird als aggregiertes Feld bezeichnet. (In unserem Fall ist dies das Feld Infraction Date (Verstoßdatum)).

  1. Wählen Sie im Bereich Schema den Eintrag Verstöße aus, klicken Sie auf das Pluszeichen () und wählen Sie Aggregieren aus.

  2. Ziehen Sie Driver ID in den Bereich Gruppierte Felder.

  3. Ziehen Sie Infraction Date in den Bereich Aggregierte Felder. Die Standardaggregation lautet ANZ (Anzahl). Klicken Sie auf ANZ und ändern Sie die Aggregation in Minimum.

    Der Konfigurationsbereich des Aggregatschritts mit dem korrekten Layout der Felder

    So stellen Sie den kleinsten (frühesten) Datumswert fest, d. h. das Datum des ersten Verstoßes für jeden Fahrer.

Weitere Informationen über Aggregationen finden Sie unter Bereinigen und Formen von Daten.

  1. Wählen Sie im Bereich "Schema" den Eintrag Aggregieren 1 aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus, um die Ausgabe der Aggregation aufzubereiten.

  2. Doppelklicken Sie im Bereich Profil auf den Feldnamen Infraction Date und ändern Sie ihn in 1st Infraction Date (Erstes Verstoßdatum).

In dieser Phase sollten der Schema- und der Profilbereich wie folgt aussehen:

Visualisierung des Schemas mit drei Schritten

Im Bereich "Profil" dieses Aufbereitungsschritts sehen wir, dass die Daten nun aus 39 Zeilen und nur 2 Feldern bestehen. Jedes Feld, das nicht zur Gruppierung oder Aggregation verwendet wird, geht verloren. Wir möchten jedoch einige der ursprünglichen Informationen behalten. Wir können diese Felder der Gruppierung oder Aggregation hinzufügen (dadurch ändert sich jedoch die Detailgenauigkeit oder die Felder müssen aggregiert werden) oder den Teildatensatz wieder mit dem ursprünglichen Datensatz verknüpfen (und dadurch den ursprünglichen Daten die neue Spalte 1st Infraction Date hinzufügen). Nehmen wir die Verknüpfung vor.

  1. Wählen Sie im Bereich "Schema" den Eintrag Verstöße aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus.

    Stellen Sie sicher, dass Sie den Mauszeiger direkt über den Schritt "Verstöße" und nicht über die Linie zwischen ihm und dem Aggregationsschritt bewegen. Wenn der neue Schritt "Bereinigen" zwischen den beiden und nicht als Verzweigung eingefügt wird, verwenden Sie den Pfeil "Rückgängig" in der Symbolleiste, und versuchen Sie es erneut. Das Menü sollte Hinzufügen und nicht Einfügen lauten.

Dadurch wird Ihr Schema mit allen Originaldaten verzweigt. Wir verknüpfen die Ergebnisse der Aggregation mit dieser Kopie der vollständigen Daten. Durch die Verknüpfung im Feld Driver ID fügen wir das minimale Datum aus unserer Aggregation den ursprünglichen Daten hinzu.

  1. Wählen Sie den Schritt Aufbereiten 2 aus, ziehen Sie ihn auf Schritt Aufbereiten 1 und legen Sie ihn auf Verknüpfen ab.

  2. Die Standard-Verknüpfungskonfiguration sollte korrekt sein: eine innere Verknüpfung für Driver ID = Driver ID.

  3. Weitere Informationen zu Verknüpfungen finden Sie unter Verknüpfen von Daten.

Da einige Felder bei einer Verknüpfung dupliziert werden können, beispielsweise die Felder in der Join-Klausel, ist es oftmals empfehlenswert, irrelevante Felder nach einer Verknüpfung zu entfernen.

  1. Wählen Sie im Bereich "Schema" den Eintrag Verknüpfen 1 aus, klicken Sie auf das Pluszeichen und wählen Sie Bereinigungsschritt aus.

  2. Klicken Sie im Bereich "Profil" mit der rechten Maustaste oder Ctrl (macOS) auf die Karte für Treiber-ID-1 und wählen Sie Entfernen aus.

  3. Um die Reihenfolge der Felder zu ändern, ziehen Sie die Karte 1st Infraction Date zwischen Driver ID und Infraction Date an die Stelle, an der die schwarze Linie eingeblendet wird.

In dieser Phase sollte das Schema aussehen wie folgt:

Visualisierung des Schemas mit sechs Schritten

Im Datenraster unten sehen wir unseren neuen kombinierten Datensatz. In jeder Zeile des Datensatzes wurde das minimale Datum, d. h. das erste Datum des ersten Verstoßes, für jeden Fahrer hinzugefügt.

Vorschau der Daten mit dem Feld für das Datum des ersten Verstoßes

Zweite Aggregation für das Datum des zweiten Verstoßes

Außerdem müssen wir das Datum für den zweiten Verstoß bestimmen. Dazu filtern wir alle Zeilen heraus, in denen das Datum des Verstoßes dem minimalen Datum entspricht, d. h., wir entfernen alle Zeilen mit dem ersten Datum. Dann können wir in einem weiteren Aggregierungsschritt das Minimum der verbleibenden Datumswerte und somit das Datum des zweiten Verstoßes bestimmen, den wir umbenennen, um den Überblick zu behalten.

Hinweis: Da wir die Daten im derzeitigen Zustand in Aufbereiten 3 später im Schema verwenden möchten, fügen wir einen weiteren Schritt vom Typ Aufbereiten hinzu, um das Datum für den zweiten Verstoß zu erhalten. Dadurch bleibt der aktuelle Status der Daten unter "Aufbereiten 3" später verfügbar.

  1. Wählen Sie im Bereich "Schema" den Eintrag Aufbereiten 3 aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus.

  2. Wählen Sie in der Symbolleiste im Bereich "Profil" die Option Werte filtern aus. Erstellen Sie den Filter [Infraction Date] != [1st Infraction Date].

  3. Entfernen Sie das Feld 1st Infraction Date.

  4. Wählen Sie im Bereich "Schema" den Eintrag Aufbereiten 4 aus, klicken Sie auf das Pluszeichen () und wählen Sie Aggregieren aus.

  5. Ziehen Sie Driver ID in den Bereich Gruppierte Felder. Ziehen Sie Infraction Date in den Bereich Aggregierte Felder und ändern Sie die Aggregation in Minimum.

  6. Wählen Sie im Bereich "Schema" den Eintrag Aggregieren 2 aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus. Benennen Sie Infraction Date in 2nd Infraction Date um.

In dieser Phase sollte das Schema aussehen wie folgt:

Ansicht des Schemas mit neun Schritten

Jetzt haben wir das Datum des zweiten Verstoßes für jeden Fahrer ermittelt. Um alle anderen mit den einzelnen Verstößen verbundenen Informationen (Art, Bußgeld, Verkehrsschulung) wieder in den Datensatz einzubinden, müssen wir diesen Teildatensatz wieder mit dem gesamten Datensatz verknüpfen.

  1. Wählen Sie den Schritt Aufbereiten 5 aus, ziehen Sie ihn auf Aufbereiten 3 und legen Sie ihn auf Verknüpfen ab.

  2. Die Standard-Verknüpfungskonfiguration sollte wieder korrekt sein: eine innere Verknüpfung für Driver ID = Driver ID.

  3. Wählen Sie im Bereich Schema den Eintrag Verknüpfen 2 aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus. Löschen Sie die Felder Driver ID-1 und 1st Infraction Date, da sie nicht mehr benötigt werden.

In dieser Phase sollte das Schema aussehen wie folgt:

Ansicht des Schemas mit elf Schritten

Erstellen von vollständigen Datensätzen für den ersten und zweiten Verstoß

Bevor wir fortfahren, sollten wir überlegen, welche Daten wir haben und wie wir diese Daten zusammenführen möchten. Unser Ziel ist ein Datensatz, der folgendermaßen aussieht und eine Spalte für Driver ID sowie Spalten für Datum, Art des Verstoßes, Verkehrsschule und das Bußgeld für den ersten und zweiten Verstoß enthält.

Vorschau der gewünschten Datenstruktur

Wie können wir dies mit den vorhandenen Daten erreichen?

Im Schritt Aufbereiten 3 haben wir einen vollständigen Datensatz mit einer Spalte erzeugt, in der das Datum für den ersten Verstoß pro Fahrer wiederholt wird.

Datenrasteransicht von Schritt "Clean 3"

Wir möchten alle Zeilen für einen Fahrer entfernen, die sich nicht auf den ersten Verstoß beziehen, und somit einen Datensatz erstellen, der nur die ersten Verstöße enthält. Wir möchten also nur die Informationen für den jeweiligen Fahrer beibehalten, wenn 1st Infraction Date = Infraction Date. Sobald wir den Filter so eingestellt haben, dass nur die Zeile mit dem ersten Verstoß beibehalten wird, können wir das Feld Infraction Date entfernen und die Feldnamen bereinigen.

Ähnlich haben wir mit der zweiten Aggregation und Verknüpfung einen vollständigen Datensatz erzeugt, der eine Spalte für das Datum des zweiten Verstoßes enthält.

Datenrasteransicht von Schritt "Clean 6"

Wir können einen ähnlichen Filter für 2nd Infraction Date = Infraction Date anwenden, um nur die Zeile mit den Informationen für den zweiten Verstoß jedes Fahrers beizubehalten. Auch hier können wir das jetzt redundante Infraction Date entfernen und die Feldnamen bereinigen.

Wir beginnen mit dem Datensatz für den ersten Verstoß.

  1. Wählen Sie im Bereich "Schema" den Eintrag Aufbereiten 3 aus, klicken Sie auf das Pluszeichen () und wählen Sie Bereinigungsschritt aus.

    Wie zuvor in Schritt 10 möchten wir einen Zweig für den neuen Aufbereitungsschritt hinzufügen und ihn nicht zwischen "Aufbereiten 3" und "Aufbereiten 4" einfügen.

  2. Nachdem Sie diesen neuen Aufbereitungsschritt ausgewählt haben, klicken Sie im Bereich Profil in der Symbolleiste auf Werte filtern. Erstellen Sie den Filter [1st Infraction Date] = [Infraction Date].

  3. Entfernen Sie das Feld Infraction Date.

  4. Benennen Sie die Felder Infraction Type, Traffic School, und Fine Amount um, sodass sie mit "1st" beginnen.

  5. Doppelklicken Sie auf den Namen Aufbereiten 7 unter dem Schritt im Bereich Schema und benennen Sie ihn in Robust 1st um.

Bearbeiten wir nun den zweiten Datensatz mit Verstößen.

  1. Wählen Sie im Bereich "Schema" den Eintrag Aufbereiten 6 nach der letzten Verknüpfung aus.

  2. Klicken Sie in der Symbolleiste auf Werte filtern. Erstellen Sie den Filter [2nd Infraction Date] = [Infraction Date].

  3. Entfernen Sie das Feld Infraction Date.

  4. Benennen Sie die Felder Infraction Type, Traffic School, und Fine Amount um, sodass sie mit "2nd" beginnen.

  5. Doppelklicken Sie auf den Namen Aufbereiten 6 unter dem Schritt im Bereich "Schema" und benennen Sie ihn in Robust 2nd um.

In dieser Phase sollte das Schema aussehen wie folgt:

Ansicht des Schemabereichs mit 12 Schritten

Erstellen des vollständigen Datensatzes

Da wir jetzt zwei bereinigte Datensätze mit kompletten Informationen für den ersten und zweiten Verstoß jedes Fahrers besitzen, können wir die beiden Datensätze im Feld Driver ID verknüpfen und so die gewünschte Datenstruktur erzeugen.

  1. Wählen Sie Robust 2nd aus, ziehen Sie ihn auf Robust 1st und legen Sie ihn auf Verknüpfen ab.

  2. Die Standardverknüpfungsklausel sollte korrekt sein: Driver ID = Driver ID.

  3. Da wir die Fahrer ohne zweiten Verstoß nicht verlieren möchten, benötigen wir eine Linksverknüpfung. Klicken Sie im Bereich Verknüpfungstyp auf den nicht schattierten Bereich des Diagramms neben Robust 1st, um den Verknüpfungstyp in eine Linksverknüpfung zu ändern.

  4. Wählen Sie im Bereich "Schema" den Eintrag Verknüpfen 3 aus, klicken Sie auf das Pluszeichen und wählen Sie Bereinigungsschritt aus. Entfernen Sie das doppelte Feld Driver ID-1.

Die Daten befinden sich in dem gewünschten Zustand, sodass wir eine Ausgabe erstellen und mit der Analyse fortfahren können.

  1. Wählen Sie im Bereich "Schema" den neu hinzugefügten Eintrag Aufbereiten 6 aus, klicken Sie auf das Pluszeichen () und wählen Sie Ausgabe hinzufügen aus.

  2. Ändern Sie im Bereich Ausgabe den Ausgabetyp in ".csv" und klicken Sie auf Durchsuchen. Geben Sie Driver Infractions (Fahrerverstöße) als Namen ein und wählen Sie den gewünschten Speicherort aus, bevor Sie zum Speichern auf Annehmen klicken.

  3. Klicken Sie auf die Schaltfläche Schema ausführen unten im Bereich, um die Ausgabe zu generieren. Klicken Sie im Statusdialogfeld zum Schließen auf Fertig.

Tipp: Weitere Informationen über Ausgaben und das Ausführen eines Schemas finden Sie unter Speichern und Freigeben Ihrer Arbeit.

Das endgültige Schema sollte aussehen wie folgt:

Abschließende Ansicht des kompletten Schemas

Hinweis: Sie können die abgeschlossene Schemadatei herunterladen, um Ihre Arbeit zu überprüfen: Driver Infractions.tflx

Zusammenfassung

In der ersten Phase dieses Tutorials bestand das Ziel darin, den ursprünglichen Datensatz zur Analyse der Datumswerte für den ersten und zweiten Verstoß vorzubereiten. Der Prozess besteht aus drei Phasen: 

Identifizieren der Datumswerte für den ersten und zweiten Verstoß:

  1. Dazu erstellen Sie eine Aggregation, die Driver ID und das Minimum für Infraction Date enthält. Die Aggregation wird mit dem ursprünglichen Datensatz verknüpft, um einen temporären Datensatz zu erstellen, in dem das Datum für den ersten Verstoß (Minimum) für jede Zeile wiederholt wird.

  2. In einem neuen Schritt werden alle Zeilen herausgefiltert, für die 1st Infraction Date gleich Infraction Date ist. Aus dem gefilterten Datensatz wird eine Aggregation erstellt, die Driver ID und das Minimum von Infraction Date enthält. Verknüpfen Sie diese Aggregation mit dem temporären Datensatz aus dem ersten Schritt. Dadurch wird das Datum für den zweiten Verstoß ermittelt.

Erstellen der aufbereiteten Datensätze für die ersten und zweiten Verstöße:

  1. Kehren Sie zum temporären Datensatz zurück und erstellen Sie eine Verzweigung, um die Daten zu filtern und nur diejenigen beizubehalten, in denen 1st Infraction Date gleich Infraction Date ist. Dadurch wird ein Datensatz erstellt, der nur den ersten Verstoß enthält. Bereinigen Sie ihn, indem Sie nicht benötigte Felder entfernen, und benennen Sie alle gewünschten Felder um (mit Ausnahme von Driver ID), um anzugeben, dass sie sich auf den ersten Verstoß beziehen. Dadurch haben Sie den Datensatz Robust 1st erstellt.

  2. Bereinigen Sie den Datensatz für das Datum des zweiten Verstoßes. Bereiten Sie die Verknüpfungsergebnisse aus Schritt 2 auf, indem Sie sie filtern und nur die Zeilen beibehalten, in denen 2nd Infraction Date gleich Infraction Date ist. Entfernen Sie nicht benötigte Felder und benennen Sie alle gewünschten Felder um (mit Ausnahme von Driver ID), um anzugeben, dass sie sich auf den zweiten Verstoß beziehen. Dadurch haben Sie den Datensatz Robust 2nd erstellt.

Kombinieren der Daten für den ersten und zweiten Verstoß zu einem Datensatz:

  1. Verknüpfen Sie die Datensätze Robust 1st und Robust 2nd und stellen Sie sicher, dass alle Datensätze aus Robust 1st beibehalten werden, um keine Fahrer ohne zweiten Verstoß zu verlieren.

Als Nächstes möchten wir erkunden, wie diese Daten in Tableau Desktop analysiert werden können.

Fahren Sie mit Analyse mit dem zweiten Datum in Tableau Desktop fort.

Hinweis: Besonderer Dank geht an Ann Jackson, die in ihrem Blog "Workout Wednesday" der Frage Do Customers Spend More on Their First or Second Purchase?(Link wird in neuem Fenster geöffnet) (Geben Kunden beim ersten oder zweiten Einkauf mehr Geld aus?) nachgeht, und Andy Kriebel für den Tableau Prep-Tipp Returning the First and Second Purchase Dates(Link wird in neuem Fenster geöffnet) (Zurückgeben des Datums für den ersten und zweiten Kauf), auf denen die ursprüngliche Idee für dieses Tutorial beruht. Durch Klicken auf diese Links verlassen Sie die Tableau-Website. Tableau kann keine Verantwortung für die Richtigkeit oder Aktualität der von externen Anbietern unterhaltenen Seiten übernehmen. Bei Fragen zu den Inhalten wenden Sie sich direkt an den Besitzer der Website.

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.