KNOWLEDGE BASE

Berechnen einer eindeutigen aktuellen oder veränderlichen Anzahl


Veröffentlicht: 07 Nov 2015
Zuletzt geändert am: 20 Jul 2023

Frage

So berechnen Sie eine aktuelle oder veränderliche eindeutige Anzahl einer Dimension.

Dabei kann es sich beispielsweise um die aktuelle Summe eindeutiger Kunden handeln, die während des gesamten Zeitverlaufs eine Bestellung aufgegeben haben, oder aber um eine veränderliche Summe eindeutiger Kunden, die innerhalb eines Zeitfensters eine Bestellung getätigt haben, beispielsweise in den letzten drei Wochen.

Umgebung

Tableau Desktop

Antwort

In der beigefügten Beispielarbeitsmappe werden die folgenden Anweisungen anhand des Beispieldatensatzes "Superstore" demonstriert.
ZUM ERWEITERN DER SCHRITTE KLICKEN
Option 1: Identifizieren der aktuellen eindeutigen Anzahl mithilfe von FIXED
Hinweis: Diese Methode kann nicht zum Identifizieren einer veränderlichen eindeutigen Anzahl verwendet werden.
  1. Wählen Sie Analyse > Berechnetes Feld erstellen aus.
  2. Daraufhin öffnet sich das Dialogfeld "Berechnetes Feld". Gehen Sie dort wie folgt vor und klicken Sie dann auf OK:
    1. Benennen Sie das berechnete Feld. In diesem Beispiel heißt das berechnete Feld "Erster Auftrag des Kunden".
    2. Erstellen Sie im Formelfeld eine Berechnung ähnlich der folgenden:
      { FIXED [Customer Name], [Order Date] : MIN(
      IF [Order Date] = { EXCLUDE [Order Date] : MIN([Order Date])}
      THEN 1
      ELSE 0
      END
      ) }
      
  3. Erstellen Sie ein berechnetes Feld mit einem Namen wie "Exakter aktueller COUNTD-Wert von Kunden" und einer Berechnung ähnlich der folgenden:
    RUNNING_SUM(SUM([Count Customer's 1st Order]))
  4. Klicken Sie mit der rechten Maustaste, und ziehen Sie das [Bestelldatum] in die Ansicht.
  5. Wählen Sie im Dialogfeld "Feld ablegen" über das grüne Kalendersymbol den Eintrag WEEK(Bestelldatum) aus.
  6. Ziehen Sie [Exakter aktueller COUNTD-Wert von Kunden] in den Container "Zeilen".
ZUM ERWEITERN DER SCHRITTE KLICKEN
Option 2: Suchen Sie mithilfe von Tabellenfunktionen nach der veränderlichen eindeutigen Anzahl.
Hinweis: Diese Lösung führt wahrscheinlich zu Leistungsproblemen, da die finale Ansicht alle Dimensionen enthalten muss, die zum Berechnen der Tabellenberechnung benötigt werden.
Schritt 1: Erstellen von 3 berechneten Feldern
  1. Wählen Sie Analyse > Berechnetes Feld erstellen aus.
    1. Gehen Sie im sich öffnenden Dialogfeld "Berechnetes Feld" wie folgt vor und klicken Sie dann auf "OK":
    2. Benennen Sie das berechnete Feld. In diesem Beispiel heißt das berechnete Feld "Alle dreiwöchigen Zeitfenster, in denen der Kunde enthalten ist".
    3. Erstellen Sie im Formelfeld eine Berechnung ähnlich der folgenden:
      	WINDOW_MAX( MAX(1), -2, 0 )
    • Tableau-Berechnungen sind stark von der Ansicht abhängig. Ohne Kontext der Ansicht gibt die Berechnung zuerst den Wert 1 für jede Markierung (z. B. Zeile, Punkt, Balken usw.) in der Ansicht zurück. Anschließend gibt sie die maximale Anzahl dieser Einsen von den beiden Markierungen vor dieser Markierung zurück.
    • In diesem Beispiel enthält die finale Ansicht eine Markierung für jede Woche und für jeden Kunden. Vor diesem Hintergrund gibt die Berechnung also den Wert 1 zurück, wenn der Kunde in dieser Woche oder in den beiden Vorwochen eine Bestellung aufgegeben hat.Wenn bei einem Kunden in jeder Woche eine Bestellung vorlag, gibt diese Berechnung dennoch nur den Wert 1 zurück, weil wir WINDOW_MAX() anstelle von WINDOW_SUM() verwenden.
    • Bei dieser Berechnung wird für die einzelnen Kunden nur eine 1 oder 0 zurückgegeben. Daher müssen wir diese Berechnung in einer WINDOW_SUM()-Funktion verschachteln, um alle Einsen für alle Kunden zu summieren. Diese Berechnungen müssen in separaten berechneten Feldern vorgenommen werden, sodass wir die verschiedenen Berechnungen durch die Tabellenfunktionen festlegen können.
  2. Erstellen Sie ein berechnetes Feld mit einem Namen wie "Veränderliche Anzahl von Kunden für alle 3 Wochen" und einer Berechnung ähnlich der folgenden:
    WINDOW_SUM([Every 3 Week Period a Customer is In])
  3. Erstellen Sie ein berechnetes Feld mit einem Namen wie "Erster Filter" mit einer Berechnung ähnlich der folgenden:
    FIRST() = 0
Schritt 2: Erstellen der Ansicht
  1. Klicken Sie mit der rechten Maustaste und ziehen Sie das [Bestelldatum] auf den Container Spalten.
  2. Wählen Sie im Dialogfeld "Feld ablegen" über das grüne Kalendersymbol den Eintrag WEEK(Bestelldatum) aus.
    1. Klicken Sie im Container "Spalten" mit der rechten Maustaste auf WEEK(Bestelldatum), und wählen Sie Diskret aus.
    2. Das Datumsfeld muss diskret sein. Andernfalls wird das Liniendiagramm nach [Kundenname] aufgeschlüsselt.
  3. Ziehen Sie das Feld [Kundenname] auf der Karte "Markierungen" zu Detail.
    • Das Feld [Kundenname] muss sich in der Ansicht befinden, damit die Tabellenberechnungen korrekt durchgeführt werden. Später werden wir die Ansicht filtern, sodass sie nur eine Zeile enthält.
  4. Ziehen Sie [Veränderliche Anzahl von Kunden für alle 3 Wochen] in den Container Zeilen.
Schritt 3: Bearbeiten von Tabellenberechnungen
  1. Klicken Sie im Container "Zeilen" mit der rechten Maustaste auf [Veränderliche Anzahl von Kunden für alle 3 Wochen], und wählen Sie Tabellenberechnung bearbeiten … aus.
  2. Führen Sie im Dialogfeld "Tabellenberechnung" folgende Schritte aus, und schließen Sie das Dialogfeld:
    1. Wählen Sie unter Verschachtelte Berechnungen den Eintrag "Alle dreiwöchigen Zeiträume, in denen der Kunde enthalten ist" aus.
    2. Wählen Sie unter Berechnen per die Option "Bestimmte Dimensionen" aus. 
    3. Aktivieren Sie in der Liste der Dimensionen nur "Woche des Bestelldatums".
    4. Wählen Sie unter Verschachtelte Berechnungen den Eintrag "Veränderliche Anzahl Kunden für alle 3 Wochen" aus.
    5. Wählen Sie unter Berechnen per die Option "Bestimmte Dimensionen" aus. 
    6. Aktivieren Sie in der Liste der Dimensionen nur "Kundenname".
      • Für [Alle dreiwöchigen Zeiträume, in denen der Kunde enthalten ist] soll Tableau Desktop alle dreiwöchigen Zeiträume pro Kunde zählen, in denen ein Kunde enthalten ist.Anders ausgedrückt soll Table Desktop die Wochen für die einzelnen Kunden zählen. Beim Aktivieren einer Dimension wird die Tabellenberechnung für alle Werte der Dimension ausgeführt.Wenn Sie eine Dimension deaktivieren, startet Tableau Desktop die Berechnung immer für alle Werte der jeweiligen Dimension.
      • Gleichermaßen soll [Veränderliche Anzahl Kunden für alle 3 Wochen] alle Kunden in den einzelnen Wochen summieren.
  3. Ziehen Sie [Erster Filter] in den Container "Filter", und klicken Sie auf OK, um das Dialogfeld "Filter" zu schließen.
  4. Klicken Sie im Container "Filter" mit der rechten Maustaste auf [Erster Filter], und wählen Sie Berechnen per > Kundenname aus.
  5. Wählen Sie im Dialogfeld "Filter" die Option Wahr aus, und klicken Sie auf OK.

Zusätzliche Informationen

Hinweise zu Option 1:
  • Diese Berechnung zählt jeden Kunden einmal, wenn dieser erstmalig im Datensatz angezeigt wird. Demnach kann diese Methode nicht zum Identifizieren einer veränderlichen eindeutigen Anzahl verwendet werden, weil der FIXED-Ausdruck das erste Bestelldatum für einen veränderlichen Zeitraum nicht finden kann.
  • Die Berechnung in Schritt 2 geht wie folgt vor:
    • Zunächst identifiziert der Ausdruck { EXCLUDE [Bestelldatum] : MIN([Bestelldatum])} das erste Bestelldatum pro Kunde. Normalerweise wird der Ausdruck { FIXED [Kundenname] : MIN([Bestelldatum])} zum Suchen der ersten Bestellung verwendet. Der Umfang des EXCLUDE-Ausdrucks wird jedoch durch die äußere FIXED-Anweisung festgelegt. Mit anderen Worten beginnt der EXCLUDE-Ausdruck mit den Dimensionen [Kundenname] und [Bestelldatum] und schließt dann das [Bestelldatum] aus.
    • Anschließend gibt die IF-Anweisung für das erste Bestelldatum des jeweiligen Kunden eine 1 zurück.
    • Die IF-Anweisung gibt eine 1 für jede Zeile zurück, in der das Datum mit dem ersten Bestelldatum übereinstimmt.Das heißt, dass jede dieser Zeilen 1 ist, wenn die zugrundeliegenden Daten verschiedene Datensätze für diese erste Bestellung enthalten. Da jeder Kunde nur einmal gezählt werden soll, ist der Mindestwert der IF-Anweisung auf [Kundenname] fixiert.
    • Darüber hinaus müssen wir der Dimensionsdeklarierung der FIXED-Anweisung das [Bestelldatum] hinzufügen, sodass in der finalen Ansicht die Änderung im Zeitverlauf angezeigt wird.
Hinweise zu Option 2:
  • Tableau-Berechnungen sind stark von der Ansicht abhängig. Ohne Kontext der Ansicht gibt die Berechnung in Schritt 2 zuerst den Wert 1 für jede Markierung (z. B. Zeile, Punkt, Balken usw.) in der Ansicht zurück. Anschließend gibt sie die maximale Anzahl dieser Einsen von den beiden Markierungen vor dieser Markierung zurück.
  • In diesem Beispiel enthält die finale Ansicht eine Markierung für jede Woche und für jeden Kunden. Vor diesem Hintergrund gibt die Berechnung also den Wert 1 zurück, wenn der Kunde in dieser Woche oder in den beiden Vorwochen eine Bestellung aufgegeben hat.Wenn bei einem Kunden in jeder Woche eine Bestellung vorlag, gibt diese Berechnung dennoch nur den Wert 1 zurück, weil wir WINDOW_MAX() anstelle von WINDOW_SUM() verwenden.
  • Bei dieser Berechnung wird für die einzelnen Kunden nur eine 1 oder 0 zurückgegeben. Daher müssen wir diese Berechnung in einer WINDOW_SUM()-Funktion verschachteln, um alle Einsen für alle Kunden zu summieren.
  • Diese Berechnungen müssen in separaten berechneten Feldern vorgenommen werden, sodass wir die verschiedenen Berechnungen durch die Tabellenfunktionen festlegen können.
Hat dieser Artikel das Problem gelöst?