firstworkdate - fonction de script et fonction de graphique
La fonction firstworkdate renvoie la date de début la plus récente pour atteindre la valeur no_of_workdays (du lundi au vendredi) se terminant au plus tard à la date définie par la valeur end_date, en tenant compte des jours de congé facultatifs indiqués. end_date et holiday doivent correspondre à des dates ou à des horodatages valides.
firstworkdate(end_date, no_of_workdays [, holiday] )
Type de données renvoyé : entier
Argument | Description |
---|---|
end_date | Horodatage de la date de fin à évaluer. |
no_of_workdays | Nombre de jours ouvrables à atteindre. |
holiday |
Périodes de congé à exclure des jours ouvrables. Une période de congé se définit comme une date de début et une date de fin, séparées par des virgules. '25/12/2013', '26/12/2013' Vous pouvez exclure plusieurs périodes de congé si vous les séparez par des virgules. '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Ces exemples utilisent le format de date DD/MM/YYYY. Le format de date est indiqué dans l'instruction SET DateFormat située en haut de votre script de chargement. Modifiez le format utilisé dans les exemples en fonction de vos exigences.
firstworkdate ('29/12/2014', 9)
Renvoie '17/12/2014.
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
Renvoie 15/12/2014, car une période de congé de deux jours est prise en compte.
Ajoutez l'exemple de script à votre document et exécutez-le. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre document afin de visualiser le résultat.
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;
La table résultante affiche les valeurs renvoyées par la fonction FirstWorkDate pour chaque enregistrement de la table.
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 |