Funkcja firstworkdate zwraca najpóźniejszą datę rozpoczęcia, gdy możliwe jest uzyskanie parametru no_of_workdays (poniedziałek–piątek) z końcem nie później niż w dniu określonym przez parametr end_date oraz z uwzględnieniem wszelkich opcjonalnie wyszczególnionych dni wolnych. Parametry end_date i holiday powinny być poprawnymi datami lub znacznikami czasu.
Okresy wolne od pracy wyłączane z dni roboczych. Dzień wolny jest określany jako data stała w formie ciągu. Można określić większą liczbę dat dni wolnych, rozdzielając je przecinkami.
W tych przykładach używany jest format daty DD/MM/YYYY. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.
Zwraca 15/12/2014, ponieważ brany jest pod uwagę dwudniowy okres urlopowy.
Przykład:
Dodaj skrypt przykładowy do swojej aplikacji i uruchom go. Aby zobaczyć wynik, dodaj do arkusza w swojej aplikacji pola wyszczególnione w kolumnie wyników.
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;
Tabela wynikowa przedstawia zwrócone wartości FirstWorkDate dla każdego z rekordów w tabeli.
Tabela wynikowa
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
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać!