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
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.
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.
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
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset 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.
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.
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
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
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.
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.
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
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
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.
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.
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
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
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.
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.
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.
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!