# weekend — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu ostatniej milisekundy ostatniego dnia tygodnia kalendarzowego, który zawiera wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.

Składnia:

WeekEnd(timestamp [, period\_no [, first\_week\_day ]])

Typ zwracanych danych: wartość podwójna

Funkcja `weekend()` określa, w którym tygodniu wypada data. Następnie zwraca znacznik czasu w formacie daty dla ostatniej milisekundy tego tygodnia. Pierwszy dzień tygodnia jest określany przez zmienną systemową `FirstWeekDay`. Można ją jednak zastąpić argumentem `first_week_day` funkcji `weekend()`.

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Data lub znacznik czasu do oszacowania. |
| period\_no | shift jest liczbą całkowitą, gdzie 0 oznacza tydzień, który zawiera datę date. Wartości ujemne parametru shift oznaczają poprzednie tygodnie, a wartości dodatnie — tygodnie następne. |
| first\_week\_day | Określa dzień początku tygodnia. Jeśli ten argument zostanie pominięty, wówczas zostanie użyta wartość zmiennej FirstWeekDay.<br><br>Możliwe wartości argumentu first\_week\_day to poniedziałek — 0, wtorek — 1, środa — 2, czwartek — 3, piątek — 4, sobota — 5 oraz niedziela — 6.<br><br>Aby uzyskać więcej informacji o tej zmiennej systemowej, zobacz [FirstWeekDay](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

## Kiedy używać

Funkcja `weekend()` jest używana jako część wyrażenia, gdy użytkownik chce, aby w obliczeniach użyto liczby pozostałych dni tygodnia dla określonej daty. Na przykład, można jej użyć, jeśli użytkownik chce obliczyć sumę odsetek, które nie zostały jeszcze naliczone w ciągu tygodnia.

W poniższych przykładach zakłada się:

```
SET FirstWeekDay=0;
```

| Przykład | Wynik |
| --- | --- |
| `weekend('01/10/2013')` | Zwraca wartość 01/12/2013 23:59:59. |
| `weekend('01/10/2013', -1)` | Zwraca wartość 01/05/2013 23:59:59.. |
| `weekend('01/10/2013', 0, 1)` | Zwraca wartość 01/14/2013 23:59:59. |

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/RRRR. 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.

Domyślne ustawienia regionalne w aplikacjach są oparte na regionalnych ustawieniach systemu komputera lub serwera, na którym zainstalowano Qlik Sense. Jeśli serwer Qlik Sense, do którego uzyskujesz dostęp, jest ustawiony na Szwecję, Edytor ładowania danych użyje szwedzkich ustawień regionalnych dla dat, godziny i waluty. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Sense. Interfejs Qlik Sense będzie wyświetlany w tym samym języku co używana przeglądarka.

Przykłady:

Jeśli chcesz używać ustawień ISO dla tygodni i numerów tygodni, w skrypcie muszą się znajdować następujące elementy:

```
Set DateFormat   ='YYYY-MM-DD'; 
Set FirstWeekDay =0;    // Monday as first week day
Set BrokenWeeks  =0;    //(use unbroken weeks)
Set ReferenceDay =4;    // Jan 4th is always in week 1
```

Jeśli chcesz używać ustawień amerykańskich, w skrypcie muszą się znajdować następujące elementy:

```
Set DateFormat   ='M/D/YYYY';
Set FirstWeekDay =6;    // Sunday as first week day
Set BrokenWeeks  =1;    //(use broken weeks)
Set ReferenceDay =1;    // Jan 1st is always in week 1
```

Powyższe przykłady dają następujące wyniki z funkcji weekend():

Przykład funkcji Weekend

| Data | Koniec tygodnia według ISO | Koniec tygodnia w USA |
| --- | --- | --- |
| Sat 2020 Dec 26 | 2020-12-27 | 12/26/2020 |
| Sun 2020 Dec 27 | 2020-12-27 | 1/2/2021 |
| Mon 2020 Dec 28 | 2021-01-03 | 1/2/2021 |
| Tue 2020 Dec 29 | 2021-01-03 | 1/2/2021 |
| Wed 2020 Dec 30 | 2021-01-03 | 1/2/2021 |
| Thu 2020 Dec 31 | 2021-01-03 | 1/2/2021 |
| Fri 2021 Jan 1 | 2021-01-03 | 1/2/2021 |
| Sat 2021 Jan 2 | 2021-01-03 | 1/2/2021 |
| Sun 2021 Jan 3 | 2021-01-03 | 1/9/2021 |
| Mon 2021 Jan 4 | 2021-01-10 | 1/9/2021 |
| Tue 2021 Jan 5 | 2021-01-10 | 1/9/2021 |

InformacjaTygodnie kończą się w niedziele w kolumnie ISO, a w soboty w kolumnie US.

## Przykład 1 — Przykład podstawowy

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekend.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 zestaw transakcji za rok 2022, który jest ładowany do tabeli o nazwie „Transactions”.

* Pole danych w formacie DateFormat zmiennej systemowej (MM/DD/RRRR).

* Utworzenie pola end\_of\_week zwracającego znacznik czasu końca tygodnia, w którym miały miejsce transakcje.

Skrypt ładowania

```
SET FirstWeekDay=6;

Transactions:
    Load
        *,
        weekend(date) as end_of_week,
        timestamp(weekend(date)) as end_of_week_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Wyniki

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

* date

* end\_of\_week

* end\_of\_week\_timestamp

Tabela wynikowa

| date | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/08/2022 | 1/8/2022 11:59:59 PM |
| 1/19/2022 | 01/22/2022 | 1/22/2022 11:59:59 PM |
| 2/5/2022 | 02/05/2022 | 2/5/2022 11:59:59 PM |
| 2/28/2022 | 03/05/2022 | 3/5/2022 11:59:59 PM |
| 3/16/2022 | 03/19/2022 | 3/19/2022 11:59:59 PM |
| 4/1/2022 | 04/02/2022 | 4/2/2022 11:59:59 PM |
| 5/7/2022 | 05/07/2022 | 5/7/2022 11:59:59 PM |
| 5/16/2022 | 05/21/2022 | 5/21/2022 11:59:59 PM |
| 6/15/2022 | 06/18/2022 | 6/18/2022 11:59:59 PM |
| 6/26/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/9/2022 | 07/09/2022 | 7/9/2022 11:59:59 PM |
| 7/22/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/23/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/27/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/2/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/8/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 8/19/2022 | 08/20/2022 | 8/20/2022 11:59:59 PM |
| 9/26/2022 | 10/01/2022 | 10/1/2022 11:59:59 PM |
| 10/14/2022 | 10/15/2022 | 10/15/2022 11:59:59 PM |
| 10/29/2022 | 10/29/2022 | 10/29/2022 11:59:59 PM |

Pole „end\_of\_week” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji weekend() i przekazanie pola daty jako jej argumentu.

Funkcja weekend() identyfikuje, w którym tygodniu wypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego tygodnia.

Diagram funkcji weekend(), przykład podstawowy

Diagram funkcji weekend(), przykład podstawowy

Diagram funkcji weekend()weekend(), przykład podstawowy![Diagram pokazujący, jak funkcja weekend konwertuje datę transakcji na znacznik czasu ostatniej milisekundy tygodnia, w którym dana transakcja miała miejsce.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-basic.png)

Transakcja 8191 miała miejsce 5 lutego. Zmienna systemowa FirstWeekDay ustawia pierwszy dzień tygodnia na niedzielę. Funkcja weekend() dowiaduje się, że pierwsza sobota po 5 lutego – a więc po końcu tygodnia – wypadała 5 lutego. W związku z tym wartość end\_of\_week dla tej transakcji zwraca ostatnią milisekundę tego dnia – 5 lutego, godz. 23:59:59.

## Przykład 2 – period\_no

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

#### Skrypt ładowania i wyniki

Przegląd

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

Skrypt ładowania zawiera:

* Ten sam zestaw danych i zastosowanie co w pierwszym przykładzie.

* Utworzenie pola previous\_week\_end zwracającego znacznik czasu początku tygodnia przed transakcją.

Skrypt ładowania

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

Transactions:
    Load
        *,
        weekend(date,-1) as previous_week_end,
        timestamp(weekend(date,-1)) as previous_week_end_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Wyniki

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

* date

* previous\_week\_end

* previous\_week\_end\_timestamp

Tabela wynikowa

| date | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/01/2022 | 1/1/2022 11:59:59 PM |
| 1/19/2022 | 01/15/2022 | 1/15/2022 11:59:59 PM |
| 2/5/2022 | 01/29/2022 | 1/29/2022 11:59:59 PM |
| 2/28/2022 | 02/26/2022 | 2/26/2022 11:59:59 PM |
| 3/16/2022 | 03/12/2022 | 3/12/2022 11:59:59 PM |
| 4/1/2022 | 03/26/2022 | 3/26/2022 11:59:59 PM |
| 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 5/16/2022 | 05/14/2022 | 5/14/2022 11:59:59 PM |
| 6/15/2022 | 06/11/2022 | 6/11/2022 11:59:59 PM |
| 6/26/2022 | 06/25/2022 | 6/25/2022 11:59:59 PM |
| 7/9/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/22/2022 | 07/16/2022 | 7/16/2022 11:59:59 PM |
| 7/23/2022 | 07/16/2022 | 7/16/2022 11:59:59 PM |
| 7/27/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 8/2/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/8/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/19/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 9/26/2022 | 09/24/2022 | 9/24/2022 11:59:59 PM |
| 10/14/2022 | 10/08/2022 | 10/8/2022 11:59:59 PM |
| 10/29/2022 | 10/22/2022 | 10/22/2022 11:59:59 PM |

W tym przypadku, ponieważ wartości period\_no -1 użyto jako argumentu przesunięcia w funkcji weekend(), funkcja najpierw identyfikuje tydzień, w którym zawarto transakcje. Następnie identyfikuje ostatnią milisekundę poprzedniego tygodnia.

Diagram funkcji weekend(), przykład z argumentem period\_no

Diagram funkcji weekend(), przykład z argumentem period\_no

Diagram funkcji weekend()weekend(), przykład z argumentem period\_no![Diagram pokazujący, jak funkcja weekend konwertuje datę transakcji na znacznik czasu ostatniej milisekundy tygodnia, w którym dana transakcja miała miejsce.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-period-no.png)

Transakcja 8196 miała miejsce 15 czerwca. Funkcja weekend() oblicza, że tydzień zaczyna się 12 czerwca. W związku z tym poprzedni tydzień kończy się 11 czerwca o godz. 23:59:59. Ta wartość jest zwracana dla pola previous\_week\_end.

## Przykład 3 — first\_week\_day

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

#### Skrypt ładowania i wyniki

Przegląd

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

Skrypt ładowania zawiera ten sam zestaw danych i zastosowanie co w pierwszym przykładzie. Jednak w tym przykładzie musimy ustawić wtorek jako pierwszy dzień tygodnia roboczego.

Skrypt ładowania

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

Transactions:
    Load
        *,
        weekend(date,0,1) as end_of_week,
        timestamp(weekend(date,0,1)) as end_of_week_timestamp,
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Wyniki

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

* date

* end\_of\_week

* end\_of\_week\_timestamp

Tabela wynikowa

| date | end\_of\_week | end\_of\_week\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/10/2022 | 1/10/2022 11:59:59 PM |
| 1/19/2022 | 01/24/2022 | 1/24/2022 11:59:59 PM |
| 2/5/2022 | 02/07/2022 | 2/7/2022 11:59:59 PM |
| 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 3/16/2022 | 03/21/2022 | 3/21/2022 11:59:59 PM |
| 4/1/2022 | 04/04/2022 | 4/4/2022 11:59:59 PM |
| 5/7/2022 | 05/09/2022 | 5/9/2022 11:59:59 PM |
| 5/16/2022 | 05/16/2022 | 5/16/2022 11:59:59 PM |
| 6/15/2022 | 06/20/2022 | 6/20/2022 11:59:59 PM |
| 6/26/2022 | 06/27/2022 | 6/27/2022 11:59:59 PM |
| 7/9/2022 | 07/11/2022 | 7/11/2022 11:59:59 PM |
| 7/22/2022 | 07/25/2022 | 7/25/2022 11:59:59 PM |
| 7/23/2022 | 07/25/2022 | 7/25/2022 11:59:59 PM |
| 7/27/2022 | 08/01/2022 | 8/1/2022 11:59:59 PM |
| 8/2/2022 | 08/08/2022 | 8/8/2022 11:59:59 PM |
| 8/8/2022 | 08/08/2022 | 8/8/2022 11:59:59 PM |
| 8/19/2022 | 08/22/2022 | 8/22/2022 11:59:59 PM |
| 9/26/2022 | 09/26/2022 | 9/26/2022 11:59:59 PM |
| 10/14/2022 | 10/17/2022 | 10/17/2022 11:59:59 PM |
| 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

W tym przypadku, ponieważ funkcji weekend() przekazano wartość 1 jako argument first\_week\_date, funkcja ta ustawia wtorek jako pierwszy dzień tygodnia.

Diagram funkcji weekend(), przykład z argumentem first\_week\_day

Diagram funkcji weekend(), przykład z argumentem first\_week\_day

Diagram funkcji weekend()weekend(), przykład z argumentem first\_week\_day![Diagram pokazujący, jak funkcja weekend konwertuje datę transakcji na znacznik czasu ostatniej milisekundy tygodnia, w którym dana transakcja miała miejsce.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-first-week-day.png)

Transakcja 8191 miała miejsce 5 lutego. Funkcja weekend() oblicza, że pierwszy poniedziałek po tej dacie – a zatem także koniec tygodnia i zwracana wartość – przypadł na 6 lutego o godz. 23:59:59.

## Przykład 4 — przykład z obiektem wykresu

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

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

Przegląd

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

Skrypt ładowania zawiera ten sam zestaw danych i zastosowanie co w pierwszym przykładzie. Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Obliczenia zwracające znacznik czasu końca tygodnia, w którym wystąpiły transakcje, są tworzone jako miara w obiekcie wykresu aplikacji.

Skrypt ładowania

```
Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: date.

Aby obliczyć początek tygodnia, kiedy ma miejsce transakcja, dodaj następujące miary:

* =weekend(date)

* =timestamp(weekend(date))

Tabela wynikowa

| date | =weekend(date) | =timestamp(weekend(date)) |
| --- | --- | --- |
| 1/7/2022 | 01/08/2022 | 1/8/2022 11:59:59 PM |
| 1/19/2022 | 01/22/2022 | 1/22/2022 11:59:59 PM |
| 2/5/2022 | 02/05/2022 | 2/5/2022 11:59:59 PM |
| 2/28/2022 | 03/05/2022 | 3/5/2022 11:59:59 PM |
| 3/16/2022 | 03/19/2022 | 3/19/2022 11:59:59 PM |
| 4/1/2022 | 04/02/2022 | 4/2/2022 11:59:59 PM |
| 5/7/2022 | 05/07/2022 | 5/7/2022 11:59:59 PM |
| 5/16/2022 | 05/21/2022 | 5/21/2022 11:59:59 PM |
| 6/15/2022 | 06/18/2022 | 6/18/2022 11:59:59 PM |
| 6/26/2022 | 07/02/2022 | 7/2/2022 11:59:59 PM |
| 7/9/2022 | 07/09/2022 | 7/9/2022 11:59:59 PM |
| 7/22/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/23/2022 | 07/23/2022 | 7/23/2022 11:59:59 PM |
| 7/27/2022 | 07/30/2022 | 7/30/2022 11:59:59 PM |
| 8/2/2022 | 08/06/2022 | 8/6/2022 11:59:59 PM |
| 8/8/2022 | 08/13/2022 | 8/13/2022 11:59:59 PM |
| 8/19/2022 | 08/20/2022 | 8/20/2022 11:59:59 PM |
| 9/26/2022 | 10/01/2022 | 10/1/2022 11:59:59 PM |
| 10/14/2022 | 10/15/2022 | 10/15/2022 11:59:59 PM |
| 10/29/2022 | 10/29/2022 | 10/29/2022 11:59:59 PM |

Miarę „end\_of\_week” tworzy się w obiekcie wykresu, używając funkcji weekend() i przekazując pole daty jako jej argument. Funkcja weekend() identyfikuje, w którym tygodniu przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego tygodnia.

Diagram funkcji weekend(), przykład obiektu wykresu

Diagram funkcji weekend(), przykład obiektu wykresu

Diagram funkcji weekend()weekend(), przykład obiektu wykresu![Diagram pokazujący, jak funkcja weekend konwertuje datę transakcji na znacznik czasu ostatniej milisekundy tygodnia, w którym dana transakcja miała miejsce.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekend-examples-chart-object.png)

Transakcja 8191 miała miejsce 5 lutego. Zmienna systemowa FirstWeekDay ustawia pierwszy dzień tygodnia na niedzielę. Funkcja weekend() dowiaduje się, że pierwsza sobota po 5 lutego – a więc po końcu tygodnia – wypadała 5 lutego. W związku z tym wartość end\_of\_week dla tej transakcji zwraca ostatnią milisekundę tego dnia – 5 lutego, godz. 23:59:59.

## Przykład 5 — zastosowanie

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

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

Przegląd

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

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie Employee\_Expenses.

* Dane zawierające identyfikatory pracowników, imiona i nazwiska pracowników oraz średnie dzienne roszczenia z tytułu wydatków każdego pracownika.

Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał, według identyfikatora pracownika oraz imienia i nazwiska pracownika, szacowane roszczenia z tytułu wydatków do poniesienia przez pozostałą część tygodnia.

Skrypt ładowania

```
Employee_Expenses:
Load
*
Inline
[
employee_id,employee_name,avg_daily_claim
182,Mark, $15
183,Deryck, $12.5
184,Dexter, $12.5
185,Sydney,$27
186,Agatha,$18
];
```

Wyniki

Wykonaj następujące czynności:

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

   * employee\_id

   * employee\_name

2. Następnie utwórz miarę, aby obliczyć narosłe odsetki:

   =(weekend(today(1))-today(1))\*avg\_daily\_claim

3. Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| employee\_id | employee\_name | =(weekend(today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $90.00 |
| 183 | Deryck | $75.00 |
| 184 | Dexter | $75.00 |
| 185 | Sydney | $162.00 |
| 186 | Agatha | $108.00 |

Funkcja weekend(), przyjmująca jako argument tylko dzisiejszą datę, zwraca datę końcową bieżącego tygodnia. Następnie wyrażenie odejmuje dzisiejszą datę od daty zakończenia tygodnia i zwraca liczbę dni pozostałych w tym tygodniu.

Wartość ta jest następnie mnożona przez średnie dzienne roszczenie z tytułu wydatków przez każdego pracownika, aby obliczyć szacunkową wartość roszczeń, które każdy pracownik złoży w pozostałej części tygodnia.