# addmonths - kod ve grafik fonksiyonu

Fonksiyon, startdate değerinden n ay sonra olan tarihi veya n negatif ise, startdate değerinden n ay önce olan tarihi döndürür.

Söz Dizimi:

AddMonths(startdate, n , [ , mode])

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

`addmonths()` fonksiyonu, tanımlı ay sayısı olan `n` değerini `startdate` değeriyle toplar veya bundan çıkarır ve sonuçta elde edilen tarihi döndürür.

`mode` bağımsız değişkeni ayın 28'inde ve sonrasındaki `startdate` değerlerini etkiler. `mode` bağımsız değişkeni 1 olarak ayarlandığında `addmonths()` fonksiyonu `startdate` olarak ayın sonuna olan göreli uzaklığa eşit bir tarih döndürür.

`addmonths()` fonksiyonunun örnek diyagramı

`addmonths()` fonksiyonunun örnek diyagramı

`addmonths()`addmonths() fonksiyonunun örnek diyagramı ![addmonths fonksiyonunun çeşitli bileşenlerinin nasıl bir araya gelip çıkış tarihi oluşturduğunu gösteren örnek diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-addmonths-overview.png)

Örneğin 28 Şubat ayın son günüdür. İki ay sonrasının tarihini döndürmek için `mode` değeri 1 olan `addmonths()` fonksiyonu kullanılırsa, fonksiyon Nisan ayının son günü olan 30 Nisan tarihini döndürür.

`mode=1` ile `addmonths()` fonksiyonunun örnek diyagramı

`mode=1` ile `addmonths()` fonksiyonunun örnek diyagramı

`mode=1`mode=1 ile `addmonths()`addmonths() fonksiyonunun örnek diyagramı ![addmonths fonksiyonunun çıkış tarihini değiştirmek için 'mode' bağımsız değişkeninin nasıl değiştirilebileceğini gösteren örnek diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-addmonths-overview-n-mode-arguments.png)

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| startdate | Bir zaman damgası olarak başlangıç tarihi; örneğin '2012-10-12'. |
| n | Pozitif veya negatif tamsayı olarak ay sayısı. |
| mode | Ayın başına göre mi, yoksa sonuna göre mi ay eklendiğini belirtir. Varsayılan mod, ayın başına göre eklemeler için 0 olur. Ayın sonuna göre eklemeler için modu 1 olarak ayarlayın. Mod 1 olarak ayarlandığında ve giriş tarihi 28 veya daha sonraki bir tarih olduğunda fonksiyon, başlangıç tarihinde ayın sonuna ulaşmak için kaç gün kaldığını denetler. Döndürülen tarihte, ayın sonuna ulaşmak için aynı gün sayısı ayarlanır. |

## Ne zaman kullanılır?

Bir ifadede `addmonths()` fonksiyonu yaygın olarak, bir zaman aralığından belirli sayıda ay kadar önceki veya sonraki tarihi bulmak için kullanılır.

Örneğin `addmonths()` fonksiyonu cep telefonu sözleşmelerinin son tarihini belirlemek için kullanılabilir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `addmonths ('01/29/2003' ,3)` | "04/29/2003" döndürür. |
| `addmonths ('01/29/2003',3,0)` | "04/29/2003" döndürür. |
| `addmonths ('01/29/2003',3,1)` | "04/28/2003" döndürür. |
| `addmonths ('01/29/2003',1,0)` | "02/28/2003" döndürür. |
| `addmonths ('01/29/2003',1,1)` | "02/26/2003" döndürür. |
| `addmonths ('02/28/2003',1,0)` | "03/28/2003" döndürür. |
| `addmonths ('02/28/2003',1,1)` | "03/31/2003" döndürür. |
| `addmonths ('01/29/2003',-3)` | "10/29/2002" döndürür. |

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

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

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

