# monthsstart 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 ilk milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Önceki ve sonraki bir zaman dönemi için zaman damgasını bulmak da mümkündür. Varsayılan çıktı biçimi kodda ayarlanan DateFormat olur.

Söz Dizimi:

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

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

`monthsstart()` fonksiyonu diyagramı

`monthsstart()` fonksiyonu diyagramı

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

`monthsstart()` 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 segmentin içinde bulunduğunu değerlendirir ve tarih biçiminde o segmentin ilk milisaniyesini döndürür. Fonksiyon ayrıca, önceki veya sonraki segmentlerin başlangıç zaman damgasını döndürmenin yanı sıra yılın ilk ayını yeniden tanımlama olanağı da sağlar.

Yılın şu dilimleri fonksiyonda `n_month` bağımsız değişkenleri olarak bulunur:

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

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

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

## monthsstart ne zaman kullanılmalı?

Genel olarak `monthsstart()` fonksiyonu, kullanıcının hesaplamada zaman aralığının henüz oluşmamış kısmını kullanmak istemesi durumunda, ifadenin içinde kullanılır. Örneğin bu, bir giriş değişkeni sağlayarak kullanıcının ay, çeyrek veya yarı yıl içinde şimdiye kadar birikmiş toplam faizi hesaplamasına olanak tanımak için kullanılabilir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `monthsstart(4, '10/19/2013')` | 09/01/2013 döndürür. |
| `monthsstart(4, '10/19/2013, -1)` | 05/01/2013 döndürür. |
| `monthsstart(4, '10/19/2013', 0, 2<br>)` | Yılın başlangıcı 2. ay olduğundan 10/01/2013 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. Daha fazla bilgi için bkz. [Uygulamalar ve komut dosyaları için bölgesel ayarları değiştirme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Uygulamalardaki varsayılan bölgesel ayarlarda kullanıcı profili temel alınır. Bu bölgesel format ayarları, Qlik Cloud kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Cloud, kullandığınız tarayıcıyla aynı dilde görüntülenir.

Bir uygulama oluşturucuysanız, oluşturduğunuz uygulamalar için varsayılan bölgeyi ayarlayabilirsiniz. Daha fazla bilgi için şuraya bakın: [Qlik Cloud Analizleri içinde uygulama ve komut dosyası oluşturmak için tercih ettiğiniz bölgesel ayarları belirleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.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.

* İşlemleri iki aylık segmentlerde gruplayan ve her işlemin segmentinin başlangıç zaman damgasını döndüren `bi_monthly_start` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        monthsstart(2,date) as bi_monthly_start,
        timestamp(monthsstart(2,date)) as bi_monthly_start_timestamp
        ;
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 alanları boyut olarak ekleyin:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Sonuçlar tablosu

| tarih | iki ayda bir başlangıç | bi\_monthly\_start\_zaman damgası |
| --- | --- | --- |
| 2/19/2022 | 01/01/2022 | 1/1/2022 00.00.00 |
| 3/7/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 3/30/2022 | 03/01/2022 | 1.03.2022 00:00:00 |
| 4/5/2022 | 03/01/2022 | 1.03.2022 00:00:00 |
| 4/16/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 5/1/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 5/7/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 5/22/2022 | 01.05.2022 | 5/1/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 | 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 | 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 | 09/01/2022 | 9/1/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 |

`bi_monthly_start` alanı, öncelikli yükleme deyiminde `monthsstart()` fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken 2'dir ve yılı iki aylık segmentlere böler. İkinci bağımsız değişken, değerlendirilmekte olan alanı tanımlar.

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

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

Ek bağımsız değişkeni olmayan örnek `monthsstart()`monthsstart() fonksiyonu diyagramı ![Yıl içinde işlemin gerçekleştiği segmenti belirlemek için monthsstart fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-no-add-arg.png)

8195 numaralı işlem 22 Mayıs'ta yapılmaktadır. `monthsstart()` 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. Bu nedenle, fonksiyon bu segmentin 1 Mayıs 2022 saat 00:00:00 olan ilk milisaniyesini döndürür.

## Örnek 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.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şmesinden önceki iki aylık segmentin ilk milisaniyesini döndüren `prev_bi_monthly_start` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        monthsstart(2,date,-1) as prev_bi_monthly_start,
	    timestamp(monthsstart(2,date,-1)) as prev_bi_monthly_start_timestamp
	    ;
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 alanları boyut olarak ekleyin:

* `date`

* `prev_bi_monthly_start`

* `prev_bi_monthly_start_timestamp`

Sonuçlar tablosu

| tarih | prev\_bi\_monthly\_start | prev\_bi\_monthly\_start\_zaman damgası |
| --- | --- | --- |
| 2/19/2022 | 11/01/2021 | 11/1/2021 00:00:00 |
| 3/7/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 3/30/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 4/5/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 4/16/2022 | 01/01/2022 | 1.1.2022 00:00:00 |
| 5/1/2022 | 03/01/2022 | 1.3.2022 00:00:00 |
| 5/7/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 5/22/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 6/15/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 6/26/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 7/9/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 7/22/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 7/23/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 7/27/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 8/2/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 8/8/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 8/19/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 9/26/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 10/14/2022 | 07/01/2022 | 01.07.2022 00:00:00 |
| 10/29/2022 | 07/01/2022 | 7/1/2022 00.00.00 |

`monthsstart()` 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 ilk milisaniyesini döndürür.

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

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

`monthsstart()`monthsstart() fonksiyonu diyagramı, period\_no örneği ![Yıl içinde işlemin gerçekleştiği segmenti belirlemek için monthsstart fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-period-no.png)

8195 numaralı işlem Mayıs ile Haziran arasındaki dilimde yapılmaktadır. Bu nedenle , önceki iki aylık segment 1 Mart ile 30 Nisan arasında olduğundan fonksiyon bu segmentin 1 Mart 2022 saat 00:00:00 olan ilk milisaniyesini döndürür.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.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.

* İşlemleri iki aylık kümelerde gruplayan ve her işlemin segmentinin başlangıç zaman damgasını döndüren `bi_monthly_start` alanını oluşturma.

Ancak bu örnekte Nisan'ı mali yılın ilk ayı olarak ayarlamamız gerekiyor.

Komut dosyası

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

Transactions:
    Load
        *,
        monthsstart(2,date,0,4) as bi_monthly_start,
        timestamp(monthsstart(2,date,0,4)) as bi_monthly_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`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Sonuçlar tablosu

| tarih | iki ayda bir başlangıç | bi\_monthly\_start\_zaman damgası |
| --- | --- | --- |
| 2/19/2022 | 02/01/2022 | 2/1/2022 00.00.00 |
| 3/7/2022 | 02/01/2022 | 01.02.2022 00:00:00 |
| 3/30/2022 | 01.02.2022 | 01.02.2022 00:00:00 |
| 4/5/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 4/16/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/1/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/7/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/22/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 6/15/2022 | 06/01/2022 | 01.06.2022 00:00:00 |
| 6/26/2022 | 01.06.2022 | 01.06.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 | 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 | 08/01/2022 | 01.08.2022 00:00:00 |
| 10/14/2022 | 10/01/2022 | 10/1/2022 00.00.00 |
| 10/29/2022 | 01.10.2022 | 01.10.2022 00:00:00 |

`monthsstart()` 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 dilimlere böler: Nis-May,Haz-Tem,Ağu-Eyl,Eki-Kas,Ara-Oca,Şub-Mar.

`monthsstart()` fonksiyonu diyagramı, first\_month\_of\_year örneği

`monthsstart()` fonksiyonu diyagramı, first\_month\_of\_year örneği

`monthsstart()`monthsstart() fonksiyonu diyagramı, first\_month\_of\_year örneği ![Yıl içinde işlemin gerçekleştiği segmenti belirlemek için monthsstart fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-first-mth-yr.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. Bu nedenle, fonksiyon bu segmentin 1 Nisan 2022 saat 00:00:00 olan ilk milisaniyesini döndürür.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.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. İşlemleri iki aylık segmentlerde gruplayan ve her işlemin segmentinin, uygulamanın grafik nesnesinde bir hesaplama olarak oluşturulan başlangıç zaman damgasını döndüren hesaplama.

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.

Aşağıdaki hesaplamaları oluşturun:

=monthsstart(2,date)

=timestamp(monthsstart(2,date))

Bu hesaplamalar, her işlemin gerçekleştiği iki aylık segmentin başlangıç zaman damgasını alır.

Sonuçlar tablosu

| tarih | =monthsstart(2,date) | =zaman damgası(monthsstart(2,date)) |
| --- | --- | --- |
| 9/26/2022 | 09/01/2022 | 9/1/2022 00.00.00 |
| 10/14/2022 | 09/01/2022 | 1.9.2022 00:00:00 |
| 10/29/2022 | 01.09.2022 | 01.09.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 | 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 |
| 5/1/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 5/7/2022 | 01.05.2022 | 01.05.2022 00:00:00 |
| 5/22/2022 | 01.05.2022 | 5/1/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 |
| 3/7/2022 | 03/01/2022 | 01.03.2022 00:00:00 |
| 3/30/2022 | 03/01/2022 | 1.03.2022 00:00:00 |
| 4/5/2022 | 03/01/2022 | 1.03.2022 00:00:00 |
| 4/16/2022 | 03/01/2022 | 1.03.2022 00:00:00 |
| 2/19/2022 | 01/01/2022 | 1.01.2021 00:00:00 |

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

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

monthsstart()monthsstart() fonksiyonu diyagramı, grafik nesnesi örneği ![Yıl içinde işlemin gerçekleştiği segmenti belirlemek için monthsstart fonksiyonunu kullanmanın sonuçlarını gösteren diyagram.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-chart-object.png)

8195 numaralı İşlem Mayıs 22'de gerçekleşmiştir. monthsstart() 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. Bu nedenle, fonksiyon bu segmentin 05/01/2022 00:00:00 olan ilk milisaniyesini döndürür.

## Örnek 5 – Senaryo

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.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ı, seçtiği dönemde her kredide biriken cari faizi kredi kimliğine göre görüntüleyen bir grafik nesnesi istemektedir. Mali yıl Ocak'ta başlamaktadır.

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

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

Komut dosyasının başlangıcında, değişken girişi kontrolüne bağlanacak bir değişken (vPeriod) oluşturulmuştur. Sonra değişkeni sayfada özel bir nesne olarak yapılandırın.

Aşağıdakileri yapın:

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

2. Pano nesneleri 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 nesneyi dinamik değerler kullanmak üzere yapılandırın. Şunları girin:  
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Sonra sonuçlar tablosunu oluşturun.

Aşağıdakileri yapın:

1. Yeni bir tablo oluşturun. Aşağıdaki alanları boyut olarak ekleyin:

   * employee\_id

   * employee\_name

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

   =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365)

3. Hesaplamanın Sayı Biçimini Para olarak ayarlayın.Düzenlemeyi bitirmek için Sayfayı düzenle'ye tıklayın. Artık tabloda gösterilen verileri değişken nesnesindeki zaman dilimini ayarlayarak değiştirebilirsiniz.

month dönem seçeneği kullanıldığında sonuçlar tablosu aşağıdakine benzer olacaktır:

Sonuçlar tablosu

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000,00 | $7.95 |
| 8189 | $15000,00 | $67.93 |
| 8190 | $17500,00 | $33.37 |
| 8191 | $21000,00 | $56.73 |
| 8192 | $90000,00 | $600.66 |

monthsstart() fonksiyonu, kullanıcının girişini birinci bağımsız değişkeni ve bugünün tarihini de ikinci bağımsız değişkeni olarak kullanır ve kullanıcının seçtiği dönemin başlangıç tarihini döndürür. İfade, bu sonucu geçerli tarihten çıkararak bu dönemde ş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 bu sonuç, bu dönemde şimdiye kadar biriken faizi döndürmek için kredinin başlangıç bakiyesiyle çarpılır.