# inmonthtodate funkcja skryptu i funkcja wykresu

Zwraca wartość True, jeśli wartość date należy do części miesiąca zawierającego wartość basedate z dokładnością do jednej milisekundy wartości basedate włącznie.

InMonthToDate (timestamp, base\_date, period\_no)

Typ zwracanych danych: Logiczna

Schemat funkcji `inmonthtodate`.

Schemat funkcji `inmonthtodate`.

Schemat funkcji `inmonthtodate`inmonthtodate. ![Diagram showing how inmonthtodate function can be used to identify if a timstamp falls within or outside of a set month.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

Funkcja `inmonthtodate()` identyfikuje określony miesiąc jako segment. Granica początkowa to początek miesiąca. Granica końcowa może zostać ustawiona na późniejszą datę w miesiącu. Następnie sprawdza, czy zestaw dat mieści się w tym zakresie, zwracając w wyniku logiczną prawdę lub logiczny fałsz.

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Data, która ma być porównana z wartością base\_date. |
| base\_date | Data używana do oceny miesiąca. |
| period\_no | Miesiąc może zostać przesunięty o wartość period\_no. period\_no jest liczbą całkowitą, gdzie 0 oznacza miesiąc zawierający wartość base\_date. Wartości ujemne parametru period\_no oznaczają miesiące poprzednie, a wartości dodatnie — miesiące następne. |

Kiedy używać

Funkcja `inmonthtodate()` zwraca wynik logiczny. Zazwyczaj ten typ funkcji jest używany jako warunek w `if expression`. Funkcja `inmonthtodate()` zwraca agregację lub obliczenia, które zależą od tego, czy data wypada w miesiącu do interesującej nas daty włącznie.

Na przykład funkcja `inmonthtodate()` może służyć do identyfikacji całego sprzętu wyprodukowanego w miesiącu do określonej daty.

## 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łady funkcji

| Przykład | Wynik |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | Zwraca True |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | Zwraca False |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | Zwraca True |

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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 jest ładowany do tabeli o nazwie ‘`Transactions`’.

* Pole daty jest przekazywane w formacie `DateFormat` systemowej zmiennej (`MM/DD/YYYY`).

* Instrukcja poprzedzającego ładowania zawierająca:

  * Funkcja `inmonthtodate()`, która jest ustawiona jako pole „`in_month_to_date`”. Pozwala to sprawdzić, które transakcje zostały zawarte między 1 a 26 lipca 2022 roku.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_to_date 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`
* `in_month_to_date`

Tabela wynikowa

| date | in\_month\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Pole ‘`in_month_to_date`’ jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji `inmonthtodate()`.

Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 26 lipca, która jest wartością argumentu `base_date`. Ten argument `base_date` określa, który miesiąc jest segmentowany i końcową granicę tego segmentu.

Argument `period_no` o wartości `0` jest ostatni, co oznacza, że funkcja nie porównuje miesięcy poprzedzających segmentowany miesiąc ani następujących po nim.

Diagram funkcji `inmonthtodate` bez dodatkowych argumentów.

Diagram funkcji `inmonthtodate` bez dodatkowych argumentów.

Diagram funkcji `inmonthtodate`inmonthtodate bez dodatkowych argumentów. ![Diagram showing the range of transactions that are identified as TRUE by the inmonthtodate function.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

W efekcie wszelkie transakcje, które występują między 1 a 26 lipca, powodują zwrot w wyniku logicznej prawdy. Każda transakcja zawarta w lipcu po 26 lipca powoduje zwrot logicznego fałszu, podobnie jak każda transakcja zawarta w jakimkolwiek innym miesiącu roku.

## Przykład 2 – period\_no

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

#### Skrypt ładowania i wyniki

Przegląd

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

W tym przykładzie chodzi o utworzenie pola, `six_months_prior`, sprawdzającego, które transakcje zostały zawarte pełne sześć miesięcy przed 1 i 26 lipca.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`

* `six_months_prior`

Tabela wynikowa

| date | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Po otrzymaniu wartości `-6` jako argumentu `period_no` funkcja `inmonthtodate()` przesuwa granice segmentu miesiąca porównawczego o sześć miesięcy. Początkowo segment miesiąca jest równy zakresowi dat od 1 do 26 lipca. Następnie `period_no` przesuwa go wstecz o sześć miesięcy, w efekcie czego zostają przesunięte granice dat, które od tej pory wypadają między 1 i 26 stycznia.

Diagram funkcji `inmonthtodate` z argumentem period\_no ustawionym na -6.

Diagram funkcji `inmonthtodate` z argumentem period\_no ustawionym na -6.

Diagram funkcji `inmonthtodate`inmonthtodate z argumentem period\_no ustawionym na -6. ![Diagram showing the range of transactions with the period_no argument set to -6.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

W efekcie wszelkie transakcje zawarte między 1 i 26 stycznia będą powodować zwrot w wyniku logicznej prawdy.

## Przykład 3 – przykład z wykresem

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

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

Przegląd

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

W tym przykładzie zbiór danych pozostaje bez zmian i jest ładowany do aplikacji. Zadanie polega na utworzeniu obliczenia określającego, czy transakcje miały miejsce między 1 a 26 lipca, jako miary w wykresie aplikacji.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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ć, czy transakcje zostały zawarte między 1 a 26 lipca, utwórz następującą miarę:

`=inmonthtodate(date,'07/26/2022', 0)`

Tabela wynikowa

| date | =inmonthtodate(date,'07/26/2022', 0) |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Miara pola `in_month_to_date` została utworzona na wykresie za pomocą funkcji `inmonthtodate()`.

Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 26 lipca, która jest wartością argumentu `base_date`. Ten argument base\_date określa, który miesiąc jest segmentowany i końcową granicę tego segmentu. Ostatni argument to `period_no` o wartości 0. To znaczy, że funkcja nie porównuje miesięcy poprzedzających segmentowany miesiąc, ani po nim następujących.

Diagram funkcji `inmonthtodate` bez dodatkowych argumentów.

Diagram funkcji `inmonthtodate` bez dodatkowych argumentów.

Diagram funkcji `inmonthtodate`inmonthtodate bez dodatkowych argumentów. ![Diagram showing the range of transactions with between July 1 and July 26.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

W efekcie wszelkie transakcje, które występują między 1 a 26 lipca, powodują zwrot w wyniku logicznej prawdy. Każda transakcja zawarta w lipcu po 26 lipca powoduje zwrot logicznego fałszu, podobnie jak każda transakcja zawarta w jakimkolwiek innym miesiącu roku.

## Przykład 4 — zastosowanie

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

#### Skrypt ładowania i wyniki

Przegląd

W tym przykładzie zestaw danych jest ładowany do tabeli o nazwie `Products`. Tabela zawiera następujące pola:

* Product ID

* Manufacture date

* Cost price

Z powodu błędu sprzętowego produkty wyprodukowane w lipcu 2022 r. były wadliwe. Problem został rozwiązany 27 lipca 2022 r.

Użytkownik końcowy chciałby uzyskać wykres wyświetlający według miesięc status produktów: „defective” (wadliwe; wartość logiczna TRUE) lub „faultless” (bez wad; wartość logiczna FALSE) oraz koszt produktów wytworzonych w danym miesiącu.

Skrypt ładowania

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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:

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

Aby obliczyć sumę kosztów produktów, utwórz następującą miarę:

`=sum(cost_price)`

Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| monthname(manufacture\_date) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | Faultless | $54.40 |
| Feb 2022 | Faultless | $145.69 |
| Mar 2022 | Faultless | $53.80 |
| Apr 2022 | Faultless | $82.06 |
| Maj 2022 | Faultless | $127.60 |
| Jun 2022 | Faultless | $141.82 |
| Jul 2022 | Defective | $144.66 |
| Jul 2022 | Faultless | $69.98 |
| Aug 2022 | Faultless | $147.46 |
| Sep 2022 | Faultless | $84.21 |
| Oct 2022 | Faultless | $163.91 |

Funkcja `inmonthtodate()` zwraca wartość logiczną podczas oceny dat wytworzenia każdego z produktów.

Dla dat powodujących zwrot logicznej prawdy produkt jest oznaczany jako wadliwy (Defective). Dla każdego produktu powodującego zwrot wartości FALSE, a zatem niewyprodukowanego w lipcu do 26. dnia tego miesiąca włącznie, funkcja dodaje oznaczenie „Faultless” (Bez wad).