firstworkdate - script- en grafiekfunctie
De functie firstworkdate retourneert de laatste begindatum waarbij no_of_workdays (maandag-vrijdag) kan worden gehaald als niet later wordt gestopt dan end_date, waarbij rekening wordt gehouden met eventueel opgegeven vakantiedagen. end_date en holiday moeten geldige datums of tijdstempels zijn.
Syntaxis:
firstworkdate(end_date, no_of_workdays [, holiday] )
Retourgegevenstype: geheel getal
Argumenten:
Argument | Beschrijving |
---|---|
end_date | De tijdstempel van de te evalueren einddatum. |
no_of_workdays | Het aantal te bereiken werkdagen. |
holiday |
Vakantieperioden die moeten worden uitgesloten van werkdagen. Een vakantieperiode wordt aangegeven als een begin- en een einddatum, gescheiden door komma's. Voorbeeld: '25/12/2013', '26/12/2013' U kunt meer dan één vakantieperiode uitsluiten, gescheiden door komma's. Voorbeeld: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Voorbeelden en resultaten:
Deze voorbeelden gebruiken de datumopmaak DD/MM/YYYY. De datumopmaak wordt opgegeven in de opdracht SET DateFormat boven aan uw load-script. Wijzig de opmaak in de voorbeelden zodat deze in uw behoeften voorziet.
Voorbeeld 1:
firstworkdate ('29/12/2014', 9)
Retourneert '17/12/2014.
Voorbeeld 2:
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
Retourneert 15/12/2014 omdat rekening is gehouden met een vakantieperiode van twee dagen.
Voorbeeld 3:
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
ProjectTable:
LOAD *, recno() as InvID INLINE [
EndDate
28/03/2015
10/12/2015
5/2/2016
31/3/2016
19/5/2016
15/9/2016
] ;
NrDays:
Load *,
FirstWorkDate(EndDate,120) As StartDate
Resident ProjectTable;
Drop table ProjectTable;
De resulterende tabel bevat de geretourneerde waarden van FirstWorkDate voor elk van de records in de tabel.
InvID | EndDate | StartDate |
---|---|---|
1 | 28/03/2015 | 13/10/2014 |
2 | 10/12/2015 | 26/06/2015 |
3 | 5/2/2016 | 24/08/2015 |
4 | 31/3/2016 | 16/10/2015 |
5 | 19/5/2016 | 04/12/2015 |
6 | 15/9/2016 | 01/04/2016 |