# inweektodate funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość True, jeśli wartość timestamp należy do części tygodnia zawierającego wartość base\_date, z dokładnością do ostatniej milisekundy wartości base\_date włącznie.

Składnia:

InWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

Typ zwracanych danych: Logiczna

Informacja

W Qlik Sense wartość logiczna Prawda jest reprezentowana przez -1, a wartość Fałsz jest reprezentowana przez 0.

Diagram funkcji inweektodate

Diagram funkcji inweektodate

Diagram funkcji inweektodate ![Przykładowy diagram zakresu dat, w którym funkcja inweektodate zwróci wartość TRUE.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-general.png)

Funkcja `inweektodate()` używa parametru `base_date` do identyfikacji maksymalnej daty granicznej segmentu tygodnia, a także odpowiadającej mu daty początku tygodnia, która jest oparta na zmiennej systemowej `FirstWeekDay` (lub parametrze `first_week_day` zdefiniowanym przez użytkownika). Kiedy segment tygodnia zostanie zdefiniowany, funkcja zwraca wyniki logiczne podczas porównywania określonych wartości dat z tym segmentem.

## Kiedy używać

Funkcja `inweektodate()` zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w wyrażeniu `if`. Spowoduje to zwrócenie agregacji lub obliczenia w zależności od tego, czy oceniana data nastąpiła w danym tygodniu do określonej daty włącznie.

Na przykład funkcja `inweektodate()` może służyć do obliczania wszystkich sprzedaży dokonanych w określonym tygodniu do określonej daty.

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Data, która ma być porównana z wartością base\_date. |
| base\_date | Data używana do oceny tygodnia. |
| period\_no | Tydzień może zostać przesunięty o wartość period\_no. period\_no jest liczbą całkowitą, gdzie 0 oznacza tydzień zawierający wartość base\_date. Wartości ujemne parametru period\_no oznaczają tygodnie poprzednie, a wartości dodatnie — tygodnie następne. |
| first\_week\_day | Domyślnie pierwszym dniem tygodnia jest niedziela (zgodnie ze zmienną systemową FirstWeekDay), począwszy od północy między sobotą a niedzielą. Parametr first\_week\_day zastępuje zmienną FirstWeekDay. Aby wskazać, że tydzień zaczyna się innego dnia, należy określić flagę w zakresie od 0 do 6.<br><br>W przypadku tygodnia rozpoczynającego się w poniedziałek i kończącego w niedzielę użyj flagi 0 dla poniedziałku, 1 dla wtorku, 2 dla środy, 3 dla czwartku, 4 dla piątku, 5 dla soboty i 6 dla niedzieli. |

Przykłady funkcji

| Przykład | Interakcja |
| --- | --- |
| `inweektodate('01/12/2006', '01/12/2006', 0)` | Zwraca wartość `TRUE`. |
| `inweektodate('01/12/2006', '01/11/2006', 0)` | Zwraca wartość `FALSE`. |
| ` inweektodate('01/12/2006', '01/18/2006', -1)  ` | Zwraca wartość `FALSE`.<br>Ponieważ `period_no` określono jako -1, dlatego data obowiązywania, względem której mierzy się `timestamp`, jest równa 01/11/2006. |
| ` inweektodate('01/11/2006', '01/12/2006', 0, 3 )  ` | Zwraca `FALSE`, ponieważ wartość `first_week_day` określono jako `3` (czwartek), przez co 01/12/2006 staje się pierwszym dniem tygodnia następującego po tygodniu zawierającym 01/12/2006. |

W pracy z tą funkcją mogą Ci pomóc poniższe tematy:

Tematy pokrewne

| Temat | Flaga domyślna / Wartość | Opis |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6 / niedziela | Definiuje dzień rozpoczęcia każdego tygodnia. |

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

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 styczeń 2022, który jest ładowany do tabeli o nazwie `Transactions`.

* Pole danych podane w formacie `TimestampFormat='M/D/YYYY h:mm:ss[.fff]'`.

* Utworzenie pola, `in_week_to_date`, które określa, jakie transakcje miały miejsce w tygodniu do 14 stycznia 2022 r.

