# networkdays - script- en diagramfunctie

De functie networkdays retourneert het aantal werkdagen (maandag-vrijdag) tussen start\_date en end\_date, waarbij rekening wordt gehouden met een eventueel opgegeven holiday.

Syntaxis:

networkdays (start\_date, end\_date [, holiday])

Retourgegevenstypen: geheel getal

Kalenderdiagram dat het datumbereik weergeeft dat wordt geretourneerd door de networkdays-functie

Kalenderdiagram dat het datumbereik weergeeft dat wordt geretourneerd door de networkdays-functie

Kalenderdiagram dat het datumbereik weergeeft dat wordt geretourneerd door de networkdays-functie ![VOEG HIER ALT-TEKST TOE...!!!](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

De `networkdays`-functie heeft de volgende beperkingen:

* Er is geen methode om werkdagen aan te passen. Met andere woorden: er is geen manier om de functie aan te passen voor regio's of situaties waarbij sprake is van iets anders dan werk van maandag t/m vrijdag.

* De `holiday`-parameter moet een tekenreeksconstante zijn. Uitdrukkingen worden niet geaccepteerd.

Argumenten

| Argument | Beschrijving |
| --- | --- |
| start\_date | De te evalueren begindatum. |
| end\_date | De te evalueren einddatum. |
| holiday | Vakantieperioden die moeten worden uitgesloten van werkdagen. Een vakantie wordt aangegeven als een tekenreeks met constante datum. U kunt meerdere vakantiedatums opgegeven, gescheiden door komma's.<br><br>Voorbeeld: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Wanneer gebruiken

De `networkdays()`-functie wordt doorgaans gebruikt als onderdeel van een uitdrukking als de gebruiker wil dat in de berekening het aantal werkweekdagen gebruikt dat tussen twee datums valt. Bijvoorbeeld als een gebruiker het totale salaris wil berekenen dat een werknemer met een PAYE-contract (pay-as-you-earn) verdient.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | Retourneert 14. In dit voorbeeld wordt geen rekening gehouden met vakanties. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | Retourneert 12. In dit voorbeeld wordt rekening gehouden met de vakantie van 12/25/2013 t/m 12/26/2013. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | Retourneert 10. In dit voorbeeld wordt rekening gehouden met twee vakantieperioden. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

## Voorbeeld 1 – Basisvoorbeeld

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.htm)

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling met project-id's, hun begindatums en hun einddatums. Deze informatie wordt geladen in de tabel `Projects`.

* Het datumveld opgegeven in de `DateFormat`-systeemvariabele (MM/DD/YYYY) indeling.

* Er wordt een extra veld gemaakt, `net_work_days`, om het aantal werkdagen voor elk project te berekenen.

Load-script

```
SET DateFormat='MM/DD/YYYY';

Projects:
    Load
        *,
        networkdays(start_date,end_date) as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Resultatentabel

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

Omdat er geen geplande vakantiedagen zijn (deze zouden aanwezig zijn geweest in het derde argument van de `networkdays()`-functie), trekt de functie de `start_date` af van de `end_date`, evenals alle weekenddagen, om het aantal werkdagen tussen de twee datums te berekenen.

Kalenderdiagram dat werkdagen voor project 5 (geen vakantiedagen) markeert

Kalenderdiagram dat werkdagen voor project 5 (geen vakantiedagen) markeert

Kalenderdiagram dat werkdagen voor project 5 (geen vakantiedagen) markeert![Kalenderdiagram voor de maand augustus dat het aantal werkdagen toont voor het project uit de gegevensset met de id 5. Hier worden alle weekdagen (maandag-vrijdag) gemarkeerd van 10 t/m 26 augustus 2022. Daarbij zijn zaterdagen en zondagen uitgesloten.](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

De bovenstaande kalender markeert het project visueel met de `id` 5. Project 5 begint op woensdag, 10 augustus 2022 en eindigt op 26 augustus 2022. Doordat alle zaterdagen en zondagen worden genegeerd, zitten er 13 werkdagen tussen deze twee datums.

## Voorbeeld 2 - Enkele vakantie

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.htm)

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Dezelfde gegevensset en het scenario uit het vorige voorbeeld.

* Het datumveld opgegeven in de `DateFormat`-systeemvariabele (MM/DD/YYYY) indeling.

* Er wordt een extra veld gemaakt, `net_work_days`, om het aantal werkdagen voor elk project te berekenen.

In dit voorbeeld staat er één vakantiedag gepland op 19 augustus 2022.

Load-script

```
SET DateFormat='MM/DD/YYYY';

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/19/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Resultatentabel

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

