2017-10-31 2 views
1

Ich habe ein Diagramm, das die Anzahl der Abfahrten für ein gegebenes 15-Minuten-Intervall zeigt, wie hier zu sehen ist.Tableau: Grafisch zusammengesetzte Leadzeiten anzeigen

enter image description here

Ich brauche diese zählt rückwärts für eine Stunde in die Verbindung. Zum Beispiel müssen die 3 Abfahrten um 11:00 Uhr auch in den Spalten 10:00, 10:15, 10:30 und 10:45 dargestellt werden. Nach Abschluss hätte die 10:00 Uhr insgesamt 6 Abfahrten (10:15 -> 6, 10:30 -> 5, 10:45 -> 4, 11:00 -> 4).

Ich habe dies über VBA in Excel gemacht, aber jetzt muss ich das Diagramm in Tableau replizieren und habe seit ungefähr zwei Wochen meinen Kopf in den Kopf geschlagen. Ich würde gerne alle Vorschläge hören.

+0

Was Sie in Tableau weit so versucht haben? – tyvich

+0

Ich würde empfehlen, Ihre Daten erneut zu erfassen, bevor Sie sie in Tableau importieren.Tableau ist sehr gut darin, Datenpunkte zu visualisieren, die Sie haben, aber es klingt, als wollten Sie im Wesentlichen neue Zeilen erstellen, nicht Spalten (was einfach gemacht werden kann). Sie sollten in der Lage sein, weitere 4 Sätze von Datensätzen zu verbinden, um jede zusätzliche Zeit darzustellen, die angezeigt werden soll. – tyvich

+0

Das Problem besteht darin, dass Excel nicht mit der Anzahl der Zeilen umgehen kann, die zum Erstellen dieser Daten über den gesamten Zeitplan erforderlich sind. Mein VBA-Code erstellt dies pro angezeigte Station, so dass die Anzahl der Zeilen irrelevant ist. Ich habe versucht, die angepassten Datums-/Zeitstempel in den Stammdaten zu erstellen, aber sie ist immer noch an das ursprüngliche Datum gebunden. Ich wünschte, Tableau würde einen generischen Datumsbereich zulassen, der nicht aus Root-Daten besteht. Dann könnte ich tatsächlich schaffen, was ich brauche. –

Antwort

1

Hier ist eine weitere Lösung aus dem Tableau Cumunity Forum. Ich habe tyvichs Lösung noch nicht ausprobiert, aber ich weiß, dass diese mich dahin gebracht hat, wo ich gebraucht habe. Bitte folgen Sie dem Link, um die Lösung mithilfe von Berechnungen mit beweglichen Tabellen anzuzeigen.

https://community.tableau.com/thread/251154

1

Sie können einen kartesischen Join mit einem genügend großen Datumsbereich Ihrer Wahl verwenden, um Ihre Daten zu resampeln und die zusätzlichen Zeitintervalle hinzuzufügen, die Sie wünschen.

Wenn Sie beispielsweise Daten für einen Monat haben (Mindestdatum -> Höchstdatum = 30 Tage), dann haben Sie (30 * 24 * 4) 2880 15-Minuten-Intervalle.

  1. erstellen alle diese Intervalle in einem separaten Datenblatt
  2. für alle Zeilen eine falsche Spalte mit dem Wert von Link hinzufügen
  3. Erstellen Sie die gleiche falsche in Ihrer aktuellen Datenquelle
  4. die beiden Blätter Join zusammen auf der Link Spalte
  5. erstellen Sie ein berechnetes Feld, das etwas entlang der folgenden ist:

[Interval] <= [Flight Time] AND [Interval] >= DATEADD('hour',-1,[Flight Time]) 

Dieses berechnete Feld wird als TRUE ausgewertet, wenn die Intervallzeit innerhalb einer Stunde vor der Flugzeit liegt. Sie können dieses Feld dann auf Ihr Filterregal ziehen und nur WAHR wählen. Effektiv wird das Feld [Intervall] zu Ihrem neuen Datumsfeld.

Ich würde empfehlen, diesen Filter zum Kontext hinzufügen und über die gesamte Datenquelle anwenden. Bevor Sie diesen Filter hinzufügen, haben Sie 2880-mal so viele Daten, also sollten Sie zuerst eine Live-Ansicht machen. Seien Sie vorsichtig bei Auszügen, die kartesische Joins verwenden, da Sie möglicherweise mehr extrahieren, als Sie erwartet haben.

Siehe die folgenden Links für verschiedene Techniken, wie Sie dies tun und Daten im Allgemeinen in Tableau neu bemustern. https://community.tableau.com/thread/151387

Je nach Größe Ihrer Daten (und wenn eine Live-Ansicht nicht notwendig ist), ist es oft einfacher und effizienter, diese Art von Vorverarbeitung zu tun außerhalb des Tableaus in SQL oder etwas wie Pandas Bibliothek Python .

+0

Danke. Ich werde das versuchen und berichten. –

Verwandte Themen