WORKDAY( )-Funktion
Gibt die Anzahl von Werktagen zwischen zwei Datumswerten zurück.
Syntax
WORKDAY(Startdatum; Enddatum <;Nichtwerktage>)
Parameter
Name | Typ | Beschreibung |
---|---|---|
Startdatum |
Datumzeit |
Das Startdatum des Zeitraums, für den Werktage berechnet werden. Dieses Startdatum wird in den Zeitraum mit einbezogen. |
Enddatum | Datumzeit | Das Enddatum des Zeitraums, für den Werktage berechnet werden. Dieses Enddatum wird in den Zeitraum mit einbezogen. |
Nichtwerktage
Optional |
Zeichen |
Wochentage, die Wochenendtage oder Nichtwerktage sind, und aus der Berechnung ausgeschlossen werden. Wenn Sie Nichtwerktage nicht angeben, werden hierfür standardmäßig Samstag und Sonntag verwendet. Geben Sie Nichtwerktage mit den folgenden Abkürzungen an, die Sie durch Leerzeichen oder Kommas trennen:
Bei Nichtwerktage wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die Abkürzungen müssen auch dann auf Englisch eingegeben werden, wenn Sie keine englische Version von Analytics verwenden: "Fri, Sat, Sun" |
Hinweis
Sie können für Startdatum oder Enddatum einen Datumzeit-Wert angeben, jedoch wird der Zeitteil des Werts ignoriert.
Wenn Startdatum aktueller ist als Enddatum ist, wird ein negativer Wert zurückgegeben.
Ausgabe
Numerisch. Die Anzahl der Werktage des Zeitraums, für den Werktage berechnet werden.
Beispiele
Einfache Beispiele
Literale Eingabewerte
Gibt „5“ zurück (die Anzahl der Werktage zwischen Montag, 2. März 2015, und Sonntag, 8. März 2015 (einschließlich)):
WORKDAY(`20150302`; `20150308`)
Gibt „6“ zurück (die Anzahl der Werktage zwischen Montag, 2. März 2015, und Sonntag, 8. März 2015 (einschließlich), falls der Sonntag der einzige arbeitsfreie Tag ist):
WORKDAY(`20150302`; `20150308`; "Sun")
Gibt „5“ zurück (die Anzahl der Werktage zwischen Sonntag, 1. März 2015, und Samstag, 7. März 2015 (einschließlich), falls Freitag und Samstag arbeitsfreie Tage sind):
WORKDAY(`20150301`; `20150307`; "Fri, Sat")
Feldeingabewerte
Gibt die Anzahl der Werktage zwischen jedem Datum des Felds Startdatum und dem 31. Dezember 2015 (einschließlich) zurück:
WORKDAY(Startdatum; `20151231`)
Gibt die Anzahl der Werktage zwischen jedem Datum des Felds Startdatum und einem entsprechenden Datum im Feld Enddatum (einschließlich) zurück:
- Gesetzliche Feiertage sind in der Summe der Werktage enthalten und müssen unter Umständen in einer gesonderten Berechnung abgezogen werden.
- Ein negativer Rückgabewert deutet an, dass das Startdatum aktueller als das Enddatum ist.
WORKDAY(Startdatum; Enddatum)
Bemerkungen
Datumsformate
Ein für Startdatum oder Enddatum spezifiziertes Feld kann ein beliebiges Datumsformat verwenden, vorausgesetzt die Felddefinition definiert das Format korrekt.
Wenn für Startdatum oder Enddatum ein literales Datum angegeben wird, können lediglich die Formate JJJJMMTT und JJMMTT verwendet werden, und die Werte müssen in Backquotes gesetzt werden – zum Beispiel `20141231`.
Andere Nichtwerktage als Samstag und Sonntag
Die Möglichkeit, andere freie Tage als den Samstag und den Sonntag anzugeben, ermöglicht Ihnen die Verwendung der Funktion WORKDAY( ) auch mit Daten, die auf keiner Arbeitswoche von Montag bis Freitag oder keiner Arbeitswoche aus fünf Tagen basieren.
Falls Sie beispielsweise nur "Sun" als arbeitsfreien Tag festlegen, erstellen Sie eine Arbeitswoche aus sechs Tagen von Montag bis Samstag.
Berücksichtigung gesetzlicher Feiertage
Die Funktion WORKDAY( ) berücksichtigt keine gesetzlichen Feiertage. Der Rückgabewert könnte also unter Umständen nicht der tatsächlichen Anzahl der Werktage in einem Zeitraum entsprechen, falls der Zeitraum einen oder mehrere gesetzliche Feiertage beinhaltete.
Skript „Werktage berechnen“ in SkriptHub
Wenn Sie gesetzliche Feiertage berücksichtigen müssen, ist eine Möglichkeit die Verwendung des Skripts Werktage berechnen in SkriptHub, in dem eine Liste benutzerdefinierter Feiertage eingegeben werden kann.
Für Daten, die längere Zeiträume abdecken und eine Reihe von Feiertagen beinhalten, ist die Verwendung des Skripts wahrscheinlich der einfachere Ansatz. Weitere Informationen finden Sie in der Hilfe für Analytics unter „Skripts aus SkriptHub importieren“.
In einem kürzeren Zeitraum mit lediglich drei oder vier Feiertagen, wie beispielsweise einem Quartal, ist vermutlich die Erstellung eines bedingten Kalkulationsfelds entsprechend den folgenden Angaben praktischer.
Bedingtes Kalkulationsfeld zur Subtraktion von gesetzlichen Feiertagen
Falls notwendig, können Sie ein bedingtes Kalkulationsfeld erstellen, um gesetzliche Feiertage von dem durch die WORKDAY( )-Funktion zurückgegebenen Wert abzuziehen.
Für Daten im 1. Quartal 2015 könnten Sie beispielsweise den Rückgabewert von WORKDAY( ) für jeden der Feiertage, die innerhalb des festgelegten Zeitraums liegen, um 1 verringern:
- 1. Januar 2015
- 19. Januar 2015
- 16. Februar 2015
Das folgende Beispiel kann für Zeiträume verwendet werden, die ein Start- und ein Enddatum innerhalb des Quartals aufweisen.
Zuerst erstellen Sie ein Kalkulationsfeld, das Sie beispielsweise Arbeitstage nennen, und das die Werktage für einen festgelegten Zeitraum während des Quartals berechnet:
DEFINE FIELD Werktage COMPUTED WORKDAY(Startdatum; Enddatum)
Dann erstellen Sie ein bedingtes Kalkulationsfeld, beispielsweise Werktage_keine_Feiertage, welches den durch das erste Kalkulationsfeld (Werktage) zurückgegebenen Wert anpasst:
DEFINE FIELD Werktage_keine_Feiertage COMPUTED Werktage-1 IF Startdatum = `20150101` AND Enddatum < `20150119` Werktage-2 IF Startdatum = `20150101` AND Enddatum < `20150216` Werktage-3 IF Startdatum = `20150101` AND Enddatum <= `20150331` Werktage IF Startdatum < `20150119` AND Enddatum < `20150119` Werktage-1 IF Startdatum < `20150119` AND Enddatum < `20150216` Werktage-2 IF Startdatum < `20150119` AND Enddatum <= `20150331` Werktage-1 IF Startdatum = `20150119` AND Enddatum < `20150216` Werktage-2 IF Startdatum = `20150119` AND Enddatum <= `20150331` Werktage IF Startdatum < `20150216` AND Enddatum < `20150216` Werktage-1 IF Startdatum < `20150216` AND Enddatum <= `20150331` Werktage-1 IF Startdatum = `20150216` AND Enddatum <= `20150331` Werktage IF Startdatum < `20150331` AND Enddatum <= `20150331` Werktage
Hinweis
Die Reihenfolge der Bedingungen im bedingten Kalkulationsfeld ist wichtig.
Analytics wertet mehrere Bedingungen aus und beginnt dabei von oben. Der Wert der ersten erfüllten Bedingung für einen Datensatz wird als Wert für das bedingte Kalkulationsfeld dieses Datensatzes zugewiesen. Falls eine spätere Bedingung ebenfalls wahr ist, ändert dies nichts an dem zugewiesenen Wert.