# 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: liczba całkowita

Kalendarz pokazujący sposób użycia funkcji `lastworkdate()`

Kalendarz pokazujący sposób użycia funkcji `lastworkdate()`

Kalendarz pokazujący sposób użycia funkcji `lastworkdate()`lastworkdate() ![Diagram pokazujący kalendarz miesiąca.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-diagram1.png)

Ograniczenia

Nie ma metody pozwalającej zmodyfikować funkcję `lastworkdate()` dla regionów lub zastosowań uwzględniających cokolwiek innego niż tydzień roboczy rozpoczynający się w poniedziałek i kończący się w piątek.

Parametr holiday musi być stałą łańcuchową. Nie może być wyrażeniem.

Kiedy używać lastworkdate

Funkcja `lastworkdate()` jest używana w wyrażeniach, za pomocą których użytkownik chce obliczyć proponowaną datę zakończenia projektu lub zadania na podstawie daty jego rozpoczęcia i wypadających w tym okresie świąt.

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

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. 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.<br><br>Przykład: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Przykład 1 — podstawowy przykład

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający identyfikatory projektów, daty rozpoczęcia projektów oraz szacowaną wymaganą ilość pracy w dniach. Zestaw danych jest ładowany do tabeli o nazwie `Projects`.

* Ładowanie poprzedzające zawiera funkcję `lastworkdate()` ustawioną jako pole `end_date`, które identyfikuje zaplanowaną datę zakończenia każdego projektu.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort) as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabela wynikowa

| id | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Ponieważ nie ma zaplanowanych świąt, funkcja dodaje zdefiniowaną liczbę dni roboczych, od poniedziałku do piątku, do daty początkowej i w ten sposób oblicza najwcześniejszy możliwy termin zakończenia.

Poniższy kalendarz pokazuje datę rozpoczęcia i zakończenia dla projektu 3. Dni robocze są zaznaczone na zielono.

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 ![Diagram pokazujący datę rozpoczęcia projektu 17 maja i datę zakończenia pracy 23 maja, co w sumie daje pięć dni roboczych.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example1-diagram.png)

## Przykład 2 – jeden dzień świąteczny

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający identyfikatory projektów, daty rozpoczęcia projektów oraz szacowaną wymaganą ilość pracy w dniach. Zestaw danych jest ładowany do tabeli o nazwie `Projects`.

* Poprzedzające ładowanie zawiera funkcję `lastworkdate()` ustawioną jako pole `end_date`, które identyfikuje zaplanowaną datę zakończenia każdego projektu.

Dnia 18 maja 2022 jest zaplanowane święto. Funkcja `lastworkdate()` w ładowaniu poprzedzającym uwzględnia to święto w trzecim argumencie, aby określić termin zakończenia każdego projektu.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort, '05/18/2022') as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabela wynikowa

| id | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/24/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Dzień świąteczny został wprowadzony jako trzeci argument do funkcji `lastworkdate()`. W efekcie data zakończenia projektu 3 zostaje przesunięta o jeden dzień do przodu, ponieważ święto zajmuje jeden dzień roboczy przed datą zakończenia.

Poniższy kalendarz pokazuje daty rozpoczęcia i zakończenia projektu 3 oraz to, że święto zmienia datę zakonczenia projektu o jeden dzień.

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja ![Diagram pokazujący datę rozpoczęcia projektu 3 17 maja i datę święta 18 maja](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)

## Przykład 3 – kilka dni świątecznych

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający identyfikatory projektów, daty rozpoczęcia projektów oraz szacowaną wymaganą ilość pracy w dniach. Zestaw danych jest ładowany do tabeli o nazwie `Projects`.

* Poprzedzające ładowanie zawiera funkcję `lastworkdate()` ustawioną jako pole `end_date`, które identyfikuje zaplanowaną datę zakończenia każdego projektu.

Należy uwzględnić cztery dni świąteczne wypadające 19, 20, 21 i 22 maja. Funkcja `lastworkdate()` w ładowaniu poprzedzającym uwzględnia te święta w trzecim argumencie, aby określić termin zakończenia każdego projektu.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort, '05/19/2022','05/20/2022','05/21/2022','05/22/2022') as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabela wynikowa

| id | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/25/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Cztery dni świąteczne zostają przekazane jako lista argumentów do funkcji `lastworkdate()` po dacie rozpoczęcia i liczbie dni roboczych.

Poniższy kalendarz pokazuje daty rozpoczęcia i zakończenia projektu 3 oraz to, że święta zmieniają datę zakończenia projektu o trzy dni.

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem świąt od 19 do 22 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem świąt od 19 do 22 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem świąt od 19 do 22 maja ![Diagram pokazujący datę rozpoczęcia projektu 3 w dniu 17 maja i ostatni dzień pracy w dniu 25 maja. Cztery dodatkowe dni świąteczne przesuwają datę zakończenia o trzy dni, ponieważ dwa dni świąteczne wypadają w sobotę i niedzielę.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example3-diagram.png)

## Przykład 4 – jeden dzień świąteczny (wykres)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.

Jednak w tym przykładzie zbiór danych pozostaje bez zmian i jest ładowany do aplikacji. Pole `end_date` jest obliczane jako miara w obiekcie wykresu.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `id`
* `start_date`
* `effort`

Aby obliczyć datę zakończenia (end\_date), należy utworzyć następującą miarę:

* `=LastWorkDate(start_date,effort,'05/18/2022')`

Tabela wynikowa

| id | start\_date | effort | =LastWorkDate(start\_date,effort,'05/18/2022') |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Pojedynczy dzień świąteczny został wprowadzony jako miara na wykresie. W efekcie data zakończenia projektu 3 zostaje przesunięta o jeden dzień do przodu, ponieważ święto zajmuje jeden dzień roboczy przed datą zakończenia.

Poniższy kalendarz pokazuje daty rozpoczęcia i zakończenia projektu 3 oraz to, że święto zmienia datę zakonczenia projektu o jeden dzień.

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja

Kalendarz pokazujący datę rozpoczęcia i zakończenia projektu 3 z uwzględnieniem święta 18 maja ![Diagram pokazujący datę rozpoczęcia projektu 3 17 maja i datę święta 18 maja](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)