# 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:

Networkdays-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.<br><br>Beispiel: `  '25/12/2013', '26/12/2013' `<br><br>Sie können getrennt durch Kommas mehr als einen Feiertagszeitraum festlegen.<br><br>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.

Beispiel 4 – Ergebnisse

| 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 |