# monthend - kod ve grafik fonksiyonu

Bu fonksiyon, `date` içeren ayın son gününün son milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Varsayılan çıktı biçimi kodda ayarlanan `DateFormat` olur.

Söz Dizimi:

MonthEnd(date[, period\_no])

Diğer bir deyişle, `monthend()` fonksiyonu tarihin hangi ayın içinde bulunduğunu belirler. Ardından söz konusu ayın son milisaniyesi için tarih biçiminde bir zaman damgası döndürülür.

`monthend` fonksiyonu diyagramı.

`monthend` fonksiyonu diyagramı.

`monthend`monthend fonksiyonu diyagramı. ![monthend fonksiyonunun seçilen ayın en son zaman damgasını belirlemek için nasıl kullanılabileceğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-diagram1.png)

Ne zaman kullanılır?

`monthend()` fonksiyonu, hesaplamanın ayın henüz geçmemiş kısmını kullanmasını istediğinizde bir ifadenin parçası olarak kullanılır. Örneğin, ay içinde henüz oluşmamış toplam faizi hesaplamak istiyor olabilirsiniz.

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

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| date | Değerlendirilecek tarih veya zaman damgası. |
| period\_no | period\_no bir tamsayı olup, 0 olur ya da atlanırsa date içeren ayı belirtir. period\_no içindeki negatif değerler önceki ayları; pozitif değerler ise sonraki ayları gösterir. |

## 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ç |
| --- | --- |
| `monthend('02/19/2012')` | 02/29/2012 23:59:59 döndürür. |
| `monthend('02/19/2001', -1)` | 01/31/2001 23:59:59 döndürür. |

## Örnek 1 – Temel örnek

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

#### Komut dosyası ve sonuçlar

Genel bakış

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

Yükleme kodu şunları içerir:

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

* `DateFormat` sistem değişkeni `MM/DD/YYYY` biçiminde bir tarih alanı.

* Şunları içeren önceki bir LOAD deyimi:

  * "`end_of_month`" alanı olarak ayarlanan `monthend()` fonksiyonu.

  * "`end_of_month_timestamp`" alanı olarak ayarlanan `timestamp` fonksiyonu.

Komut dosyası

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

Transactions: 
    Load 
    *, 
    monthend(date) as end_of_month, 
    timestamp(monthend(date)) as end_of_month_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/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 
]; 
```

Sonuçlar

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

* `id`
* `date`
* `end_of_month`
* `end_of_month_timestamp`

Sonuçlar tablosu

| id | date | end\_of\_month | end\_of\_month\_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 | 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 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 05/31/2022 | 5/31/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 | 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 | 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 | 09/30/2022 | 9/30/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 |

"`end_of_month`" alanı, önceki Load deyiminde `monthend()` fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.

`monthend()` fonksiyonu, tarih değerinin hangi ayın içinde bulunduğunu belirler ve söz konusu ayın son milisaniyesi için bir zaman damgası döndürür.

Mart ayının seçildiği `monthend` fonksiyonu diyagramı.

Mart ayının seçildiği `monthend` fonksiyonu diyagramı.

Mart ayının seçildiği `monthend`monthend fonksiyonu diyagramı.![monthend fonksiyonunun seçilen ayın en son zaman damgasını belirlemek için nasıl kullanılabileceğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example1-diagram.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthend()` fonksiyonu, bu ayın 31 Mart saat 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/monthend.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 ayın sonu için zaman damgasını döndüren bir "`previous_month_end`" alanı oluşturmaktır.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthend(date,-1) as previous_month_end, 
    timestamp(monthend(date,-1)) as previous_month_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/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 
]; 
```

Sonuçlar

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

* `id`
* `date`
* `previous_month_end`
* `previous_month_end_timestamp`

Sonuçlar tablosu

| id | tarih | previous\_month\_end | previous\_month\_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 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 05/31/2022 | 5/31/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 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |

`monthend()` fonksiyonu önce işlemlerin gerçekleştiği ayı belirler ve offset bağımsız değişkeni olarak `period_no` `-1` kullanılır. Ardından bir önceki aya geçer ve bu ayın son milisaniyesini belirler.

period\_no değişkeniyle `monthend` fonksiyonu diyagramı.

period\_no değişkeniyle `monthend` fonksiyonu diyagramı.

period\_no değişkeniyle `monthend`monthend fonksiyonu diyagramı.![monthend() fonksiyonunda ayarlanan aydan bir önceki ayın en son zaman damgasını belirlemek için, monthend fonksiyonunun period_no değişkeniyle nasıl kullanılabileceğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example2-diagram.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthend()` fonksiyonu, işlemin gerçekleştiği aydan önceki ayın Şubat olduğunu belirler. Ardından bu ayın 28 Şubat saat 23:59:59 olan son milisaniyesini döndürür.

## Örnek 3 – Grafik örneği

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

#### Komut dosyası ve grafik ifadesi

Genel bakış

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

Bu örnekte veri kümesi değişmemiş ve uygulamaya yüklenmiştir. Görev, uygulamanın bir grafiğinde hesaplama olarak işlemlerin gerçekleştiği ayın sonu için bir zaman damgası döndüren bir hesaplama oluşturmaktır.

Yükleme kodu

```
Transactions: 
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/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 
]; 
```

Sonuçlar

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

* `date`

* `id`

İşlemin gerçekleştiği ayın bitiş tarihini hesaplamak için aşağıdaki hesaplamaları oluşturun:

* `=monthend(date)`
* `=timestamp(monthend(date))`

Sonuçlar tablosu

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

"`end_of_month`" hesaplaması, grafikte `monthend()` fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.

`monthend()` fonksiyonu tarih değerinin hangi ayın içinde bulunduğunu belirler ve bu ayın son milisaniyesi için bir zaman damgası döndürür.

period\_no değişkeniyle `monthend` fonksiyonu diyagramı.

period\_no değişkeniyle `monthend` fonksiyonu diyagramı.

period\_no değişkeniyle `monthend`monthend fonksiyonu diyagramı.![](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example3-diagram.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthend()` fonksiyonu, bu ayın 31 Mart saat 23:59:59 olan son milisaniyesini döndürür.

## Örnek 4 – Senaryo

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

#### Komut dosyası ve sonuçlar

Genel bakış

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 ayın kalan kısmı için tahmini masraf talebini görüntüleyen bir grafik istemektedir.

Komut dosyası

```
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 bir sayfa açın. 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(monthend(today(1),0)-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(monthend(today(1),0)-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $30.00 |
| 183 | Deryck | $25.00 |
| 184 | Dexter | $25.00 |
| 185 | Sydney | $54.00 |
| 186 | Agatha | $36.00 |

`monthend()` fonksiyonu, tek bağımsız değişkeni olarak bugünün tarihini kullanır ve geçerli ayın bitiş tarihini döndürür. İfade, bugünün tarihini ayın bitiş tarihinden çıkararak bu ayın kalan gün sayısını döndürür.

Bu değer daha sonra her çalışanın ortalama günlük masraf talebiyle çarpılarak her çalışanın ayın geri kalanında talep etmesi beklenen tahmini talep değeri hesaplanır.