# inmonths funkcja skryptu i funkcja wykresu

Ta funkcja sprawdza, czy znacznik czasu mieści się w tym samym okresie miesięcznym, dwumiesięcznym, kwartalnym, czteromiesięcznym lub półrocznym, jako data bazowa. Można także wyszukać, czy znacznik czasu przypada w okresie poprzednim lub następnym.

InMonths(n\_months, timestamp, base\_date, period\_no [, first\_month\_of\_year])

Typ zwracanych danych: Logiczna

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

Diagram funkcji `inmonths()`

Diagram funkcji `inmonths()`

Diagram funkcji `inmonths()`inmonths() ![Diagram that shows the range of time in which the inmonths() function will evaluate a base date as true or false.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-diagram1.png)

Funkcja `inmonths()` dzieli rok na segmenty na podstawie przekazanego argumentu `n_months`. Następnie określa, czy każdy z ocenianych znaczników czasu wypada w tym samym segmencie, co argument `base_date`. Jeśli jednak zostanie przekazany argument `period_no`, funkcja określa, czy znaczniki czasu wypadają w poprzednim lub następnym okresie od `base_date`.

Następujące segmenty roku są dostępne w funkcji jako argumenty `n_month`.

`n_month`n\_month argumenty

| Okres | Liczba miesięcy |
| --- | --- |
| miesiąc | 1 |
| dwa miesiące | 2 |
| kwartał | 3 |
| cztery miesiące | 4 |
| pół roku | 6 |

Kiedy używać

Funkcja `inmonths()` zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w `if expression`. Za pomocą funkcji `inmonths()` możesz wybrać okres, który chcesz sprawdzić. Na przykład możesz pozwolić użytkownikowi zidentyfikować produkty wytworzone w miesiącu, kwartale lub półroczu określonego okresu.

Typ zwracanych danych: Logiczna

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

Argumenty

| Argument | Opis |
| --- | --- |
| n\_months | Liczba miesięcy określająca okres. Wartość całkowita lub wyrażenie, którego wynikiem jest jedna z następujących wartości całkowitych: 1 (równoważnik funkcji inmonth()), 2 (dwa miesiące), 3 (równoważnik funkcji inquarter()), 4 (cztery miesiące) lub 6 (pół roku). |
| timestamp | Data, która ma być porównana z wartością base\_date. |
| base\_date | Data używana do oceny okresu. |
| period\_no | Okres może być przesunięty o wartość period\_no — liczbę całkowitą lub wyrażenie, którego wynikiem jest liczba całkowita, gdzie wartość 0 wskazuje dzień zawierający wartość base\_date. Wartości ujemne parametru period\_no oznaczają okresy poprzednie, a wartości dodatnie — okresy następne. |
| first\_month\_of\_year | Jeśli użytkownik zamierza korzystać z lat (obrotowych), które nie zaczynają się w styczniu, powinien wskazać wartość od 2 do 12 jako parametr first\_month\_of\_year. |

Aby ustawić pierwszy miesiąc roku w argumencie `first_month_of_year`, możesz użyć następujących wartości:

first\_month\_of\_year values

| Miesiąc | wartość |
| --- | --- |
| Luty | 2 |
| Marzec | 3 |
| Kwiecień | 4 |
| Maj | 5 |
| Czerwiec | 6 |
| Lipiec | 7 |
| Sierpień | 8 |
| Wrzesień | 9 |
| Październik | 10 |
| Listopad | 11 |
| Grudzień | 12 |

## 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 |
| --- | --- |
| `inmonths(4, '01/25/2013', '04/25/2013', 0)` | Zwraca wartość TRUE. Ponieważ wartość znacznika, 01/25/2013, zawiera się w okresie czteromiesięcznym od 01/01/2013 do 04/30/2013, w którym przypada `base_date`, 04/25/2013. |
| `inmonths(4, '05/25/2013', '04/25/2013', 0)` | Zwraca wartość FALSE. Ponieważ data 05/25/2013 przypada poza tym samym okresem co poprzedni przykład. |
| `inmonths(4, '11/25/2012', '02/01/2013', -1 )` | Zwraca wartość TRUE. Ponieważ wartość `period_no`, `-1` powoduje przesunięcie okresu wyszukiwania w tył o jeden okres czterech miesięcy (wartość n-months), przez co okres wyszukiwania przypada od 09/01/2012 do 12/31/2012. |
| `inmonths(4, '05/25/2006', '03/01/2006', 0, 3)` | Zwraca wartość TRUE. Ponieważ wartość `first_month_of_year` jest ustawiona na `3`, co sprawia, że okres wyszukiwania jest od 03/01/2006 do 07/30/2006 zamiast od 01/01/2006 do 04/30/2006. |

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

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