De enkele, geplande vakantie is ingevoerd als het derde argument in de `networkdays()`-functie.

Kalenderdiagram dat werkdagen voor project 5 (één vakantiedag) markeert

Kalenderdiagram dat werkdagen voor project 5 (één vakantiedag) markeert

Kalenderdiagram dat werkdagen voor project 5 (één vakantiedag) markeert![Kalenderdiagram voor de maand augustus dat het aantal werkdagen toont voor het project uit de gegevensset met de id 5. Hier worden alle weekdagen (maandag-vrijdag) gemarkeerd van 10 t/m 26 augustus 2022. Daarbij is 19 augustus 2022 (de vakantiedag) uitgesloten.](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

De bovenstaande kalender markeert project 5 visueel en toont deze aanpassing waarbij de vakantiedag is toegevoegd. Deze vakantiedag valt in project 5 op vrijdag, 19 augustus 2022. Het resultaat is dat de totale `net_work_days`-waarde voor project 5 afneemt met één dag, van 13 naar 12 dagen.

## Voorbeeld 3 – Meerdere vakantiedagen

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.htm)

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Dezelfde gegevensset en het scenario uit het eerste voorbeeld.

* Het datumveld opgegeven in de `DateFormat`-systeemvariabele (MM/DD/YYYY) indeling.

* Er wordt een extra veld gemaakt, `net_work_days`, om het aantal werkdagen voor elk project te berekenen.

Maar in dit voorbeeld staan er vier vakantiedagen gepland, van 18 augustus t/m 21 augustus 2022.

Load-script

```
SET DateFormat='MM/DD/YYYY';

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/18/2022','08/19/2022','08/20/2022','08/21/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Resultatentabel

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

De vier geplande vakantiedagen worden ingevoerd als een door komma's gescheiden lijst, vanaf het derde argument tot in de `networkdays()`-functie.

Kalenderdiagram dat werkdagen voor project 5 (meerdere vakantiedagen) markeert

Kalenderdiagram dat werkdagen voor project 5 (meerdere vakantiedagen) markeert

Kalenderdiagram dat werkdagen voor project 5 (meerdere vakantiedagen) markeert![Kalenderdiagram voor de maand augustus dat het aantal werkdagen toont voor het project uit de gegevensset met de id 5. Hier worden alle weekdagen (maandag-vrijdag) gemarkeerd van 10 t/m 26 augustus 2022. Daarbij zijn 18 en 19 augustus 2022 (de vakantiedagen) uitgesloten.](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

De bovenstaande kalender markeert project 5 visueel en toont deze aanpassing waarbij deze vakantiedagen zijn toegevoegd. Deze periode van geplande vakantiedagen vindt plaats tijdens project 5, waarbij twee van de dagen op een donderdag en vrijdag vallen. Het resultaat is dat de totale `net_work_days`-waarde voor project 5 afneemt van 13 naar 11 dagen.

## Voorbeeld 4 - Enkele vakantiedag

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.htm)

#### Load-script en diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Dezelfde gegevensset en het scenario uit het eerste voorbeeld.

* Het datumveld opgegeven in de DateFormat-systeemvariabele (MM/DD/YYYY) indeling.

Er staat één vakantiedag gepland op 19 augustus 2022.

In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. Het net\_work\_days-veld wordt berekend als een meting in een diagramobject.

Load-script

```
SET DateFormat='MM/DD/YYYY';

Projects:
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* id

* start\_date

* end\_date

Maak de volgende meting:

= networkdays(start\_date,end\_date,’08/19/2022’)

Resultatentabel

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

De enkele, geplande vakantie is ingevoerd als het derde argument in de networkdays()-functie.

Het kalenderdiagram toont nettowerkdagen met één vakantiedag (diagramobject)

Het kalenderdiagram toont nettowerkdagen met één vakantiedag (diagramobject)

Het kalenderdiagram toont nettowerkdagen met één vakantiedag (diagramobject)![Kalenderdiagram voor de maand augustus dat het aantal werkdagen toont voor het project uit de gegevensset met de id 5. Hier worden alle weekdagen (maandag-vrijdag) gemarkeerd van 10 t/m 26 augustus 2022. Daarbij is 19 augustus 2022 (de vakantiedag) uitgesloten.](https://help.qlik.com/nl-NL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

De bovenstaande kalender markeert project 5 visueel en toont deze aanpassing waarbij de vakantiedag is toegevoegd. Deze vakantiedag valt in project 5 op vrijdag, 19 augustus 2022. Het resultaat is dat de totale net\_work\_days-waarde voor project 5 afneemt met één dag, van 13 naar 12 dagen.