# monthstart Komut dosyası ve grafik fonksiyonu

Bu fonksiyon, date içeren ayın ilk gününün ilk 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:

MonthStart(date[, period\_no])

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

`monthstart()` fonksiyonu diyagramı

`monthstart()` fonksiyonu diyagramı

`monthstart()`monthstart() fonksiyonu diyagramı ![Sonucu döndürmek için fonksiyonun öğelerinin nasıl birlikte çalıştığını gösteren örnek diyagram.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthstart-general.png)

`monthstart()` fonksiyonu tarihin hangi ayın içinde bulunduğunu belirler. Sonra söz konusu ayın ilk milisaniyesi için tarih biçiminde bir zaman damgası döndürür.

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

## Ne zaman kullanılır?

Genel olarak `monthstart()` 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. Örneğin, ay içinde belirli bir tarihe kadar birikmiş olan faizi hesaplamak için kullanılabilir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `monthstart('10/19/2001')` | 10/01/2001 döndürür. |
| `monthstart('10/19/2001', -1)` | 09/01/2001 döndürür. |

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

## Örnek 1 – Ek bağımsız değişken yok

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

#### Yükleme kodu 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'nin işlemlerini içeren bir veri kümesi.

* Tarih alanı `DateFormat` sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.

* İşlemin gerçekleştiği ayın başlangıcı için bir zaman damgası döndüren `start_of_month` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        monthstart(date) as start_of_month,
        timestamp(monthstart(date)) as start_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:

* `date`

* `start_of_month`

* `start_of_month_timestamp`

Sonuçlar tablosu

| tarih | start\_of\_month | start\_of\_month\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/01/2022 | 1/1/2022 00.00.00 |
| 1/19/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 2/5/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 2/28/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 3/16/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 4/1/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/7/2022 | 01.05.2022 | 5/1/2022 00.00.00 |
| 5/16/2022 | 05/01/2022 | 5/1/2022 00.00.00 |
| 6/15/2022 | 06/01/2022 | 01.06.2022 00:00:00 |
| 6/26/2022 | 07/01/2022 | 6/1/2022 00.00.00 |
| 7/9/2022 | 07/01/2022 | 7/1/2022 00.00.00 |
| 7/22/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 7/23/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 7/27/2022 | 07/01/2022 | 1.7.2022 00:00:00 |
| 8/2/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 8/8/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 8/19/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 9/26/2022 | 09/01/2022 | 9/1/2022 00.00.00 |
| 10/14/2022 | 10/01/2022 | 10/1/2022 00.00.00 |
| 10/29/2022 | 01.10.2022 | 10/1/2022 00.00.00 |

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

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

Ek bağımsız değişkeni olmayan örnek `monthstart()` fonksiyonu diyagramı

Ek bağımsız değişkeni olmayan örnek `monthstart()` fonksiyonu diyagramı