* `Transactions` adlı tabloya yüklenen, 2020 ile 2022 arasında yapılmış işlemler 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şmesinden iki ay sonraki tarihi döndüren `two_months_later` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        addmonths(date,2) as two_months_later
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/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`

* `two_months_later`

Sonuçlar tablosu

| date | two\_months\_later |
| --- | --- |
| 01/10/2020 | 03/10/2020 |
| 02/28/2020 | 04/28/2020 |
| 04/09/2020 | 06/09/2020 |
| 04/16/2020 | 06/16/2020 |
| 05/21/2020 | 07/21/2020 |
| 08/14/2020 | 10/14/2020 |
| 10/07/2020 | 12/07/2020 |
| 12/05/2020 | 02/05/2021 |
| 01/22/2021 | 03/22/2021 |
| 02/03/2021 | 04/03/2021 |
| 03/17/2021 | 05/17/2021 |
| 04/23/2021 | 06/23/2021 |
| 05/04/2021 | 07/04/2021 |
| 06/30/2021 | 08/30/2021 |
| 07/26/2021 | 09/26/2021 |
| 12/27/2021 | 02/27/2022 |
| 02/02/2022 | 04/02/2022 |
| 02/26/2022 | 04/26/2022 |
| 03/07/2022 | 05/07/2022 |
| 03/11/2022 | 05/11/2022 |

`two_months_later` alanı, öncelikli yükleme deyiminde `addmonths()` fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken hangi tarihin değerlendirilmekte olduğunu belirler. İkinci bağımsız değişken `startdate` tarihiyle toplanacak veya bu tarihten çıkarılacak ay sayısıdır. Bu örnekte 2 değeri sağlanmıştır.

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

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

Ek bağımsız değişkeni olmayan örnek `addmonths()`addmonths() fonksiyonu diyagramı![Komut dosyasındaki 8193 numaralı İşlemin giriş tarihinden sonuçta elde edilen çıkış tarihine nasıl dönüştürüldüğünü gösteren addmonths fonksiyonu diyagramı.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-addmonths-examples-no-add-arg.png)

8193 numaralı İşlem 14 Ağustos'ta gerçekleşmiştir. Bu nedenle `addmonths()` fonksiyonu `two_months_later` alanı için 14 Ekim 2020 tarihini döndürür.

## Örnek 2 – Göreli ay sonu

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addmonths.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'nin `Transactions` adlı tabloya yüklenen bir dizi ay sonu işleminin yer aldığı veri kümesi.

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

* İşlemin gerçekleşmesinden iki ay öncesi için göreli ay sonu tarihini döndüren `relative_two_months_prior` alanını oluşturma.

Komut dosyası

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

Transactions:
    Load
        *,
        addmonths(date,-2,1) as relative_two_months_prior
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/28/2022',37.23
8189,'01/31/2022',57.54
8190,'02/28/2022',17.17
8191,'04/29/2022',88.27
8192,'04/30/2022',57.42
8193,'05/31/2022',53.80
8194,'08/14/2022',82.06
8195,'10/07/2022',40.39
];
```

Sonuçlar

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

* `date`

* `relative_two_months_prior`

Sonuçlar tablosu

| date | relative\_two\_months\_prior |
| --- | --- |
| 01/28/2022 | 11/27/2021 |
| 01/31/2022 | 11/30/2021 |
| 02/28/2022 | 12/31/2021 |
| 04/29/2022 | 02/27/2022 |
| 04/30/2022 | 02/28/2022 |
| 05/31/2022 | 03/31/2022 |
| 08/14/2022 | 06/14/2022 |
| 10/07/2022 | 08/07/2022 |

`relative_two_months_prior` alanı, önceki Load deyiminde `addmonths()` fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken hangi tarihin değerlendirilmekte olduğunu belirler. İkinci bağımsız değişken `startdate` tarihiyle toplanacak veya bu tarihten çıkarılacak ay sayısıdır. Bu örnekte -2 değeri sağlanmıştır. Son bağımsız değişken, değeri 1 olan ve fonksiyonu 28'den büyük veya buna eşit tüm tarihler için göreli ay sonu tarihini hesaplamaya zorlayan mode bağımsız değişkenidir.

`  n=-2 ` örneğiyle `addmonths()` fonksiyonu diyagramı

`  n=-2 ` örneğiyle `addmonths()` fonksiyonu diyagramı

`  n=-2 ` n=-2 örneğiyle `addmonths()`addmonths() fonksiyonu diyagramı![Komut dosyasındaki 8191 numaralı İşlemin giriş tarihinden sonuçta elde edilen çıkış tarihine nasıl dönüştürüldüğünü gösteren addmonths fonksiyonu diyagramı.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-addmonths-examples-rel-mth-end.png)

8191 numaralı İşlem 29 Nisan 2022'de gerçekleşir. Başlangıçta, iki ay öncesi, ayı Şubat olarak ayarlayabilir. Ardından, fonksiyonda modu 1 değerine ayarlayan üçüncü bağımsız değişken nedeniyle ve gün değeri ayın 27'sinden sonraki bir gün olduğundan, fonksiyon göreli ay sonu değerini hesaplar. Fonksiyon, ayın 29'unun Nisan'ın sondan bir önceki günü olduğunu belirler ve Şubat'ın sondan bir önceki gününü (ayın 27'sini) döndürür.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/addmonths.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şmesinden iki ay sonrasının tarihini döndüren hesaplama, grafik nesnesinde bir hesaplama olarak oluşturulur.

