KNOWLEDGE BASE

Berechnen der Anzahl der Wochentage zwischen Datumswerten


Veröffentlicht: 17 Feb 2017
Zuletzt geändert am: 05 Jun 2023

Frage

So zählen Sie die Anzahl der Wochentage oder Werktage zwischen zwei Daten. Beispielsweise die Anzahl der Arbeitstage zwischen zwei Datumsfeldern in der Datenquelle, zwei Parameterdatumswerten oder die Anzahl der Arbeitstage in einem Monat.

Umgebung

Tableau Desktop

Antwort

    
         
ZUM ANZEIGEN DER LÖSUNG KLICKEN

Option 1: Zählen der Anzahl der Wochentage zwischen zwei Datumsfeldern in der Datenquelle

Schritt 1: Erstellen berechneter Felder
  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. Geben Sie dem berechneten Feld einen Namen. In diesem Beispiel heißt das berechnete Feld "Order Date (shifted to weekday)"
    2. Erstellen Sie im Formelfeld eine Berechnung ähnlich der folgenden:
       
      IF DATEPART('weekday', [Order Date]) = 1
      THEN DATEADD('day', 1, [Order Date])
      ELSEIF DATEPART('weekday', [Order Date]) = 7
      THEN DATEADD('day', 2, [Order Date])
      ELSE [Order Date]
      END
  3. Erstellen Sie ein berechnetes Feld, das beispielsweise "Ship Date (shifted to weekday)" heißt, mit einer Berechnung, die der folgenden ähnelt:
     
    IF DATEPART('weekday', [Ship Date]) = 1
    THEN DATEADD('day', -2, [Ship Date])
    ELSEIF DATEPART('weekday', [Ship Date]) = 7
    THEN DATEADD('day', -1, [Ship Date])
    ELSE [Ship Date]
    END
  4. Erstellen Sie ein berechnetes Feld, beispielsweise mit dem Namen "# of Weekdays from Order to Shipping", mit einer Berechnung, die der folgenden ähnelt:
     
    MIN(
    DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
    + 1
    - 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
    )
Schritt 2: Erstellen Sie die Ansicht
  1. Ziehen Sie [Order ID] in den Container "Zeilen".
  2. Optional: Ziehen sie [Order Date] und [Ship Date] in den Container "Zeilen".
  3. Ziehen Sie [# of Weekdays from Order to Shipping] zu "Text" auf der Markierungskarte.
 
ZUM ANZEIGEN DER LÖSUNG KLICKEN

Option 2: Zählen der Anzahl der Wochentage jedes Monats für ein Datumsfeld

Dieses Beispiel verwendet den Superstore-Beispieldatensatz zum Ermitteln der Anzahl der Wochentage in jedem Monat für das Bestelldatum.
  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. Geben Sie dem berechneten Feld einen Namen. In diesem Beispiel heißt das berechnete Feld "Start of Month Date".
    2. Erstellen Sie im Formelfeld eine Berechnung, die der folgenden ähnelt:

      DATETRUNC('month', [Order Date])
  3. Erstellen Sie ein berechnetes Feld, beispielsweise mit dem Namen "End of Month Date", mit einer Berechnung, die der folgenden ähnelt:

    DATEADD('day', -1, DATEADD('month', 1, DATETRUNC('month', [Order Date])))
  4. Befolgen Sie die Anweisungen in Option 1, indem Sie [Start of Month Date] anstelle von [Order Date] und [End of Month Date] anstelle von [Ship Date] verwenden.
         
ZUM ANZEIGEN DER LÖSUNG KLICKEN

Option 3: Zählen der Wochentage unter Ausschluss der Feiertage

Dieses Beispiel verewndet den Superstore-Beispieldatensatz zum Ermitteln der Anzahl der Wochentage zwischen dem Bestell- und Versanddatum für jede Bestellung.

Schritt 1: Einrichten der Daten
  1. Fügen Sie der ursprünglichen Datenquelle, die eine Liste der Datumswerte zu den Feiertagen enthält, eine Tabelle hinzu. In diesem Beispiel heißt diese Tabelle "Holidays".
  2. Navigieren Sie zur Registerkarte "Datenquelle" in Tableau Desktop.
  3. Fügen Sie dem Leinwandbereich die Tabelle "Holidays" hinzu.
  4. Führen Sie im Dialogfeld "Verknüpfen" Folgendes durch:
    1. Wählen Sie "Links" aus.
    2. Wählen Sie "Order Date" unter "Datenquelle" aus.
    3. Wählen Sie "Holiday Date" unter "Holidays" aus.
    4. Klicken Sie auf das Gleichheitszeichen, und wählen Sie <= aus.
    5. Klicken Sie unter "Datenquelle" auf "Neue Join-Klausel hinzufügen", und wählen Sie "Ship Date" aus.
    6. Wählen Sie "Holiday Date" unter "Holidays" aus.
    7. Klicken Sie auf das Gleichheitszeichen, und wählen Sie >= aus.
 
Hinweis: [Order Date] und [Ship Date] sollten jeweils durch das tatsächliche Start- und Enddatum ersetzt werden. Wenn es sich bei den Start- und Enddatumswerten um berechnete Felder handelt, können diese Berechnungen in verknüpften Berechnungen neu erstellt werden. Wenn es nicht möglich ist, der ursprünglichen Datenquelle mit den Feiertagsdatumswerten eine Tabelle hinzuzufügen, sollten Sie eine datenbankübergreifende Verknüpfung zu einer externen Tabelle erstellen, in der die Feiertagsdatumswerte enthalten sind.Zum Verwenden der Ungleichheiten in Join-Klauseln in der Funktion für datenbankübergreifende Verknüpfungen muss ein Upgrade auf Tableau Desktop 10.5 oder höher vorgenommen werden.
 
Schritt 2: Erstellen von Berechnungen
  1. Navigieren Sie zu einem Arbeitsblatt.
  2. Befolgen Sie die Schritte 1-1 bis 1-3 in den Anweisungen für Option 1, um die Berechnungen [Order Date (shifted to weekday)] und [Ship Date (shifted to weekday)] zu erstellen.
  3. Erstellen Sie ein berechnetes Feld, beispielsweise mit dem Namen "# of Weekdays from Order to Shipping", mit einer Berechnung, die der folgenden ähnelt:
     
    MIN(
    DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
    + 1
    - 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
    ) - COUNTD([Holiday Date])

Schritt 3: Erstellen der Ansicht
  1. Ziehen Sie [Order ID] in den Container "Zeilen".
  2. Optional: Ziehen sie [Order Date] und [Ship Date] in den Container "Zeilen".
  3. Ziehen Sie [# of Weekdays from Order to Shipping (excluding holidays)] zu "Text" auf der Markierungskarte.
Hat dieser Artikel das Problem gelöst?