# monthsend Komut dosyası ve grafik fonksiyonu

Bu fonksiyon, bir taban tarihi içeren aylık, iki aylık, üç aylık, dört aylık veya yarı yıllık dönemin son milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Ayrıca önceki veya sonraki zaman aralığının bitişine ilişkin zaman damgasını da bulmak mümkündür. Varsayılan çıktı biçimi kodda ayarlanan `DateFormat` olur.

MonthsEnd(n\_months, date[, period\_no [, first\_month\_of\_year]])

Dönüş verileri türü: Dual

`monthsend` fonksiyonu diyagramı.

`monthsend` fonksiyonu diyagramı.

`monthsend`monthsend fonksiyonu diyagramı. ![Diagram showing how monthsend function can be used to identify the latest timestamp of chosen period.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-diagram1.png)

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| n\_months | Dönemi tanımlayan ayların sayısı. Şunlardan biri olması gereken bir tamsayı olarak çözümlenen bir tamsayı veya ifade: 1 (inmonth() fonksiyonuna eşdeğerdir), 2 (iyi aylık), 3 (inquarter()fonksiyonuna eşdeğerdir), 4 (dört aylık dönem) veya 6 (yarı yıl). |
| date | Değerlendirilecek tarih veya zaman damgası. |
| period\_no | Dönem period\_no ile kaydırılabilir. Bu değer bir tamsayı ya da tamsayıya çözümlenen bir ifadedir ve burada 0 değeri base\_date içeren dönemi belirtir. period\_no içindeki negatif değerler önceki dönemleri; pozitif değerler ise sonraki dönemleri gösterir. |
| first\_month\_of\_year | Ocak'ta başlamayan (mali) yıllarla çalışmak istiyorsanız, first\_month\_of\_year içinde 2 ile 12 arasında bir değer belirtin. |

`monthsend()` fonksiyonu, sağlanan `n_months` bağımsız değişkenine göre yılı segmentlere böler. Ardından sağlanan her tarihin hangi segment içinde bulunduğunu değerlendirir ve o segmentin tarih biçiminde son milisaniyesini döndürür. Fonksiyon önceki veya sonraki segmentlerden bitiş zaman damgasını döndürebilir ve yılın ilk ayını yeniden tanımlayabilir.

Yılın aşağıdaki segmentleri fonksiyonda `n_month` bağımsız değişkenleri olarak bulunur.

`n_month`n\_month bağımsız değişkenler

| Dönem | Ay sayısı |
| --- | --- |
| ay | 1. |
| iki aylık | 2 |
| çeyrek | 3 |
| dört ay | 4 |
| altı aylık | 6 |

Ne zaman kullanılır?

`monthsend()` fonksiyonu, kullanıcının hesaplamada ayın şu ana kadar geçen kısmını kullanmak istemesi durumunda, ifadenin içinde kullanılır. Kullanıcıya bir değişken kullanarak istediği dönemi seçme fırsatı verilir. Örneğin `monthsend()`, kullanıcının ay, üç ay veya yarım yıl içinde henüz oluşmamış toplam faizi hesaplamasına olanak tanıyan bir giriş değişkeni sağlayabilir.

## Bölgesel ayarlar

Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: MM/DD/YYYY. Tarih formatı, veri yükleme kodunuzda `SET DateFormat` deyiminde belirtilir. Varsayılan tarih formatı, bölgesel ayarlarınız ve diğer unsurlar nedeniyle sisteminizde farklı olabilir. Aşağıdaki örneklerdeki formatları ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz. Dilerseniz yükleme kodunuzdaki formatları aşağıdaki örneklere uyacak şekilde değiştirebilirsiniz.

Uygulamalardaki varsayılan bölgesel ayarlar, Qlik Sense'in yüklü olduğu bilgisayarın veya sunucunun bölgesel sistem ayarları temel alınır. Eriştiğiniz Qlik Sense sunucusu İsveç olarak ayarlıysa, Veri yükleme düzenleyicisi tarihler, saat ve para birimi için İsveç bölgesel ayarlarını kullanır. Bu bölgesel format ayarları, Qlik Sense kullanıcı arayüzünde görüntülenen dille ilgili değildir. Qlik Sense kullandığınız tarayıcıyla aynı dilde görüntülenecektir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `monthsend(4, '07/19/2013')` | Döndürür 08/31/2013. |
| `monthsend(4, '10/19/2013', -1)` | Döndürür 08/31/2013. |
| `monthsend(4, '10/19/2013', 0, 2)` | 01/31/2014.<br>döndürür. Çünkü yılın başlangıcı 2. ay olur. |

## Örnek 1 – Temel örnek

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

#### Yükleme komut dosyası ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* ‘`Transactions`’ adlı tabloya yüklenen, 2022 işlemlerini içeren bir veri kümesi.

* sistem değişkeninde biçiminde sağlanan bir tarih `DateFormat`alanı`(MM/DD/YYYY)`.

* Şunları içeren önceki bir yükleme deyimi:

  * '`bi_monthly_end`' alanı olarak ayarlanan `monthsend` fonksiyonu. Bu, işlemleri iki aylık segmentlerde gruplar.

  * Her işlemin segmentinin başlangıç zaman damgasını döndüren `timestamp` fonksiyonu.

