Die Funktion networkdays liefert die Zahl der Arbeitstage (Montag bis Freitag) zwischen start_date und end_date, unter Berücksichtigung eventueller Feiertage unter holiday.
Syntax:
networkdays
(start_date, end_date [, holiday])
Rückgabe Datentyp: ganze Zahl
Die Funktion networkdays weist die folgenden Beschränkungen auf:
Es gibt keine Methode zum Ändern von Werktagen. Somit gibt es keine Möglichkeit zum Ändern der Funktion für Regionen oder Situationen, in denen anders als von Montag bis Freitag gearbeitet wird.
Der Parameter holiday muss eine String-Konstante sein. Formeln werden nicht akzeptiert.
Argumente
Argument
Beschreibung
start_date
Das auszuwertende Startdatum.
end_date
Das auszuwertende Enddatum.
holiday
Feiertagszeiträume, die von den Arbeitstagen auszuschließen sind. Ein Feiertag wird als ein Datum mit Zeichenfolgenkonstante angegeben. Sie können mehrere Feiertagstermine getrennt durch Kommas festlegen.
Die Funktion networkdays() wird in der Regel als Teil einer Formel verwendet, wenn in der Berechnung die Anzahl der Arbeitswochentage verwendet werden soll, die zwischen zwei Datumswerten auftreten. Beispielsweise möchte ein Benutzer den Gesamtlohn berechnen, der von einem Mitarbeiter mit einem Vertrag mit Lohnsteuerabzug verdient wird.
Funktionsbeispiele
Beispiel
Ergebnis
networkdays ('12/19/2013', '01/07/2014')
Gibt 14 zurück. In diesem Beispiel werden Feiertage nicht berücksichtigt.
Gibt 10 zurück. Dieses Beispiel berücksichtigt zwei Feiertagszeiträume.
Regionaleinstellungen
Sofern nicht anders angegeben, verwenden die Beispiele in diesem Thema das folgende Datumsformat: MM/TT/JJJJ. Das Datumsformat wird in der Anweisung SET DateFormat in Ihrem Datenladeskript angegeben. Das Standarddatumsformat in Ihrem System kann aufgrund Ihrer regionalen Einstellungen und anderer Faktoren abweichen. Sie können die Formate in den Beispielen unten Ihren Anforderungen entsprechend ändern. Sie können auch die Formate in Ihrem Ladeskript entsprechend den Beispielen ändern.
Die standardmäßigen regionalen Einstellungen in Apps basieren auf den regionalen Systemeinstellungen der Computer oder Server, auf denen Qlik Sense installiert ist. Wenn der Qlik Sense-Server, auf den Sie zugreifen, auf Schweden festgelegt ist, verwendet der Dateneditor die schwedischen regionalen Einstellungen für Datums-, Uhrzeit- und Währungsangaben. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Sense angezeigt wird. Qlik Sense wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
Beispiel 1 – einfaches Beispiel
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz enthält Projekt-IDs sowie Start- und Enddatum der Projekte. Diese Informationen werden in eine Tabelle namens Projects geladen.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Es wird ein zusätzliches Feld net_work_days erstellt, um die Anzahl der Werktage für jedes Projekt zu berechnen.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
id
start_date
end_date
net_work_days
Ergebnistabelle
id
start_date
end_date
net_work_days
1
01/01/2022
01/18/2022
12
2
02/10/2022
02/17/2022
6
3
05/17/2022
07/05/2022
36
4
06/01/2022
06/12/2022
8
5
08/10/2022
08/26/2022
13
Da keine geplanten Feiertage vorhanden sind (diese wären im dritten Argument der Funktion networkdays() enthalten gewesen), zieht die Funktion das start_date vom end_date sowie alle Wochenenden ab, um die Anzahl der Werktage zwischen den beiden Datumswerten zu berechnen.
Der obige Kalender zeigt ein visuelles Schema des Projekts mit der id 5. Projekt 5 beginnt am Mittwoch, den 10. August 2022 und endet am 26. August 2022. Alle Samstage und Sonntage werden ignoriert, und zwischen diesen Datumswerten (beide einschließlich) liegen 13 Werktage.
Beispiel 2 – Ein Feiertag
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im vorigen Beispiel.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Es wird ein zusätzliches Feld net_work_days erstellt, um die Anzahl der Werktage für jedes Projekt zu berechnen.
In diesem Beispiel ist ein eintägiger Feiertag am 19. August 2022 geplant.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
id
start_date
end_date
net_work_days
Ergebnistabelle
id
start_date
end_date
net_work_days
1
01/01/2022
01/18/2022
12
2
02/10/2022
02/17/2022
6
3
05/17/2022
07/05/2022
36
4
06/01/2022
06/12/2022
8
5
08/10/2022
08/26/2022
12
Der eintägige geplante Feiertag wird als drittes Argument in die Funktion networkdays() eingegeben.
Der obige Kalender zeigt ein visuelles Schema von Projekt 5. Er wurde angepasst, um den Feiertag zu berücksichtigen. Dieser Feiertag liegt in Projekt 5 am Freitag, den 19. August 2022. Infolgedessen reduziert sich der Gesamtwert von net_work_days für Projekt 5 um einen Tag, von 13 auf 12 Tage.
Beispiel 3 – Mehrere Feiertage
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Es wird ein zusätzliches Feld net_work_days erstellt, um die Anzahl der Werktage für jedes Projekt zu berechnen.
In diesem Beispiel sind jedoch vier Feiertage vom 18. August bis zum 21. August 2022 geplant.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
id
start_date
end_date
net_work_days
Ergebnistabelle
id
start_date
end_date
net_work_days
1
01/01/2022
01/18/2022
12
2
02/10/2022
02/17/2022
6
3
05/17/2022
07/05/2022
36
4
06/01/2022
06/12/2022
8
5
08/10/2022
08/26/2022
11
Die vier geplanten Feiertage werden als kommagetrennte Liste ab dem dritten Argument in der Funktion networkdays() eingegeben.
Der obige Kalender zeigt ein visuelles Schema von Projekt 5 mit der Anpassung, um diese Feiertage zu berücksichtigen. Dieser Zeitraum mit geplanten Feiertagen lag in Projekt 5, wobei zwei der Tage auf einem Donnerstag und Freitag lagen. Infolgedessen reduziert sich der Gesamtwert von net_work_days für Projekt 5 um zwei Tage, von 13 auf 11 Tage.
Beispiel 4 – Ein Feiertag
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.
Das Datumsfeld wird im Format der Systemvariablen DateFormat (MM/TT/JJJJ) bereitgestellt.
Es ist ein eintägiger Feiertag am 19. August 2022 geplant.
In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Das Feld net_work_days wird al Kennzahl in einem Diagrammobjekt berechnet.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
id
start_date
end_date
Erstellen Sie die folgende Kennzahl:
= networkdays(start_date,end_date,’08/19/2022’)
Ergebnistabelle
id
start_date
end_date
net_work_days
1
01/01/2022
01/18/2022
12
2
02/10/2022
02/17/2022
6
3
05/17/2022
07/05/2022
36
4
06/01/2022
06/12/2022
8
5
08/10/2022
08/26/2022
12
Der eintägige geplante Feiertag wird als drittes Argument in die Funktion networkdays() eingegeben.
Der obige Kalender zeigt ein visuelles Schema von Projekt 5. Er wurde angepasst, um den Feiertag zu berücksichtigen. Dieser Feiertag liegt in Projekt 5 am Freitag, den 19. August 2022. Infolgedessen reduziert sich der Gesamtwert von net_work_days für Projekt 5 um einen Tag, von 13 auf 12 Tage.
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!