Funktionen networkdays returnerar antalet arbetsdagar (måndag-fredag) mellan och inklusive start_date och end_date med hänsyn till eventuella holiday.
Syntax:
networkdays
(start_date, end_date [, holiday])
Returnerad datatyp: heltal
networkdays-funktionen har följande begränsningar:
Det finns inget sätt att ändra arbetsdagar. Med andra ord finns det inget sätt att ändra funktionen för regioner eller situationer som omfattar någonting annat än arbete mellan måndag och fredag.
holiday-parametern måste vara en strängkonstant. Uttryck accepteras inte.
Argument
Argument
Beskrivning
start_date
Startdatum som ska utvärderas.
end_date
Slutdatumn som ska utvärderas.
holiday
Ledighetsperioder som ska undantas från arbetsdagar. En helgdag anges som ett strängkonstant datum. Du kan ange flera semesterdatum, avgränsade med kommatecken.
networkdays()-funktionen används vanligtvis som en del av ett uttryck när användaren vill att beräkningen ska använda det antal arbetsdagar som finns mellan två datum. Om en användare exempelvis vill beräkna den totala lönen som en anställd kommer tjäna på ett PAYE-avtal (pay as you earn).
Exempel på funktioner
Exempel
Resultat
networkdays ('12/19/2013', '01/07/2014')
Returnerar 14. Detta exempel tar inte hänsyn till semester.
Returnerar 10. I detta exempel beaktas två ledighetsperioder.
Lokala inställningar
Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i SET DateFormat-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel. Mer information finns i Ändra regioninställningar för appar och skript.
Regionala standardinställningar i appar baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
start_date
end_date
net_work_days
Resultattabell
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
Eftersom det inte finns några schemalagda semesterdagar (de hade funnits i det tredje argumentet i networkdays()-funktionen) subtraherar funktionen start_date från end_date samt alla helger för att beräkna antalet arbetsdagar mellan de två datumen.
Ovanstående kalender ger en visuell sammanfattning av projektet med id av 5. Projekt 5 börjar onsdag 10 augusti 2022 och slutar 26 augusti 2022. När alla lördagar och söndagar har ignorerats finns det 13 arbetsdagar mellan och inklusive de här två datumen.
Exempel 2 – enstaka semesterdag
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning och scenario som i föregående exempel.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i systemvariabeln DateFormat.
Ytterligare ett fält, net_work_days, skapas för att beräkna antalet arbetsdagar som behövs i varje projekt.
I det här exemplet finns det en semesterdag som är schemalagd 19 augusti 2022.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
start_date
end_date
net_work_days
Resultattabell
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
Den enda schemalagda semesterdagen anges som det tredje argumentet i networkdays()-funktionen.
Den ovanstående kalendern beskriver projekt 5 visuellt, så att modifieringen för att inkludera semesterdagen framgår. För projekt 5 inträffar den här semesterdagen fredagen 19 augusti 2022. Resultatet blir att det totala net_work_days-värdet för projekt 5 minskar med en dag från 13 till 12 dagar.
Exempel 3 – flera semesterdagar
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning och scenario som i det första exemplet.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i systemvariabeln DateFormat.
Ytterligare ett fält, net_work_days, skapas för att beräkna antalet arbetsdagar som behövs i varje projekt.
Men i det här exemplet finns det fyra schemalagda semesterdagar, från 18 till 21 augusti 2022.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
start_date
end_date
net_work_days
Resultattabell
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 fyra schemalagda semesterdagarna anges som en kommaseparerad lista från det tredje argumentet framåt i networkdays()-funktionen.
Den ovanstående kalendern beskriver projekt 5 visuellt, så att modifieringen för att inkludera semesterdagarna framgår. Den här perioden med schemalagda semesterdagar inträffar under projekt 5, med två av dagarna på en torsdag och fredag. Resultatet blir att det totala net_work_days-värdet för projekt 5 minskar från 13 till 11 dagar.
Exempel 4 – enstaka semesterdag
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning och scenario som i det första exemplet.
Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i systemvariabeln DateFormat.
Det finns en semesterdag som är schemalagd 19 augusti 2022.
I det här exemplet har dock den oförändrade datauppsättningen skickats till programmet. net_work_days-fältet beräknas via ett mått i ett diagramobjekt.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
id
start_date
end_date
Skapa följande mått:
= networkdays(start_date,end_date,’08/19/2022’)
Resultattabell
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
Den enda schemalagda semesterdagen anges som det tredje argumentet i networkdays()-funktionen.
Den ovanstående kalendern beskriver projekt 5 visuellt, så att modifieringen för att inkludera semesterdagen framgår. För projekt 5 inträffar den här semesterdagen fredagen 19 augusti 2022. Resultatet blir att det totala net_work_days-värdet för projekt 5 minskar med en dag från 13 till 12 dagar.
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!