* Poprzedzające ładowanie z dodatkową zmienną ‘`in_months`’, która określa, które transakcje miały miejsce w tym samym kwartale, w którym wypada 15 maja 2022 roku.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', 0) as in_months 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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_months`

Tabela wynikowa

| Data | in\_months |
| --- | --- |
| 19.02.2022 | 0 |
| 7.03.2022 | 0 |
| 30.03.2022 | 0 |
| 5.04.2022 | -1 |
| 16.04.2022 | -1 |
| 01.05.2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

Pole ‘`in_months`’ jest tworzone w poprzedniej instrukcji load przy użyciu funkcji `inmonths()`. Pierwszy podany argument to `3` który dzieli rok na kwartały. Drugi argument określa, które pole jest ewaluowane – pole daty w tym przypadku. Trzeci argument to wpisana bezpośrednio w kod data 15 maja, która jest datą `base_date`. Ostatnim argumentem jest `period_no` o wartości `0`.

Schemat funkcji `inmonths()` z segmentami kwartalnymi.

Schemat funkcji `inmonths()` z segmentami kwartalnymi.

Schemat funkcji `inmonths()`inmonths() z segmentami kwartalnymi. ![Diagram that shows the range of time the inmonths() function evaluates with May 15 as the base date, and the year divided into quarter segments.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-examples1_and4-diagram.png)

Maj wypada w drugim kwartale roku. W związku z tym każda transakcja, która ma miejsce między 1 kwietnia a 30 czerwca, spowoduje zwrócenie w wyniku wartości logicznej TRUE. Można to zweryfikować w tabeli wyników.

## Przykład 2 – period\_no

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

* Ładowanie poprzedzające z dodatkową zmienną `previous_quarter` określającą, czy transakcje miały miejsce w kwartale przed 15 maja 2022 roku.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', -1) as previous_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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_quarter`

Tabela wynikowa

| Data | poprzedni kwartał |
| --- | --- |
| 19.02.2022 | -1 |
| 7.03.2022 | -1 |
| 30.03.2022 | -1 |
| 5.04.2022 | 0 |
| 16.04.2022 | 0 |
| 01.05.2022 | 0 |
| 5/7/2022 | 0 |
| 5/22/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 |

Funkcja sprawdza, czy transakcje zostały zawarte w pierwszym kwartale roku za pomocą wywołania funkcji `-1` z argumentem `period_no` o wartości `inmonths()`. 15 maja to data `base_date`, która wypada w drugim kwartale roku (kwiecień–czerwiec).

Schemat `inmonths()` funkcji z segmentami kwartalnymi i `period_no` ustawioną na `-1`

Schemat `inmonths()` funkcji z segmentami kwartalnymi i `period_no` ustawioną na `-1`

Schemat `inmonths()`inmonths() funkcji z segmentami kwartalnymi i `period_no`period\_no ustawioną na `-1`-1 ![Diagram that shows the range of time the inmonths() function evaluates with May 15 as the base date, the year divided into quarter segments, and the period_no set -1 which sets the range of time back by one quarter.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-example2-diagram.png)

W związku z tym każda transakcja zawarta między styczniem i marcem spowoduje zwrócenie w wyniku logicznej prawdy.

## Przykład 3 — first\_month\_of\_year

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

* Poprzedzające ładowanie z dodatkową zmienną `in_months`, która określa, które transakcje miały miejsce w tym samym kwartale, w którym wypada 15 maja 2022 roku.