Komut dosyası

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

Transactions: 
    Load 
    *, 
    monthsend(2,date) as bi_monthly_end, 
    timestamp(monthsend(2,date)) as bi_monthly_end_timestamp 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
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/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 
]; 
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

Sonuçlar tablosu

| kimlik | tarih | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

‘`bi_monthly_end`’ alanı, önceki yükleme deyiminde `monthsend()` fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken, yılı iki aylık segmentlere bölen `2` bağımsız değişkenidir. İkinci bağımsız değişken, değerlendirilmekte olan alanı tanımlar.

İki aylık segmentlerle `monthsend` fonksiyonu diyagramı.

İki aylık segmentlerle `monthsend` fonksiyonu diyagramı.

İki aylık segmentlerle `monthsend`monthsend fonksiyonu diyagramı. ![Diagram showing how the monthsend function identifies the selected bi-monthly segment.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example1-diagram.png)

8195 numaralı işlem 22 Mayıs'ta yapılmaktadır. `monthsend()` fonksiyonu başlangıçta yılı iki aylık segmentlere böler. 8195 numaralı işlem 1 Mayıs ile 30 Haziran arasına düşmektedir. Sonuç olarak, fonksiyon bu segmentin 06/30/2022 23:59:59 olan son milisaniyesini döndürür.

## Örnek 2 – period\_no

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

#### Yükleme komut dosyası ve sonuçlar

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır.

Bu örnekteki görev, işlemin gerçekleşmesinden önceki iki aylık segmentin ilk milisaniyesini döndüren bir "`prev_bi_monthly_end`" alanı oluşturmaktır.

Komut dosyası

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

Transactions: 
    Load 
    *, 
    monthsend(2,date,-1) as prev_bi_monthly_end, 
    timestamp(monthsend(2,date,-1)) as prev_bi_monthly_end_timestamp 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
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/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 
]; 
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `id`
* `date`
* `prev_bi_monthly_end`
* `prev_bi_monthly_end_timestamp`

Sonuçlar tablosu

| kimlik | tarih | prev\_bi\_monthly\_end | prev\_bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8189 | 1/19/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8190 | 2/5/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8191 | 2/28/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8192 | 3/16/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |

`-1` fonksiyonunda `period_no` bağımsız değişkeni olarak `monthsend()` kullanıldığında, fonksiyon başlangıçta yılı iki aylık segmentlere böldükten sonra işlemin gerçekleşmesinden önceki iki aylık segmentin son milisaniyesini döndürür.

Önceki iki aylık segmenti döndüren `monthsend` fonksiyonu diyagramı.

Önceki iki aylık segmenti döndüren `monthsend` fonksiyonu diyagramı.

Önceki iki aylık segmenti döndüren `monthsend`monthsend fonksiyonu diyagramı. ![Diagram of monthsend function with a negative one period_no which returns the previous bi-monthly segment.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example2-diagram.png)

8195 numaralı işlem Mayıs ile Haziran arasındaki dilimde yapılmaktadır. Sonuç olarak, önceki iki aylık segment 1 Mart ile 30 Nisan arasında olduğundan, fonksiyon bu segmentin 04/30/2022 23:59:59 olan son milisaniyesini döndürür.

## Örnek 3 – first\_month\_of\_year

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

#### Yükleme komut dosyası ve sonuçlar

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır.

Bu örnekte organizasyonel politika, Nisan ayından başlayan mali yıla yöneliktir.

İşlemleri iki aylık segmentlerde gruplayan ve her işlemin segmentinin son milisaniyesine ilişkin zaman damgasını döndüren bir "`bi_monthly_end`" alanı oluşturun.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthsend(2,date,0,4) as bi_monthly_end, 
    timestamp(monthsend(2,date,0,4)) as bi_monthly_end_timestamp 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,1/7/2022,17.17 
8189,1/19/2022,37.23 
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/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 
]; 
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

Sonuçlar tablosu

| kimlik | tarih | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |

`monthsend()` fonksiyonunda `first_month_of_year` bağımsız değişkeni olarak `4` kullanıldığında, fonksiyon yılı 1 Nisan'da başlatır. Daha sonra yılı iki aylık segmentlere böler: Nis-May, Haz-Tem, Ağu-Eyl, Eki-Kas, Ara-Oca, Şub-Mar.

Nisan ayının yılın ilk ayı olarak ayarlandığı `monthsend` fonksiyonu diyagramı

Nisan ayının yılın ilk ayı olarak ayarlandığı `monthsend` fonksiyonu diyagramı

Nisan ayının yılın ilk ayı olarak ayarlandığı `monthsend`monthsend fonksiyonu diyagramı ![Diagram of monthsend function with bi-monthly segments and April set as the first month of the year.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example3-diagram.png)

8195 numaralı işlem 22 Mayıs'ta yapılmıştır ve 1 Nisan ile 31 Mayıs arasındaki dilime düşer. Sonuç olarak, fonksiyon bu segmentin 05/31/2022 23:59:59 olan son milisaniyesini döndürür.

