# weekday funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość podwójną:

* Nazwę dnia zdefiniowaną w zmiennej środowiskowej DayNames.
* Wartość całkowitą od 0 do 6, która odpowiada nominalnemu dniu tygodnia (0-6).

Składnia:

weekday(date [,first\_week\_day=0])

Typ zwracanych danych: wartość podwójna

Funkcja `weekday()` określa, w którym dniu tygodnia wypada dana data. Następnie zwraca łańcuch reprezentujący ten dzień.

Diagram funkcji `weekday()`, która zwraca nazwę dnia, w którym przypada określona data

Diagram funkcji `weekday()`, która zwraca nazwę dnia, w którym przypada określona data

Diagram funkcji `weekday()`weekday(), która zwraca nazwę dnia, w którym przypada określona data ![Diagram pokazujący, że funkcja weekday() zwraca nazwę dnia, w którym przypada określona data.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

W wyniku jest zwracana wartość liczbowa odpowiadająca temu dniu tygodnia (0-6), na podstawie pierwszego dnia tygodnia. Na przykład, jeśli pierwszy dzień tygodnia jest ustawiony na niedzielę, dla środy zostanie zwrócona wartość `3`. Ten dzień początkowy jest określony przez zmienną systemową `FirstWeekDay` lub przez parametr funkcji `first_week_day`.

Tej wartości liczbowej można użyć jako elementu wyrażenia arytmetycznego. Na przykład pomnóż ją przez `1`, aby zwrócić samą tę wartość.

Diagram funkcji `weekday()` z pokazaną wartością liczbową dnia zamiast nazwy dnia

Diagram funkcji `weekday()` z pokazaną wartością liczbową dnia zamiast nazwy dnia

Diagram funkcji `weekday()`weekday() z pokazaną wartością liczbową dnia zamiast nazwy dnia ![Diagram pokazujący, że funkcja weekday() może zwrócić wartość liczbową odpowiadającą dniu, który został zidentyfikowany.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

Kiedy używać weekday

Funkcja `weekday()` jest przydatna, gdy chcesz porównać agregacje według dnia tygodnia. Można jej na przykład użyć, aby porównać średnią sprzedaży produktów według dni tygodnia.

Te wymiary można utworzyć w skrypcie ładowania, używając tej funkcji w celu utworzenia pola w tabeli kalendarza głównego lub bezpośrednio na wykresie jako miary wyliczanej.

Tematy pokrewne

| Tematy | Interakcja |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Definiuje dzień rozpoczęcia każdego tygodnia. |

| <ul> </ul> |
| --- |

Argumenty

| Argument | Opis |
| --- | --- |
| date | Data lub znacznik czasu do oszacowania. |
| 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>[FirstWeekDay](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

Aby ustawić dzień, w którym zaczyna się tydzień w argumencie `first_week_day`, możesz użyć następujących wartości:

Wartości first\_week\_day

| Dzień | Wartość |
| --- | --- |
| poniedziałek | 0 |
| wtorek | 1 |
| środa | 2 |
| czwartek | 3 |
| piątek | 4 |
| sobota | 5 |
| niedziela | 6 |

## 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).

InformacjaJeśli nie określono inaczej, w tych przykładach zmienna `FirstWeekDay` jest ustawiona na `0`.

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `weekday('10/12/1971')` | zwraca „Tue” i 1. |
| `weekday('10/12/1971' , 6)` | zwraca „True” i 2.<br><br>Na tym przykładzie pierwszym dniem tygodnia jest niedziela (`6`). |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Zwraca „True” i 2. |

## Przykład 1 – Dzień tygodnia jako łańcuch

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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`”.

* Zmienna systemowa `FirstWeekDay`, która jest ustawiona na 6 (niedziela).

* Zmienna `DayNames`, która jest ustawiona na używanie domyślnych nazw dni.

* Ładowanie poprzedzające zawierające funkcję `weekday()`, która jest ustawiona jako pole `week_day` i zwraca dzień tygodnia, w którym odbyły się transakcje.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Wyniki

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

* `id`
* `date`
* `week_day`

Tabela wynikowa

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sob |
| 8189 | 01/02/2022 | Nie |
| 8190 | 01/03/2022 | Pon |
| 8191 | 01/04/2022 | Wto |
| 8192 | 01/05/2022 | Śro |
| 8193 | 01/06/2022 | Czw |
| 8194 | 01/07/2022 | Fri |

Pole „`week_day`” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji `weekday()` i przekazanie pola daty jako jej argumentu.

Funkcja `weekday()` zwraca wartość łańcuchową określającą dzień tygodnia, tzn. zwraca nazwę dnia tygodnia, która jest ustawiona przez zmienną systemową `DayNames`.

Diagram funkcji `weekday()`, która zwraca środę jako dzień tygodnia dla transakcji 8192

Diagram funkcji `weekday()`, która zwraca środę jako dzień tygodnia dla transakcji 8192

Diagram funkcji `weekday()`weekday(), która zwraca środę jako dzień tygodnia dla transakcji 8192 ![Diagram pokazujący, że funkcja weekday() zwraca środę jako dzień tygodnia dla transakcji 8192.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transakcja 8192 miała miejsce 5 stycznia. Zmienna systemowa `FirstWeekDay` ustawia pierwszy dzień tygodnia na niedzielę. Transakcja funkcji `weekday()` miała miejsce w środę i funkcja ta zwraca tę wartość w skróconej formie zmiennej systemowej `DayNames`, w polu `week_day`.

Wartości w polu `week_day` są wyrównane w kolumnie do prawej, ponieważ to pole zawiera podwójny wynik złożony z liczby i tekstu (środa, 3). Aby zamienić wartość pola na liczbowy odpowiednik, pole to można umieścić w funkcji `num()`. Na przykład, w transakcji 8192 środa zostałaby zamieniona na liczbę 3

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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`”.

* Zmienna systemowa `FirstWeekDay`, która jest ustawiona na 6 (niedziela).

* Zmienna `DayNames`, która jest ustawiona na używanie domyślnych nazw dni.

* Ładowanie poprzedzające zawierające funkcję `weekday()`, która jest ustawiona jako pole `week_day` i zwraca dzień tygodnia, w którym odbyły się transakcje.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
    Load 
       *, 
       WeekDay(date,1) as week_day 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Wyniki

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

* `id`
* `date`
* `week_day`

Tabela wynikowa

| id | date | week\_day |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sob |
| 8189 | 01/02/2022 | Nie |
| 8190 | 01/03/2022 | Pon |
| 8191 | 01/04/2022 | Wto |
| 8192 | 01/05/2022 | Śro |
| 8193 | 01/06/2022 | Czw |
| 8194 | 01/07/2022 | Fri |

Diagram funkcji `weekday()`, który pokazuje, że środa ma wartość liczbową 1

Diagram funkcji `weekday()`, który pokazuje, że środa ma wartość liczbową 1

Diagram funkcji `weekday()`weekday(), który pokazuje, że środa ma wartość liczbową 1 ![Diagram pokazujący, że 5 stycznia 2022 r. wypada w środę oraz że środa ma podwójną wartość liczbową 1, ponieważ pierwszy dzień tygodnia jest ustawiony na wtorek.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

Ponieważ funkcji `weekday()` przekazano wartość `1` jako argument `first_week_day`, pierwszym dniem tygodnia jest wtorek. W związku z tym wszystkie transakcje, które mają miejsce we wtorek będą miały podwójną wartość liczbową `0`.

Transakcja 8192 miała miejsce 5 stycznia. Funkcja `weekday()` stwierdza, że jest to środa, więc wyrażenie zwróciłoby podwójną wartość liczbową `1`.

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

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

* Zmienna systemowa `FirstWeekDay`, która jest ustawiona na `6` (niedziela).

* Zmienna `DayNames`, która jest ustawiona na używanie domyślnych nazw dni.

Jednak w tym przykładzie zbiór danych pozostaje bez zmian i jest ładowany do aplikacji. Obliczenia identyfikujące wartość dnia tygodnia są utworzone jako miara na wykresie w aplikacji.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.39 
]; 
```

Wyniki

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

* `id`
* `date`

Aby obliczyć wartość dnia tygodnia, należy utworzyć następującą miarę:

* `=weekday(date)`

Tabela wynikowa

| id | date | =weekday(date) |
| --- | --- | --- |
| 8188 | 01/01/2022 | Sob |
| 8189 | 01/02/2022 | Nie |
| 8190 | 01/03/2022 | Pon |
| 8191 | 01/04/2022 | Wto |
| 8192 | 01/05/2022 | Śro |
| 8193 | 01/06/2022 | Czw |
| 8194 | 01/07/2022 | Fri |

Miara `=weekday(date)` jest tworzona na wykresie przy użyciu funkcji `weekday()`, której jako argument przekazano pole daty.

Funkcja `weekday()` zwraca wartość łańcuchową określającą dzień tygodnia, tzn. zwraca nazwę dnia tygodnia, która jest ustawiona przez zmienną systemową `DayNames`.

Diagram funkcji `weekday()`, która zwraca środę jako dzień tygodnia dla transakcji 8192

Diagram funkcji `weekday()`, która zwraca środę jako dzień tygodnia dla transakcji 8192

Diagram funkcji `weekday()`weekday(), która zwraca środę jako dzień tygodnia dla transakcji 8192 ![Diagram pokazujący, że funkcja weekday() zwraca środę jako dzień tygodnia dla transakcji 8192.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

Transakcja 8192 miała miejsce 5 stycznia. Zmienna systemowa `FirstWeekDay` ustawia pierwszy dzień tygodnia na niedzielę. Transakcja funkcji `weekday()` miała miejsce w środę i funkcja ta zwraca tę wartość w skróconej formie zmiennej systemowej `DayNames`, w polu `=weekday(date)`.

## Przykład 4 — zastosowanie

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekday.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`”.

* Zmienna systemowa `FirstWeekDay`, która jest ustawiona na `6` (niedziela).

* Zmienna `DayNames`, która jest ustawiona na używanie domyślnych nazw dni.

Użytkownik końcowy chciałby otrzymać wykres przedstawiający średnią sprzedaż według dnia tygodnia dla transakcji.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 
SET FirstWeekDay=6; 
 
Transactions: 
LOAD 
  RecNo() AS id, 
  MakeDate(2022, 1, Ceil(Rand() * 31)) as date, 
  Rand() * 1000 AS amount 
						
Autogenerate(1000); 
```

Wyniki

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

* `=weekday(date)`
* `=avg(amount)`

Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| =weekday(date) | Avg(amount) |
| --- | --- |
| Nie | $536.96 |
| Pon | $500.80 |
| Wto | $515.63 |
| Śro | $509.21 |
| Czw | $482.70 |
| Fri | $441.33 |
| Sob | $505.22 |