networkdays - Skript- und Diagrammfunktion
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ückgabedatentyp: Ganzzahl
Argumente:
Argument | Beschreibung |
---|---|
start_date | Das zu evaluierende Startdatum. |
end_date | Das zu evaluierende Enddatum. |
holiday |
Feiertagszeiträume, die von den Arbeitstagen auszuschließen sind. Ein Feiertagszeitraum wird als durch Kommas getrenntes Start- und Enddatum angegeben. Beispiel: '25/12/2013', '26/12/2013' Sie können getrennt durch Kommas mehr als einen Feiertagszeitraum festlegen. Beispiel: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Beispiele und Ergebnisse:
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Ladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Beispiel 1:
networkdays ('19/12/2013', '07/01/2014')
liefert 14. In diesem Beispiel werden Feiertage nicht berücksichtigt.
Beispiel 2:
networkdays ('19/12/2013', '07/01/2014', '25/12/2013', '26/12/2013')
liefert 12. In diesem Beispiel wird der Feiertagszeitraum von 25/12/2013 bis 26/12/2013 berücksichtigt.
Beispiel 3:
networkdays ('19/12/2013', '07/01/2014', '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014')
Liefert 10. Dieses Beispiel berücksichtigt zwei Feiertagszeiträume.
Beispiel 4:
Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
PayTable:
LOAD recno() as InvID, * INLINE [
InvRec|InvPaid
28/03/2012|28/04/2012
10/12/2012|01/01/2013
5/2/2013|5/3/2013
31/3/2013|01/5/2013
19/5/2013|12/6/2013
15/9/2013|6/10/2013
11/12/2013|12/01/2014
2/3/2014|2/4/2014
14/5/2014|14/6/2014
13/6/2014|14/7/2014
7/7/2014|14/8/2014
4/8/2014|4/9/2014
] (delimiter is '|');
NrDays:
Load *,
NetWorkDays(InvRec,InvPaid) As PaidDays
Resident PayTable;
Drop table PayTable;
Die resultierende Tabelle zeigt die ausgegebenen Werte von NetworkDays für jeden der Datensätze in der Tabelle an.
InvID | InvRec | InvPaid | PaidDays |
---|---|---|---|
1 | 28/03/2012 | 28/04/2012 | 23 |
2 | 10/12/2012 | 01/01/2013 | 17 |
3 | 5/2/2013 | 5/3/2013 | 21 |
4 | 31/3/2013 | 01/5/2013 | 23 |
5 | 19/5/2013 | 12/6/2013 | 18 |
6 | 15/9/2013 | 6/10/2013 | 15 |
7 | 11/12/2013 | 12/01/2014 | 23 |
8 | 2/3/2014 | 2/4/2014 | 23 |
9 | 14/5/2014 | 14/6/2014 | 23 |
10 | 13/6/2014 | 14/7/2014 | 22 |
11 | 7/7/2014 | 14/8/2014 | 29 |
12 | 4/8/2014 | 4/9/2014 | 24 |