* Tworzenie dodatkowego pola o nazwie `weekday` przy użyciu funkcji `weekday()`. To nowe pole jest tworzone, aby pokazać, który dzień tygodnia odpowiada poszczególnym datom.

Skrypt ładowania

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
SET FirstWeekDay=6;
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Wyniki

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

* `date`

* `week_day`

* `in_week_to_date`

Tabela wynikowa

| date | week\_day | w\_tygodniu\_do\_dzisiaj |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Nie | 0 |
| 2022-01-05 01:02:30 | Śro | 0 |
| 2022-01-06 15:36:20 | Czw | 0 |
| 2022-01-08 10:58:35 | Sob | 0 |
| 2022-01-09 08:53:32 | Nie | -1 |
| 2022-01-10 21:13:01 | Pon | -1 |
| 2022-01-11 00:57:13 | Wto | -1 |
| 2022-01-12 09:26:02 | Śro | -1 |
| 2022-01-13 15:05:09 | Czw | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sob | 0 |
| 2022-01-16 06:39:27 | Nie | 0 |
| 2022-01-17 10:44:16 | Pon | 0 |
| 2022-01-18 18:48:17 | Wto | 0 |
| 2022-01-26 04:36:03 | Śro | 0 |
| 2022-01-27 08:07:49 | Czw | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Nie | 0 |
| 2022-01-30 14:40:19 | Nie | 0 |
| 2022-01-31 05:28:21 | Pon | 0 |

Pole `in_week_to_date` jest tworzone w instrukcji ładowania poprzedzającego przy użyciu funkcji `inweektodate()`. Pierwszy podany argument określa, które pole jest oceniane. Drugi argument to ustalona data 14 stycznia — jest to argument `base_date`, który wskazuje tydzień do posegmentowania i identyfikuje granicę końcową tego segmentu. Argument `period_no` o wartości 0 jest ostatnim argumentem, co oznacza, że funkcja nie porównuje tygodni poprzedzających segmentowany tydzień ani następujących po nim.

Zmienna systemowa `FirstWeekDay` określa, że tygodnie zaczynają się w niedzielę i kończą w sobotę. W związku z tym styczeń zostałby podzielony na tygodnie zgodnie z poniższym wykresem, a daty między 9 a 14 stycznia stanowiłyby ważny okres dla obliczenia `inweekdodate()`:

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE ![Diagram przedstawiający zakres dat, dla których funkcja inweektodate zwróci wartość TRUE.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-no-add-arg-calendar.png)

Wszelkie transakcje, które występują między 9 a 14 stycznia, zwracają jako wynik wartość logiczną `TRUE`. Transakcje przed i po tych datach zwracają wynik logiczny `FALSE`.

## Przykład 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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, `prev_week_to_date`, które określa, jakie transakcje miały miejsce w pełnym tygodniu przed segmentem tygodnia kończącego się 14 stycznia 2022 r.

* Tworzenie dodatkowego pola o nazwie `weekday` przy użyciu funkcji `weekday()`. Pokazuje, który dzień tygodnia odpowiada poszczególnym datom.

Skrypt ładowania

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', -1) as prev_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Wyniki

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

* `date`

* `week_day`

* `prev_week_to_date`

Tabela wynikowa

| date | week\_day | poprzedni\_tydzien\_do\_dzisiaj |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Nie | -1 |
| 2022-01-05 01:02:30 | Śro | -1 |
| 2022-01-06 15:36:20 | Czw | -1 |
| 2022-01-08 10:58:35 | Sob | 0 |
| 2022-01-09 08:53:32 | Nie | 0 |
| 2022-01-10 21:13:01 | Pon | 0 |
| 2022-01-11 00:57:13 | Wto | 0 |
| 2022-01-12 09:26:02 | Śro | 0 |
| 2022-01-13 15:05:09 | Czw | 0 |
| 2022-01-14 18:44:57 | Fri | 0 |
| 2022-01-15 06:10:46 | Sob | 0 |
| 2022-01-16 06:39:27 | Nie | 0 |
| 2022-01-17 10:44:16 | Pon | 0 |
| 2022-01-18 18:48:17 | Wto | 0 |
| 2022-01-26 04:36:03 | Śro | 0 |
| 2022-01-27 08:07:49 | Czw | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Nie | 0 |
| 2022-01-30 14:40:19 | Nie | 0 |
| 2022-01-31 05:28:21 | Pon | 0 |

