firstworkdate - fonction de script et fonction de graphique
Dernière mise à jour : 07/10/2026
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.
Syntaxe :
firstworkdate(end_date, no_of_workdays [, holiday] )
Type de données renvoyé : entier
Arguments :
| 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. Exemple : '25/12/2013', '26/12/2013' Vous pouvez exclure plusieurs périodes de congé si vous les séparez par des virgules. Exemple : '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Exemples et résultats :
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.
Exemple 1:
firstworkdate ('29/12/2014', 9)
Renvoie '17/12/2014.
Exemple 2:
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.
Exemple 3:
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 |