# weekname funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość pokazującą rok i numer tygodnia z bazową wartością liczbową odpowiadającą znacznikowi czasu pierwszej milisekundy pierwszego dnia tygodnia, który zawiera datę date.

WeekName(date[, period\_no [, first\_week\_day [, broken\_weeks [, reference\_day]]]])

Funkcja `weekname()` określa, w którym tygodniu przypada data, i zwraca numer tygodnia oraz rok tego tygodnia. Pierwszy dzień tygodnia jest określany przez `FirstWeekDay`zmienną systemową . Możesz jednak również zmienić pierwszy dzień tygodnia, używając argumentu `first_week_day` funkcji `weekname()`.

W Qlik Sense ustawienia regionalne są pobierane podczas tworzenia aplikacji, a odpowiednie ustawienia są przechowywane w skrypcie jako zmienne środowiskowe.

Deweloper aplikacji z Ameryki Północnej często ma `Set BrokenWeeks=1;` w skrypcie, co odpowiada podzielonym tygodniom. Europejski deweloper aplikacji często ma `Set BrokenWeeks=0;` w skrypcie, co odpowiada niepodzielonym tygodniom.

Jeżeli aplikacja używa podzielonych tygodni, numerowanie tygodni zaczyna się 1 stycznia i kończy w dniu poprzedzającym zmienną systemową `FirstWeekDay`, niezależnie od liczby dni.

Jeśli jednak Twoja aplikacja korzysta z niepodzielonych tygodni, tydzień 1 może rozpocząć się w poprzednim roku lub w pierwszych dniach stycznia. Zależy to od sposobu używania zmiennych systemowych `ReferenceDay` i `FirstWeekDay`.

Przykład funkcji Weekname

| Data | Nazwa tygodnia wg ISO | Nazwa tygodnia w USA |
| --- | --- | --- |
| Sat 2020 Dec 26 | 2020/52 | 2020/52 |
| Sun 2020 Dec 27 | 2020/52 | 2020/53 |
| Pon 2020 Gru 28 | 2020/53 | 2020/53 |
| Tue 2020 Dec 29 | 2020/53 | 2020/53 |
| Wed 2020 Dec 30 | 2020/53 | 2020/53 |
| Thu 2020 Dec 31 | 2020/53 | 2020/53 |
| Fri 2021 Jan 1 | 2020/53 | 2021/01 |
| Sat 2021 Jan 2 | 2020/53 | 2021/01 |
| Sun 2021 Jan 3 | 2020/53 | 2021/02 |
| Mon 2021 Jan 4 | 2021/01 | 2021/02 |
| Wt 5 sty 2021 | 2021/01 | 2021/02 |

Kiedy używać

Funkcja `weekname()` jest przydatna, gdy chcesz porównać agregacje według tygodni.

Na przykład, jeśli chcesz zobaczyć całkowitą sprzedaż produktów w tygodniu. Aby zachować spójność ze zmienną środowiskową `BrokenWeeks` w aplikacji, użyj `weekname()` zamiast `lunarweekname()`. Jeśli aplikacja używa niepodzielonych tygodni, tydzień 1 może zawierać daty z grudnia poprzedniego roku lub wykluczać daty ze stycznia bieżącego roku. Jeśli aplikacja używa podzielonych tygodni, tydzień 1 może zawierać mniej niż siedem dni.