Wartość `period_no` równa -1 wskazuje, że funkcja `inweektodate ()` porównuje wejściowy segment kwartału z poprzednim tygodniem. Segment tygodnia początkowo oznacza okres od 9 do 14 stycznia. Wartość `period_no` następnie przesuwa zarówno początkową, jak i końcową granicę tego segmentu do jednego tygodnia wcześniej, powodując, że datami granicznymi stają się 2 stycznia i 7 stycznia.

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE ![Diagram przedstawiający zakres dat, dla których funkcja inweektodate zwróci wartość TRUE.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-period-no-calendar.png)

W związku z tym każda transakcja, która ma miejsce między 2 a 8 stycznia (ale bez uwzględniania 8 stycznia), zwróci wynik logiczny`TRUE`.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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, `in_week_to_date`, które określa, jakie transakcje miały miejsce w tygodniu do 14 stycznia 2022 r.

* Tworzenie dodatkowego pola o nazwie `weekday` przy użyciu funkcji `weekday()`. Pokazuje, który dzień tygodnia odpowiada poszczególnym datom.

Na tym przykładzie jako pierwszy dzień tygodnia używany jest poniedziałek.

Skrypt ładowania

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';

Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0, 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Wyniki

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

* `date`

* `week_day`

* `in_week_to_date`

Tabela wynikowa

| date | week\_day | w\_tygodniu\_do\_dzisiaj |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Nie | 0 |
| 2022-01-05 01:02:30 | Śro | 0 |
| 2022-01-06 15:36:20 | Czw | 0 |
| 2022-01-08 10:58:35 | Sob | 0 |
| 2022-01-09 08:53:32 | Nie | 0 |
| 2022-01-10 21:13:01 | Pon | -1 |
| 2022-01-11 00:57:13 | Wto | -1 |
| 2022-01-12 09:26:02 | Śro | -1 |
| 2022-01-13 15:05:09 | Czw | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sob | 0 |
| 2022-01-16 06:39:27 | Nie | 0 |
| 2022-01-17 10:44:16 | Pon | 0 |
| 2022-01-18 18:48:17 | Wto | 0 |
| 2022-01-26 04:36:03 | Śro | 0 |
| 2022-01-27 08:07:49 | Czw | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Nie | 0 |
| 2022-01-30 14:40:19 | Nie | 0 |
| 2022-01-31 05:28:21 | Pon | 0 |

Kiedy używa się 0 jako argumentu `first_week_day` ] w funkcji `inweektodate()`, argument funkcji zastępuje zmienną systemową `FirstWeekDay` i ustawia poniedziałek jako pierwszy dzień tygodnia.

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE ![Diagram przedstawiający zakres dat transakcji, dla których funkcja inweektodate zwróci wartość TRUE.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-first-week-day-calendar.png)

W związku z tym każda transakcja, która ma miejsce między 10 a 14 stycznia, zwróci wynik logiczny `TRUE`, podczas gdy transakcje z datami poza tymi granicami zwrócą wartość `FALSE`.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 scenariusz co w pierwszym przykładzie. Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Obliczenie określające, które transakcje miały miejsce w tygodniu do 14 stycznia 2022 r., jest tworzone jako miara w obiekcie wykresu.

Skrypt ładowania

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Wyniki

Wykonaj następujące czynności:

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

2. Aby obliczyć, czy transakcje miały miejsce w tym samym tygodniu do 14 stycznia, utwórz następującą miarę:

   =inweektodate(date,'01/14/2022',0)

3. Aby pokazać, który dzień tygodnia odpowiada poszczególnym datom, utwórz dodatkową miarę:

   =weekday(date)

Tabela wynikowa

