lastworkdate — funkcja skryptu i funkcja wykresu
Funkcja lastworkdate zwraca najwcześniejszą datę zakończenia, gdy możliwe jest uzyskanie parametru no_of_workdays (poniedziałek–piątek) z początkiem w dniu start_date z uwzględnieniem wszelkich opcjonalnie wyszczególnionych dni wolnych (holiday). Parametry start_date i holiday powinny być poprawnymi datami lub znacznikami czasu.
Składnia:
lastworkdate(start_date, no_of_workdays {, holiday})
Typ zwracanych danych: podwójny
Argumenty:
Argument | Opis |
---|---|
start_date | Data rozpoczęcia do oceny. |
no_of_workdays | Liczba dni roboczych do uzyskania. |
holiday |
Okresy wolne od pracy wyłączane z dni roboczych. Okres wolny od pracy podaje się jako datę początkową i datę końcową rozdzielone przecinkiem. Przykład: '25/12/2013', '26/12/2013' Można wyłączyć wiele okresów wolnych od pracy, rozdzielając je przecinkami. Przykład: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
Przykłady i wyniki:
W tych przykładach należy użyć formatu daty DD/MM/RRRR. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania. Zmień format w przykładach odpowiednio do swoich potrzeb.
Przykład 1:
lastworkdate ('19/12/2014', 9)
Zwraca wartość 31/12/2014
Przykład 2:
lastworkdate ('19/12/2014', 9, '2014-12-25', '2014-12-26')
Zwraca 02/01/2015, ponieważ brany jest pod uwagę dwudniowy okres urlopowy.
Przykład 3:
Dodaj przykładowy skrypt do dokumentu i uruchom go. Następnie dodaj do arkusza w swoim dokumencie co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik.
ProjectTable:
LOAD *, recno() as InvID INLINE [
StartDate
28/03/2014
10/12/2014
5/2/2015
31/3/2015
19/5/2015
15/9/2015
] ;
NrDays:
Load *,
LastWorkDate(StartDate,120) As EndDate
Resident ProjectTable;
Drop table ProjectTable;
Tabela docelowa przedstawia zwrócone wartości funkcjiLastWorkDate dla każdego z rekordów w tabeli.
InvID | StartDate | EndDate |
---|---|---|
1 | 28/03/2014 | 11/09/2014 |
2 | 10/12/2014 | 26/05/2015 |
3 | 5/2/2015 | 27/07/2015 |
4 | 31/3/2015 | 14/09/2015 |
5 | 19/5/2015 | 02/11/2015 |
6 | 15/9/2015 | 29/02/2016 |