firstworkdate - Skript- und Diagrammfunktion
Die Funktion firstworkdate liefert das späteste Startdatum zur Vollendung einer gewissen Zahl von no_of_workdays (Montag bis Freitag) bis zu einem vorgegebenen end_date, unter Berücksichtigung eventueller optional angegebener Feiertage. end_date und holiday müssen ein gültiges Datum oder Zeitstempel sein.
Syntax:
firstworkdate(end_date, no_of_workdays [, holiday] )
Rückgabedatentyp: Ganzzahl
Argumente:
Argument | Beschreibung |
---|---|
end_date | Der Zeitstempel des Enddatums für die Evaluierung. |
no_of_workdays | Die Anzahl der zu erreichenden Arbeitstage. |
holiday |
Feiertagszeiträume, die von den Arbeitstagen auszuschließen sind. Ein Feiertagszeitraum wird als durch Kommas getrenntes Start- und Enddatum angegeben. Beispiel: '25/12/2013', '26/12/2013' Sie können getrennt durch Kommas mehr als einen Feiertagszeitraum ausschließen. Beispiel: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Beispiele und Ergebnisse:
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Ladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Beispiel 1:
firstworkdate ('29/12/2014', 9)
Liefert '17/12/2014.
Beispiel 2:
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
Liefert 15/12/2014, weil ein Feiertagszeitraum von zwei Tagen berücksichtigt wird.
Beispiel 3:
Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
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;
Die resultierende Tabelle zeigt die ausgegebenen Werte von FirstWorkDate für jeden der Datensätze in der Tabelle an.
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 |