Komut dosyası

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

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/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`.

Şu hesaplamayı oluşturun:

`=addmonths(date,2)`

Sonuçlar tablosu

| date | =addmonths(date,2) |
| --- | --- |
| 01/10/2020 | 03/10/2020 |
| 02/28/2020 | 04/28/2020 |
| 04/09/2020 | 06/09/2020 |
| 04/16/2020 | 06/16/2020 |
| 05/21/2020 | 07/21/2020 |
| 08/14/2020 | 10/14/2020 |
| 10/07/2020 | 12/07/2020 |
| 12/05/2020 | 02/05/2021 |
| 01/22/2021 | 03/22/2021 |
| 02/03/2021 | 04/03/2021 |
| 03/17/2021 | 05/17/2021 |
| 04/23/2021 | 06/23/2021 |
| 05/04/2021 | 07/04/2021 |
| 06/30/2021 | 08/30/2021 |
| 07/26/2021 | 09/26/2021 |
| 12/27/2021 | 02/27/2022 |
| 02/02/2022 | 04/02/2022 |
| 02/26/2022 | 04/26/2022 |
| 03/07/2022 | 05/07/2022 |
| 03/11/2022 | 05/11/2022 |

Grafik nesnesinde `addmonths()` fonksiyonu kullanılarak `two_months_later` hesaplaması oluşturulur. Sağlanan ilk bağımsız değişken hangi tarihin değerlendirilmekte olduğunu belirler. İkinci bağımsız değişken `startdate` tarihiyle toplanacak veya bu tarihten çıkarılacak ay sayısıdır. Bu örnekte 2 değeri sağlanmıştır.

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

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

`addmonths()`addmonths() fonksiyonu diyagramı, grafik nesnesi örneği![Komut dosyasındaki 8193 numaralı İşlemin giriş tarihinden sonuçta elde edilen çıkış tarihine nasıl dönüştürüldüğünü gösteren addmonths fonksiyonu diyagramı.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-addmonths-examples-chart-object.png)

8193 numaralı İşlem 14 Ağustos'ta gerçekleşmiştir. Bu nedenle `addmonths()` fonksiyonu `two_months_later` alanı için 14 Ekim 2020 tarihini döndürür.

## Örnek 4 – Senaryo

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

#### Komut dosyası ve grafik ifadesi

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:

* Mobile\_Plans adlı tabloya yüklenen bir veri kümesi.

* Sözleşme kimliği, başlangıç tarihi, sözleşme uzunluğu ve aylık ücret bilgileri.

Son kullanıcı, sözleşme kimliğine göre her telefon sözleşmesinin sonlandırma tarihini görüntüleyen bir grafik nesnesi istemektedir.

Komut dosyası

```
Mobile_Plans:
Load
*
Inline 
[
contract_id,start_date,contract_length,monthly_fee
8188,'01/13/2020',18,37.23
8189,'02/26/2020',24,17.17
8190,'03/27/2020',36,88.27
8191,'04/16/2020',24,57.42
8192,'05/21/2020',24,53.80
8193,'08/14/2020',12,82.06
8194,'10/07/2020',18,40.39
8195,'12/05/2020',12,87.21
8196,'01/22/2021',12,95.93
8197,'02/03/2021',18,45.89
8198,'03/17/2021',24,36.23
8199,'04/23/2021',24,25.66
8200,'05/04/2021',12,82.77
8201,'06/30/2021',12,69.98
8202,'07/26/2021',12,76.11
8203,'12/27/2021',36,25.12
8204,'06/06/2022',24,46.23
8205,'07/18/2022',12,84.21
8206,'11/14/2022',12,96.24
8207,'12/12/2022',18,67.67
];
```

Sonuçlar

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

* contract\_id

* start\_date

* contract\_length

Her sözleşmenin bitiş tarihini hesaplamak için aşağıdaki hesaplamayı oluşturun:

=addmonths(start\_date,contract\_length, 0)

Sonuçlar tablosu

| contract\_id | start\_date | contract\_length | =addmonths(start\_date,contract\_length,0) |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 18 | 07/13/2021 |
| 8189 | 02/26/2020 | 24 | 02/26/2022 |
| 8190 | 03/27/2020 | 36 | 03/27/2023 |
| 8191 | 04/16/2020 | 24 | 04/16/2022 |
| 8192 | 05/21/2020 | 24 | 05/21/2022 |
| 8193 | 08/14/2020 | 12 | 08/14/2021 |
| 8194 | 10/07/2020 | 18 | 04/07/2022 |
| 8195 | 12/05/2020 | 12 | 12/05/2021 |
| 8196 | 01/22/2021 | 12 | 01/22/2022 |
| 8197 | 02/03/2021 | 18 | 08/03/2022 |
| 8198 | 03/17/2021 | 24 | 03/17/2023 |
| 8199 | 04/23/2021 | 24 | 04/23/2023 |
| 8200 | 05/04/2021 | 12 | 05/04/2022 |
| 8201 | 06/30/2021 | 12 | 06/30/2022 |
| 8202 | 07/26/2021 | 12 | 07/26/2022 |
| 8203 | 12/27/2021 | 36 | 12/27/2024 |
| 8204 | 06/06/2022 | 24 | 06/06/2024 |
| 8205 | 07/18/2022 | 12 | 07/18/2023 |
| 8206 | 11/14/2022 | 12 | 11/14/2023 |
| 8207 | 12/12/2022 | 18 | 06/12/2024 |