Ek bağımsız değişkeni olmayan örnek `monthstart()`monthstart() fonksiyonu diyagramı ![Bir işlemin yapıldığı ayı belirlemek için monthname fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthstart-example-no-add-arg.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthstart()` fonksiyonu, söz konusu ayın 1 Mart saat 00:00:00 olan ilk milisaniyesini döndürür.

## Örnek 2 – period\_no

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

#### Yükleme kodu 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:

* İlk örnek ile aynı veri kümesi ve senaryo.

* İşlemin gerçekleştiği aydan önceki ayın başlangıcı için bir zaman damgası döndüren `previous_month_start` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        monthstart(date,-1) as previous_month_start,
        timestamp(monthstart(date,-1)) as previous_month_start_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:

* `date`

* `previous_month_start`

* `previous_month_start_timestamp`

Sonuçlar tablosu

| tarih | previous\_month\_start | previous\_month\_start\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 12/01/2021 | 12/1/2021 00.00.00 |
| 1/19/2022 | 12/01/2021 | 01.12.2021 00:00:00 |
| 2/5/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 2/28/2022 | 01/01/2022 | 1/1/2022 12:00:00 ÖÖ |
| 3/16/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 4/1/2022 | 03/01/2022 | 1.3.2022 00:00:00 |
| 5/7/2022 | 04/01/2022 | 4/1/2022 00.00.00 |
| 5/16/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 6/15/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 6/26/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 7/9/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/22/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/23/2022 | 06/01/2022 | 01.06.2022 00:00:00 |
| 7/27/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 8/2/2022 | 07/01/2022 | 1.7.2022 00:00:00 |
| 8/8/2022 | 07/01/2022 | 1.7.2022 00:00:00 |
| 8/19/2022 | 07/01/2022 | 1.7.2022 00:00:00 |
| 9/26/2022 | 08/01/2022 | 01.08.2022 00:00:00 |
| 10/14/2022 | 09/01/2022 | 1.9.2022 00:00:00 |
| 10/29/2022 | 01.09.2022 | 9/1/2022 00.00.00 |

Bu örnekte, `monthstart()` fonksiyonunda kaydırma bağımsız değişkeni `period_no` için -1 kullanıldığından, fonksiyonu önce işlemlerin yapıldığı ayı tanımlar. Ardından bir önceki aya geçer ve o ayın ilk milisaniyesini belirler.

`monthstart()` fonksiyonu diyagramı, period\_no örneği

`monthstart()` fonksiyonu diyagramı, period\_no örneği

`monthstart()`monthstart() fonksiyonu diyagramı, period\_no örneği ![Bir işlemin yapıldığı ayı belirlemek için monthname fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthstart-example-period-no.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthstart()` fonksiyonu, işlemin gerçekleştiği aydan önceki ayın Şubat olduğunu belirler. Sonra söz konusu ayın 1 Şubat saat 00:00:00 olan ilk milisaniyesini döndürür.

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

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

#### Komut dosyası ve grafik ifadesi

Genel bakış

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

Komut dosyası ilk örnek ile aynı veri kümesini ve senaryoyu içerir.

Ancak bu örnekte uygulamaya değiştirilmemiş veri kümesi yüklenmektedir. İşlemin gerçekleştiği ayın başlangıcı için zaman damgasını döndüren hesaplama, uygulamanın grafik nesnesinde bir hesaplama olarak oluşturulur.

Komut dosyası

```

SET DateFormat='MM/DD/YYYY';
 
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 alanı boyut olarak ekleyin: `date`.

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

* `=monthstart(date)`

* `=timestamp(monthstart(date))`

Sonuçlar tablosu

| tarih | =monthstart(date) | =timestamp(monthstart(date)) |
| --- | --- | --- |
| 10/14/2022 | 10/01/2022 | 10/1/2022 00.00.00 |
| 10/29/2022 | 01.10.2022 | 10/1/2022 00.00.00 |
| 9/26/2022 | 09/01/2022 | 9/1/2022 00.00.00 |
| 8/2/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 8/8/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 8/19/2022 | 08/01/2022 | 8/1/2022 00.00.00 |
| 7/9/2022 | 07/01/2022 | 7/1/2022 00.00.00 |
| 7/22/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 7/23/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 7/27/2022 | 07/01/2022 | 7/1/2022 00.00.00 |
| 6/15/2022 | 06/01/2022 | 01.06.2022 00:00:00 |
| 6/26/2022 | 01.06.2022 | 6/1/2022 00.00.00 |
| 5/7/2022 | 01.05.2022 | 5/1/2022 00.00.00 |
| 5/16/2022 | 05/01/2022 | 5/1/2022 00.00.00 |
| 4/1/2022 | 04/01/2022 | 4/1/2022 00.00.00 |
| 3/16/2022 | 03/01/2022 | 3/1/2022 00.00.00 |
| 2/5/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 2/28/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 1/7/2022 | 01/01/2022 | 1/1/2022 00.00.00 |
| 1/19/2022 | 01/01/2022 | 1/1/2022 00.00.00 |

`start_of_month` hesaplaması, grafik nesnesinde `monthstart()` fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.

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

`monthstart()` fonksiyonu diyagramı, grafik nesnesi örneği

`monthstart()` fonksiyonu diyagramı, grafik nesnesi örneği

`monthstart()`monthstart() fonksiyonu diyagramı, grafik nesnesi örneği ![Bir işlemin yapıldığı ayı belirlemek için monthname fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthstart-example-chart-object.png)

8192 numaralı işlem 16 Mart'ta yapılmıştır. `monthstart()` fonksiyonu işlemin Mart'ta gerçekleştiğini belirler ve bu ayın 1 Mart 2022 saat 00:00:00 olan ilk milisaniyesini döndürür.

## Örnek 4 – Senaryo

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

#### Komut dosyası ve grafik ifadesi

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:

* Kredi bakiyelerini içeren ve Loans adlı tabloya yüklenen bir veri kümesi.

* Kredi kimlikleri, ayın başındaki bakiye ve her krediye uygulanan yıllık basit faiz oranından oluşan veriler.

Son kullanıcı, ay başından bugüne kadar her kredide biriken cari faizi kredi kimliğine göre görüntüleyen bir grafik nesnesi istemektedir.

Komut dosyası

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

Loans:
Load
*
Inline
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

Sonuçlar

Aşağıdakileri yapın:

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

   * loan\_id

   * start\_balance

2. Sonra biriken faizi hesaplamak için bir hesaplama oluşturun:

   =start\_balance\*(rate\*(today(1)-monthstart(today(1)))/365)

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

Sonuçlar tablosu

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-monthstart(today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000,00 | $16,44 |
| 8189 | $15000,00 | $58,56 |
| 8190 | $17500,00 | $28,77 |
| 8191 | $21000,00 | $48,90 |
| 8192 | $90000,00 | $517,81 |

monthstart() fonksiyonu, tek bağımsız değişkeni olarak bugünün tarihini kullanır ve geçerli ayın başlangıç tarihini döndürür. İfade, bu sonucu geçerli tarihten çıkararak bu ay içinde şimdiye kadar geçen gün sayısını döndürür.

Sonra bu değer faiz oranıyla çarpılıp 365'e bölünerek bu dönemde biriken efektif faiz oranı döndürülür. Ardından, sonuç kredinin başlangıç bakiyesiyle çarpılarak bu ay içinde şimdiye kadar biriken faiz döndürülür.