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

Söz Dizimi:

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ı. ![monthsend fonksiyonunun seçilen dönemin en son zaman damgasını belirlemek için nasıl kullanılabileceğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/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şkenleri

| 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: AA/GG/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 bölgesel ayarlarda 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 dil ayarlarıyla ilgili değildir. Qlik Sense, kullandığınız tarayıcıyla aynı dilde görüntülenir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `monthsend(4, '07/19/2013')` | 08/31/2013 döndürür. |
| `monthsend(4, '10/19/2013', -1)` | 08/31/2013 döndürür. |
| `monthsend(4, '10/19/2013', 0, 2)` | 01/31/2014 döndürür.<br>Çü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)

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

* 2022 yılının işlemlerini içeren bir veri kümesi "`Transactions`" adlı tabloya yüklenmiştir.

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

* Ş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 LOAD deyiminde `monthsend()` fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken `2` bağımsız değişkenidir ve yılı iki aylık segmentlere böler. İ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ı.![monthsend fonksiyonunun seçilen iki aylık segmenti nasıl belirlediğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/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)

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

`monthsend()` fonksiyonunda `period_no` bağımsız değişkeni olarak `-1` 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ı.![Önceki iki aylık segmenti döndüren negatif period_no değerine sahip monthsend fonksiyonu diyagramı.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example2-diagram.png)

8195 numaralı işlem Mayıs ile Haziran arasındaki segmentte 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)

#### 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 için `4` kullanılırsa 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ı![İki aylık segmentler içeren ve Nisan ayının yılın ilk ayı ayarlandığı monthsend fonksiyonu diyagramı.](https://help.qlik.com/tr-TR/sense/May2025/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 segmente 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. Öte yandan bu örnekte veri kümesi değişmemiş ve uygulamaya yüklenmiştir.

Bu örnekteki görev, işlemleri iki aylık segmentlerde gruplayan ve her işlemin segmentinin son milisaniyesine ilişkin zaman damgasını, uygulamanın grafik nesnesinde bir hesaplama olarak 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ı.![monthsend fonksiyonunun, bir grafik nesnesi kullanarak seçilen iki aylık segmenti nasıl belirlediğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/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)

#### 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 Özel nesneler'e tıklayın.

2. Qlik Gösterge Paneli paketi'ni seçin ve bir Değişken girişi nesnesi oluşturun.

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.