W tym przykładzie przyjęto, że marzec ma być pierwszym miesiącem roku podatkowego.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
       *, 
       inmonths(3,date,'05/15/2022', 0, 3) as in_months 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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_months`

Tabela wynikowa

| Data | in\_months |
| --- | --- |
| 19.02.2022 | 0 |
| 7.03.2022 | -1 |
| 30.03.2022 | -1 |
| 5.04.2022 | -1 |
| 16.04.2022 | -1 |
| 01.05.2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 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 |

Przekazując `3` jako `first_month_of_year` argument w funkcji `inmonths()`, funkcja rozpoczyna rok 1 marca. Funkcja `inmonths()` następnie dzieli rok na kwartały: marzec–maj, czerwiec–sierpień, wrzesień–listopad, grudzień–luty. W związku z tym 15 maja wypada w pierwszym kwartale roku (marzec–maj).

Diagram funkcji `inmonths()` z marcem ustawionym jako pierwszy miesiąc roku.

Diagram funkcji `inmonths()` z marcem ustawionym jako pierwszy miesiąc roku.

Diagram funkcji `inmonths()`inmonths() z marcem ustawionym jako pierwszy miesiąc roku. ![Diagram that shows the range of time the inmonths() function evaluates with May 15 as the base date, the year divided into quarter segments, and March set as the first month of the year.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-example3-diagram.png)

Każda transakcja zawarta w tych miesiącach spowoduje zwrócenie logicznej prawy.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonths.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. Obliczenia określające, czy transakcje miały miejsce w tym samym kwartale, w którym wypada 15 maja 2022 r., jest tworzone jako miara w wykresie w aplikacji.

Skrypt ładowania

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'2/19/2022',37.23 
8189,'3/7/2022',17.17 
8190,'3/30/2022',88.27 
8191,'4/5/2022',57.42 
8192,'4/16/2022',53.80 
8193,'5/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/22/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 w tym samym kwartale, w którym wypada 15 maja, utwórz następującą miarę:

`=inmonths(3,date,'05/15/2022', 0)`

Tabela wynikowa

| date | =inmonths(3,date,'05/15/2022', 0) |
| --- | --- |
| 19.02.2022 | 0 |
| 7.03.2022 | 0 |
| 30.03.2022 | 0 |
| 5.04.2022 | -1 |
| 16.04.2022 | -1 |
| 01.05.2022 | -1 |
| 5/7/2022 | -1 |
| 5/22/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

Pole `in_months` jest tworzone w wykresie za pomocą funkcji `inmonths()`. Pierwszy podany argument to `3` który dzieli rok na kwartały. Drugi argument określa, które pole jest ewaluowane – pole daty w tym przypadku. Trzeci argument to wpisana bezpośrednio w kod data 15 maja, która jest datą `base_date`. Ostatnim argumentem jest `period_no` o wartości `0`.

Schemat funkcji `inmonths()` z segmentami kwartalnymi.

Schemat funkcji `inmonths()` z segmentami kwartalnymi.

Schemat funkcji `inmonths()`inmonths() z segmentami kwartalnymi. ![Diagram that shows the range of time the inmonths() function evaluates with May 15 as the base date, and the year divided into quarter segments.](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonths-examples1_and4-diagram.png)

Maj wypada w drugim kwartale roku. W związku z tym każda transakcja, która ma miejsce między 1 kwietnia a 30 czerwca, spowoduje zwrócenie w wyniku wartości logicznej TRUE. Można to zweryfikować w tabeli wyników.

## Przykład 5 — zastosowanie

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonths.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 załadowany do tabeli o nazwie Products.

* Tabela zawiera następujące pola:

  * identyfikator produktu,

  * typ produktu,

  * data produkcji,

  * cena.

Użytkownik chciałby, aby wykres wyświetlał według typu produktu koszt produktów wyprodukowanych w pierwszym segmencie roku 2021. Użytkownik chciałby móc zdefiniować długość tego segmentu.

Skrypt ładowania

```
SET vPeriod = 1; 

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

Wyniki

Załaduj dane i otwórz arkusz.

Na początku skryptu ładowania została utworzona zmienna vPeriod, która jest powiązana z formantem wprowadzania zmiennych.

Wykonaj następujące czynności:

1. W panelu zasobów kliknij Wykresy.

2. W sekcji Obiekty pulpitu nawigacyjnego przeciągnij Zmienne dane wejściowe na arkusz.

3. Wprowadź tytuł obiektu wykresu.

4. W polu Zmienna wybierz vPeriod jako nazwę i ustaw obiekt tak, aby był wyświetlany jako lista rozwijana.

5. W sekcji Wartości kliknij Wartości dynamiczne. Wprowadź:

   ```
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'.
   ```

6. Dodaj nową tabelę do arkusza.

7. W sekcji Dane w okienku właściwości dodaj product\_type jako wymiar.

8. Dodaj następujące wyrażenie jako miarę:

   =sum(if(inmonths($(vPeriod),manufacture\_date,makedate(2022,01,01),0),cost\_price,0))

9. Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| product\_type | =sum(if(inmonths($(vPeriod),manufacture\_date,makedate(2022,01,01),0),cost\_price,0)) |
| --- | --- |
| product A | $88.27 |
| product B | $37.23 |
| product C | $17.17 |
| product D | 0,00 zł |

Funkcja inmonths() używa danych wprowadzonych przez użytkownika jako swojego argumentu określającego rozmiar początkowego segmentu roku. Funkcja przekazuje datę produkcji każdego z produktów jako drugi argument funkcji inmonths(). Przekazanie daty 1 stycznia jako trzeciego argumentu funkcji inmonths() powoduje, że produkty o dacie produkcji wypadającej w otwierającym segmencie roku będą powodować zwrot w wyniku logicznej prawdy, co będzie skutkowało sumowaniem ich kosztów.