| date | week\_day | w\_tygodniu\_do\_dzisiaj |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Nie | 0 |
| 2022-01-05 01:02:30 | Śro | 0 |
| 2022-01-06 15:36:20 | Czw | 0 |
| 2022-01-08 10:58:35 | Sob | 0 |
| 2022-01-09 08:53:32 | Nie | -1 |
| 2022-01-10 21:13:01 | Pon | -1 |
| 2022-01-11 00:57:13 | Wto | -1 |
| 2022-01-12 09:26:02 | Śro | -1 |
| 2022-01-13 15:05:09 | Czw | -1 |
| 2022-01-14 18:44:57 | Fri | -1 |
| 2022-01-15 06:10:46 | Sob | 0 |
| 2022-01-16 06:39:27 | Nie | 0 |
| 2022-01-17 10:44:16 | Pon | 0 |
| 2022-01-18 18:48:17 | Wto | 0 |
| 2022-01-26 04:36:03 | Śro | 0 |
| 2022-01-27 08:07:49 | Czw | 0 |
| 2022-01-28 12:24:29 | Fri | 0 |
| 2022-01-30 11:56:56 | Nie | 0 |
| 2022-01-30 14:40:19 | Nie | 0 |
| 2022-01-31 05:28:21 | Pon | 0 |

Pole in\_week\_to\_date jest tworzone jako miara w obiekcie wykresu przy użyciu funkcji inweektodate(). Pierwszy podany argument określa, które pole jest oceniane. Drugi argument to ustalona data 14 stycznia — jest to argument base\_date, który wskazuje tydzień do posegmentowania i identyfikuje granicę końcową tego segmentu. Argument period\_no o wartości 0 jest ostatnim argumentem, co oznacza, że funkcja nie porównuje tygodni poprzedzających segmentowany tydzień ani następujących po nim.

Zmienna systemowa FirstWeekDay określa, że tygodnie zaczynają się w niedzielę i kończą w sobotę. W związku z tym styczeń zostałby podzielony na tygodnie zgodnie z poniższym wykresem, a daty między 9 a 14 stycznia stanowiłyby ważny okres dla obliczenia inweekdodate():

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE

Diagram kalendarza pokazujący daty transakcji, które zwrócą wynik logiczny TRUE ![Diagram przedstawiający zakres dat, dla których funkcja inweektodate zwróci wartość TRUE.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-chart-object-calendar.png)

Wszelkie transakcje, które występują między 9 a 14 stycznia, zwracają jako wynik wartość logiczną TRUE. Transakcje przed i po tych datach zwracają wynik logiczny FALSE.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inweektodate.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 Products.

* Informacje dotyczące identyfikatora produktu, daty produkcji i kosztu.

Stwierdzono, że z powodu błędu sprzętowego produkty wytworzone w tygodniu z 12 stycznia były wadliwe. Problem został rozwiązany 13 stycznia. Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał według tygodni status produktów: „defective” (wadliwe) lub „faultless” (bez wad) oraz koszt produktów wytworzonych w danym tygodniu.

Skrypt ładowania

```
Products:
Load
*
Inline
[
product_id,manufacture_date,cost_price
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Wyniki

Wykonaj następujące czynności:

1. Załaduj dane i otwórz arkusz. Utwórz nową tabelę. Utwórz wymiar, aby pokazać nazwy tygodni:

   =weekname(manufacture\_date)

2. Następnie utwórz wymiar, aby określić, które produkty są wadliwe, a które bez wad:

   =if(inWeektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

3. Utwórz miarę, aby zsumować cost\_price produktów:

   =sum(cost\_price)

4. Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| weekname(manufacture\_date) | if(inweektodate(manufacture\_date,makedate(2022,01,12),0),'Wadliwy','Bezwadny') | Sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Faultless | $200.09 |
| 2022/03 | Defective | $263.46 |
| 2022/03 | Faultless | $178.05 |
| 2022/04 | Faultless | $178.41 |
| 2022/05 | Faultless | $147.46 |
| 2022/06 | Faultless | $248.12 |

Funkcja inweektodate() zwraca wartość logiczną podczas oceny dat wytworzenia każdego z produktów. Dla tych, które zwracają wartość logiczną , oznacza produkty jako .TRUE'Defective' W przypadku każdego produktu zwracającego wartość FALSE, a zatem niewyprodukowanego w tygodniu do 12 stycznia, oznacza ona produkty jako ‘Faultless’.