## Örnek 4 – Grafik nesnesi örneği

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

#### Komut dosyası ve grafik ifadesi

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır. Ancak bu örnekte, veri kümesi değişmez ve uygulamaya yüklenir.

Bu örnekte, görev, işlemleri iki aylık segmentlere gruplayan ve her işlem için segmentin son milisaniye zaman damgasını, bir uygulamanın grafik nesnesinde döndüren hesaplamayı oluşturmaktır.

Komut dosyası

```
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 
]; 
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:

`date`

İşlemin gerçekleştiği iki aylık segmentin son milisaniyesine ilişkin zaman damgasını getirmek için aşağıdaki hesaplamaları oluşturun:

* `=monthsEnd(2,date)`
* `=timestamp(monthsend(2,date))`

Sonuçlar tablosu

| kimlik | tarih | =monthsend(2,date) | =timestamp(monthsend(2,date)) |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

"`bi_monthly_end`" alanı, grafik nesnesinde `monthsend()` fonksiyonu kullanılarak bir hesaplama olarak oluşturulur. Sağlanan ilk bağımsız değişken, yılı iki aylık segmentlere bölen `2` bağımsız değişkenidir. İkinci bağımsız değişken, değerlendirilmekte olan alanı tanımlar.

İki aylık segmentlerle `monthsend` fonksiyonu diyagramı.

İki aylık segmentlerle `monthsend` fonksiyonu diyagramı.

İki aylık segmentlerle `monthsend`monthsend fonksiyonu diyagramı. ![Diagram showing how the monthsend function identifies the selected bi-monthly segment using a chart object.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example4-diagram.png)

8195 numaralı işlem 22 Mayıs'ta yapılmaktadır. `monthsend()` fonksiyonu başlangıçta yılı iki aylık segmentlere böler. 8195 numaralı işlem 1 Mayıs ile 30 Haziran arasına düşmektedir. Sonuç olarak, fonksiyon bu segmentin ilk milisaniyesini (06/30/2022 23:59:59) döndürür.

## Örnek 5 – Senaryo

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

#### Yükleme komut dosyası ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.

Bu örnekte, "Employee\_Expenses" adlı tabloya bir veri kümesi yüklenmektedir. Tablo aşağıdaki alanları içermektedir:

* Çalışan kimlikleri

* Çalışan adları

* Her çalışanın günlük ortalama masraf talebi.

Son kullanıcı, çalışan kimliğine ve çalışan adına göre kendi seçtiği zaman aralığının kalan kısmı için tahmini masraf talebini görüntüleyen bir grafik istemektedir. Mali yıl Ocak'ta başlamaktadır.

Komut dosyası

```
SET vPeriod = 1; 

Employee_Expenses: 
Load 
* 
Inline  
[ 
employee_id,employee_name,avg_daily_claim 
182,Mark, $15 
183,Deryck, $12.5  
184,Dexter, $12.5 
185,Sydney,$27 
186,Agatha,$18 
]; 
```

Sonuçlar

Verileri yükleyin ve yeni bir sayfa açın.

Komut dosyasının başında, değişken giriş kontrolüne bağlanan bir vPeriod değişkeni oluşturulur.

Aşağıdakileri yapın:

1. Varlık panelinde, Grafikler'e tıklayın.

2. Pano nesneleri'nin altında, bir Değişken girişi'ni sayfaya sürükleyin.

3. Grafik nesnesi için bir başlık seçin.

4. Değişken'in altında Ad olarak vPeriod'ı seçin ve nesneyi Açılır liste olarak gösterilmeye ayarlayın.

5. Değerler'in altında Dinamik değerlere tıklayın. Şunları girin:

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

Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* employee\_id

* employee\_name

Biriken faizi hesaplamak için şu hesaplamayı oluşturun:

```
=floor(monthsend($(vPeriod),today(1))-today(1))*avg_daily_claim 
```

Bilgi notuBu hesaplama dinamiktir ve verileri yüklediğiniz tarihe bağlı olarak farklı tablo sonuçları verir.

Hesaplamanın Sayı Biçimini Para olarak ayarlayın.

Sonuçlar tablosu

| employee\_id | employee\_name | =floor(monthsend($(vPeriod),today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $1410.00 |
| 183 | Deryck | $1175.00 |
| 184 | Dexter | $1175.00 |
| 185 | Sidney | $2538.00 |
| 186 | Agatha | $1692.00 |

monthsend() fonksiyonu kullanıcı girişini ilk bağımsız değişkeni ve bugünün tarihini de ikinci bağımsız değişkeni olarak kullanır. Bu, kullanıcının seçtiği zaman aralığının bitiş tarihini döndürür. Ardından ifade, bugünün tarihini bu bitiş tarihinden çıkararak seçilen zaman aralığının kalan gün sayısını döndürür.

Sonra bu değer her çalışan için günlük ortalama masraf talebiyle çarpılarak her çalışanın bu zaman aralığının kalan günlerinde talep etmesi beklenen tahmini talep tutarı hesaplanır.