Typ zwracanych danych: Dual

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 first\_week\_day to poniedziałek — 0, wtorek — 1, środa — 2, czwartek — 3, piątek — 4, sobota — 5 oraz niedziela — 6.<br><br><br>Aby uzyskać więcej informacji o zmiennej systemowej, zobacz [FirstWeekDay](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |
| broken\_weeks | Jeśli wartość broken\_weeks nie zostanie określona, wówczas wartość zmiennej BrokenWeeks zostanie zastosowana w celu zdefiniowania, czy tygodnie są dzielone, czy nie.<br><br><br>Aby uzyskać więcej informacji o zmiennej systemowej, zobacz<br>[BrokenWeeks](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) |
| reference\_day | Jeśli wartość reference\_day nie zostanie określona, wówczas w celu zdefiniowania dnia w styczniu, który zostanie ustawiony jako dzień odniesienia do zdefiniowania tygodnia 1, zostanie użyta wartość zmiennej ReferenceDay. Domyślnie w funkcjach aplikacji Qlik Sense za dzień odniesienia uznaje się 4. Oznacza to, że pierwszy tydzień musi zawierać datę 4 stycznia lub, ujmując rzecz inaczej, pierwszy tydzień musi zawsze zawierać co najmniej 4 dni w styczniu.<br><br><br>Aby uzyskać więcej informacji o zmiennej systemowej, zobacz<br>[ReferenceDay](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm) |

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

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. Qlik Sense będzie wyświetlane w tym samym języku co używana przez Ciebie przeglądarka.

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

```
Set FirstWeekDay=0;  
Set BrokenWeeks=0;   
Set ReferenceDay=4;
```

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| weekname('01/12/2013') | Zwraca 2013/02. |
| weekname('01/12/2013', -1) | Zwraca 2013/01. |
| weekname('01/12/2013', 0, 1) | Zwraca 2013/02. |

## Przykład 1 — data bez dodatkowych argumentów

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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 z ostatniego tygodnia 2021 roku i pierwszych dwóch tygodni 2022 roku jest ładowany do tabeli o nazwie „`Transactions`”.

* Zmienna systemowa `DateFormat`, która jest ustawiona na format `MM/DD/YYYY`.

* Zmienna systemowa `BrokenWeeks`, która jest ustawiona na `1`.

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

* Ładowanie poprzedzające, które zawiera następujące elementy:

  * Funkcja `weekday()` ustawiona jako pole „`week_number`”, która zwraca rok i numer tygodnia, w którym miały miejsce transakcje.

  * Funkcja `weekname()`, która jest ustawiona jako pole o nazwie „`week_day`”, aby pokazywać wartość dnia tygodnia dla każdej daty transakcji.

Skrypt ładowania

```

SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 
SET FirstWeekDay=6; 

Transactions: 
   Load 
     *, 
     WeekDay(date) as week_day, 
     Weekname(date) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
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.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Wyniki

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

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

Tabela wynikowa

| Identyfikator | Data | week\_day | numer\_tygodnia |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Pon | 2021/53 |
| 8184 | 12/28/2021 | Wto | 2021/53 |
| 8185 | 12/29/2021 | Śro | 2021/53 |
| 8186 | 12/30/2021 | Czw | 2021/53 |
| 8187 | 12/31/2021 | Fri | 2021/53 |
| 8188 | 01/01/2022 | Sob | 2022/01 |
| 8189 | 01/02/2022 | Nie | 2022/02 |
| 8190 | 01/03/2022 | Pon | 2022/02 |
| 8191 | 01/04/2022 | Wto | 2022/02 |
| 8192 | 01/05/2022 | Śro | 2022/02 |
| 8193 | 01/06/2022 | Czw | 2022/02 |
| 8194 | 01/07/2022 | Fri | 2022/02 |
| 8195 | 01/08/2022 | Sob | 2022/02 |
| 8196 | 01/09/2022 | Nie | 2022/03 |
| 8197 | 01/10/2022 | Pon | 2022/03 |
| 8198 | 01/11/2022 | Wto | 2022/03 |
| 8199 | 01/12/2022 | Śro | 2022/03 |
| 8200 | 01/13/2022 | Czw | 2022/03 |
| 8201 | 01/14/2022 | Fri | 2022/03 |

Pole ‘`week_number`’ jest tworzone w poprzedzającej instrukcji LOAD przez użycie funkcji `weekname()` i przekazanie pola daty jako jej argumentu.

Funkcja `weekname()` początkowo identyfikuje, w który tydzień przypada wartość daty, i zwraca liczbę numerów tygodni oraz rok, w którym ma miejsce transakcja.

Zmienna systemowa `FirstWeekDay` ustawia niedzielę jako pierwszy dzień tygodnia. Zmienna systemowa `BrokenWeeks` ustawia aplikację tak, aby używała podzielonych tygodni, co oznacza, że tydzień 1 rozpocznie się 1 stycznia.

Diagram funkcji `weekname()` ze zmiennymi domyślnymi.

Diagram funkcji `weekname()` ze zmiennymi domyślnymi.

Diagram funkcji `weekname()`weekname() ze zmiennymi domyślnymi. ![Diagram that shows how the weekname() function identifies the week number and year in which a transaction takes place.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram1.png)

Tydzień 1 rozpoczyna się 1 stycznia, czyli w sobotę, dlatego transakcje występujące w tym dniu zwracają wartość `2022/01` (rok i numer tygodnia).

Diagram funkcji `weekname()` identyfikującej numer tygodnia transakcji 8192.

Diagram funkcji `weekname()` identyfikującej numer tygodnia transakcji 8192.

Diagram funkcji `weekname()`weekname() identyfikującej numer tygodnia transakcji 8192. ![Diagram that shows how the weekname() function identifies the week number in which a transaction 8192 took place.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram2.png)

Ponieważ aplikacja używa podzielonych tygodni, a pierwszym dniem tygodnia jest niedziela, transakcje występujące od 2 do 8 stycznia zwracają wartość `2022/02` (tydzień 2 w 2022 r.) Przykładem tego byłaby transakcja 8192, która miała miejsce 5 stycznia i zwraca wartość `2022/02` dla pola „`week_number`”.

## Przykład 2 – period\_no

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

#### Skrypt ładowania i wyniki

Przegląd

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

Jednak w tym przykładzie zadaniem jest utworzenie pola „`previous_week_number`”, które zwraca rok i numer tygodnia sprzed transakcji.

Otwórz Edytor ładowania danych i dodaj następujący skrypt ładowania do nowej sekcji.

Skrypt ładowania

```
SET BrokenWeeks=1; 
SET FirstWeekDay=6; 
						
Transactions: 
   Load 
     *, 
     weekname(date,-1) as previous_week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
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.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Wyniki

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

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

Tabela wynikowa

| Identyfikator | Data | week\_day | numer\_tygodnia |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Pon | 2021/52 |
| 8184 | 12/28/2021 | Wto | 2021/52 |
| 8185 | 12/29/2021 | Śro | 2021/52 |
| 8186 | 12/30/2021 | Czw | 2021/52 |
| 8187 | 12/31/2021 | Fri | 2021/52 |
| 8188 | 01/01/2022 | Sob | 2021/52 |
| 8189 | 01/02/2022 | Nie | 2021/53 |
| 8190 | 01/03/2022 | Pon | 2021/53 |
| 8191 | 01/04/2022 | Wto | 2021/53 |
| 8192 | 01/05/2022 | Śro | 2021/53 |
| 8193 | 01/06/2022 | Czw | 2021/53 |
| 8194 | 01/07/2022 | Fri | 2021/53 |
| 8195 | 01/08/2022 | Sob | 2022/01 |
| 8196 | 01/09/2022 | Nie | 2022/02 |
| 8197 | 01/10/2022 | Pon | 2022/02 |
| 8198 | 01/11/2022 | Wto | 2022/02 |
| 8199 | 01/12/2022 | Śro | 2022/02 |
| 8200 | 01/13/2022 | Czw | 2022/02 |
| 8201 | 01/14/2022 | Fri | 2022/02 |

Ponieważ `period_no` o wartości `-1` użyto jako argumentu przesunięcia w funkcji `weekname()`, funkcja najpierw identyfikuje tydzień, w którym odbywają się transakcje. Następnie identyfikuje pierwszą milisekundę poprzedniego tygodnia.

Diagram funkcji `weekname()` z przesunięciem `period_no` równym -1.

Diagram funkcji `weekname()` z przesunięciem `period_no` równym -1.

Diagram funkcji `weekname()`weekname() z przesunięciem `period_no`period\_no równym -1. ![Diagram that shows how the period_no offset of negative one makes the weekname() function retreive the week number of the previous week.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example2-diagram.png)

Transakcja 8192 miała miejsce 5 stycznia 2022 r. Funkcja `weekname()` zwraca numer tygodnia i rok dla daty 30 grudnia 2021 r. z poprzedniego tygodnia — `2021/53`.

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

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

#### Skrypt ładowania i wyniki

Przegląd

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

Jednak w tym przykładzie zgodnie z polityką firmową tydzień roboczy rozpoczyna się we wtorek.

Otwórz Edytor ładowania danych i dodaj następujący skrypt ładowania do nowej sekcji.

Skrypt ładowania

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

Transactions: 
   Load 
     *, 
     weekday(date) as week_day, 
     weekname(date,0,1) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
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.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Wyniki

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

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

Tabela wynikowa

| Identyfikator | Data | week\_day | numer\_tygodnia |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Pon | 2021/52 |
| 8184 | 12/28/2021 | Wto | 2021/53 |
| 8185 | 12/29/2021 | Śro | 2021/53 |
| 8186 | 12/30/2021 | Czw | 2021/53 |
| 8187 | 12/31/2021 | Fri | 2021/53 |
| 8188 | 01/01/2022 | Sob | 2022/01 |
| 8189 | 01/02/2022 | Nie | 2022/01 |
| 8190 | 01/03/2022 | Pon | 2022/01 |
| 8191 | 01/04/2022 | Wto | 2022/02 |
| 8192 | 01/05/2022 | Śro | 2022/02 |
| 8193 | 01/06/2022 | Czw | 2022/02 |
| 8194 | 01/07/2022 | Fri | 2022/02 |
| 8195 | 01/08/2022 | Sob | 2022/02 |
| 8196 | 01/09/2022 | Nie | 2022/02 |
| 8197 | 01/10/2022 | Pon | 2022/02 |
| 8198 | 01/11/2022 | Wto | 2022/03 |
| 8199 | 01/12/2022 | Śro | 2022/03 |
| 8200 | 01/13/2022 | Czw | 2022/03 |
| 8201 | 01/14/2022 | Fri | 2022/03 |

Schemat funkcji `weekname()` z wtorkiem jako pierwszym dniem tygodnia.

Schemat funkcji `weekname()` z wtorkiem jako pierwszym dniem tygodnia.

Schemat funkcji `weekname()`weekname() z wtorkiem jako pierwszym dniem tygodnia. ![Diagram that shows how the weekname() function works when Tuesday is set as the first day of week.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram1.png)

Ponieważ argument `first_week_date` o wartości `1` jest używany w funkcji `weekname()`, używa ona wtorku jako pierwszego dnia tygodnia. Funkcja ta określa więc, że 53. tydzień 2021 r. rozpoczyna się we wtorek 28 grudnia, a ze względu na to, że aplikacja używa niepodzielonych tygodni, tydzień 1. rozpoczyna się 1 stycznia 2022 r., a kończy w ostatnią milisekundę poniedziałku 3 stycznia 2022 r.

Diagram przedstawiający numer tygodnia transakcji 8192 z wtorkiem jako pierwszym dniem tygodnia.

Diagram przedstawiający numer tygodnia transakcji 8192 z wtorkiem jako pierwszym dniem tygodnia.

Diagram przedstawiający numer tygodnia transakcji 8192 z wtorkiem jako pierwszym dniem tygodnia. ![Diagram that shows how setting Tuesday as the first day of the week makes the weekname() function return a different week number for transaction 8192.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram2.png)

Transakcja 8192 miała miejsce 5 stycznia 2022 r. W związku z tym, używając wtorku jako parametru `first_week_day`, funkcja `weekname()` zwraca wartość `2022/02` dla pola „`week_number`”.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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. Obliczenie zwracające numer roku tygodnia, kiedy wystąpiły transakcje, jest tworzone jako miara w obiekcie wykresu aplikacji.

Skrypt ładowania

```
SET BrokenWeeks=1; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
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.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

Wyniki

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

* id

* date

* =week\_day (date)

Aby obliczy początek tygodnia, kiedy ma miejsce transakcja, utwórz następującą miarę:

=weekname(date)

Tabela wynikowa

| Identyfikator | Data | =weekday(date) | =weekname(date) |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | Pon | 2021/53 |
| 8184 | 12/28/2021 | Wto | 2021/53 |
| 8185 | 12/29/2021 | Śro | 2021/53 |
| 8186 | 12/30/2021 | Czw | 2021/53 |
| 8187 | 12/31/2021 | Fri | 2021/53 |
| 8188 | 01/01/2022 | Sob | 2022/01 |
| 8189 | 01/02/2022 | Nie | 2022/02 |
| 8190 | 01/03/2022 | Pon | 2022/02 |
| 8191 | 01/04/2022 | Wto | 2022/02 |
| 8192 | 01/05/2022 | Śro | 2022/02 |
| 8193 | 01/06/2022 | Czw | 2022/02 |
| 8194 | 01/07/2022 | Fri | 2022/02 |
| 8195 | 01/08/2022 | Sob | 2022/02 |
| 8196 | 01/09/2022 | Nie | 2022/03 |
| 8197 | 01/10/2022 | Pon | 2022/03 |
| 8198 | 01/11/2022 | Wto | 2022/03 |
| 8199 | 01/12/2022 | Śro | 2022/03 |
| 8200 | 01/13/2022 | Czw | 2022/03 |
| 8201 | 01/14/2022 | Fri | 2022/03 |

Miarę „week\_number” tworzy się w obiekcie wykresu, używając funkcji weekname() i przekazując pole daty jako jej argument.

Funkcja weekname() początkowo identyfikuje tydzień, w którym przypada wartość daty, i zwraca liczbę numerów tygodni oraz rok, w którym ma miejsce transakcja.

Zmienna systemowa FirstWeekDay ustawia niedzielę jako pierwszy dzień tygodnia. Zmienna systemowa BrokenWeeks ustawia aplikację tak, aby używała podzielonych tygodni, co oznacza, że tydzień 1 rozpoczyna się 1 stycznia.

Diagram przedstawiający numer tygodnia z sobotą jako pierwszym dniem tygodnia.

Diagram przedstawiający numer tygodnia z sobotą jako pierwszym dniem tygodnia.

Diagram przedstawiający numer tygodnia z sobotą jako pierwszym dniem tygodnia. ![Diagram that shows the week 1 begins on January 1 and Sunday as the first day of the week.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

Diagram pokazujący, że transakcja 8192 miała miejsce w drugim tygodniu.

Diagram pokazujący, że transakcja 8192 miała miejsce w drugim tygodniu.

Diagram pokazujący, że transakcja 8192 miała miejsce w drugim tygodniu. ![Diagram that shows transaction 8192 takes place in week 2.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

Ponieważ aplikacja używa podzielonych tygodni, a pierwszym dniem tygodnia jest niedziela, transakcje występujące od 2 do 8 stycznia zwracają wartość 2022/02 (tydzień 2 w 2022 r.). Zauważ, że transakcja 8192 miała miejsce 5 stycznia i zwraca wartość 2022/02 dla pola „week\_number”.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekname.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 ostatni tydzień 2019 r. i pierwsze dwa tygodnie 2020 r. jest ładowany do tabeli o nazwie „Transactions”.

* Zmienna systemowa BrokenWeeks, która jest ustawiona na 0.

* Zmienna systemowa ReferenceDay, która jest ustawiona na 2.

* Zmienna systemowa DateFormat, która jest ustawiona na format MM/DD/YYYY.

Skrypt ładowania

```
SET BrokenWeeks=0;  
SET ReferenceDay=2;  
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2019,58.27 
8184,12/28/2019,67.42 
8185,12/29/2019,23.80 
8186,12/30/2019,82.06 
8187,12/31/2019,40.56 
8188,01/01/2020,37.23 
8189,01/02/2020,17.17 
8190,01/03/2020,88.27 
8191,01/04/2020,57.42 
8192,01/05/2020,53.80 
8193,01/06/2020,82.06 
8194,01/07/2020,40.56 
8195,01/08/2020,53.67 
8196,01/09/2020,26.63 
8197,01/10/2020,72.48 
8198,01/11/2020,18.37 
8199,01/12/2020,45.26 
8200,01/13/2020,58.23 
8201,01/14/2020,18.52 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę.

Utwórz wyliczany wymiar używając następującego wyrażenia:

=weekname(date)

Aby obliczyć łączną sprzedaż, utwórz następującą miarę agregacji:

=sum(amount)

Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| weekname(date) | =sum(amount) |
| --- | --- |
| 2019/52 | $125.69 |
| 2020/01 | $346.51 |
| 2020/02 | $347.57 |
| 2020/03 | $122.01 |

Aby zademonstrować wyniki użycia funkcji weekname() w tym zastosowaniu, dodaj następujące pole jako wymiar:

date

Tabela wyników z polem daty

| weekname(date) | Data | =sum(amount) |
| --- | --- | --- |
| 2019/52 | 12/27/2019 | $58.27 |
| 2019/52 | 12/28/2019 | $67.42 |
| 2020/01 | 12/29/2019 | $23.80 |
| 2020/01 | 12/30/2019 | $82.06 |
| 2020/01 | 12/31/2019 | $40.56 |
| 2020/01 | 01/01/2020 | $37.23 |
| 2020/01 | 01/02/2020 | $17.17 |
| 2020/01 | 01/03/2020 | $88.27 |
| 2020/01 | 01/04/2020 | $57.42 |
| 2020/02 | 01/05/2020 | $53.80 |
| 2020/02 | 01/06/2020 | $82.06 |
| 2020/02 | 01/07/2020 | $40.56 |
| 2020/02 | 01/08/2020 | $53.67 |
| 2020/02 | 01/09/2020 | $26.63 |
| 2020/02 | 01/10/2020 | $72.48 |
| 2020/02 | 01/11/2020 | $18.37 |
| 2020/03 | 01/12/2020 | $45.26 |
| 2020/03 | 01/13/2020 | $58.23 |
| 2020/03 | 01/14/2020 | $18.52 |

Ponieważ aplikacja używa niepodzielonych tygodni, a tydzień 1. wymaga co najmniej dwóch dni w styczniu ze względu na zmienną systemową ReferenceDay, tydzień 1. roku 2020 obejmuje transakcje z 29 grudnia 2019.