# monthsend - kod ve grafik fonksiyonu

Bu fonksiyon, bir temel tarihi içeren aylık, iki aylık, üç aylık, dört aylık veya yarı yıllık bir dönemin son milisaniyesinin zaman damgasına karşılık gelen bir değeri döndürür. Önceki ve sonraki bir zaman dönemi için zaman damgasını bulmak da mümkündür.

Söz Dizimi:

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

**Dönüş veri türü:** dual

Bağımsız Değişkenler:

MonthsEnd bağımsız değişkenleri

| Bağımsız Değişken | Açıklama |
| --- | --- |
| n\_months | Dönemi tanımlayan ayların sayısı. Şunlardan biri olması gereken bir tamsayıya çözümlenen bir tamsayı ya da ifade: 1 (inmonth() fonksiyonunun eşdeğeri), 2 (iki aylık), 3 (inquarter() fonksiyonunun eşdeğeri), 4 (dört aylık dönem) veya 6 (yarı yıl). |
| date | Değerlendirilecek tarih. |
| 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. |

Örnekler ve sonuçlar:

Bu örneklerde GG/AA/YYYY tarih biçimi kullanılmaktadır. Tarih biçimi, kod dosyanızın en başında SET DateFormat deyimi içinde belirtilir. Örneklerdeki biçimi gereksinimlerinize uyacak şekilde değiştirin.

Örnek 1:

`monthsend(4, '19/07/2013')`

31/08/2013 döndürür.

Örnek 2:

`monthsend(4, '19/10/2013', -1)`

31/08/2013 döndürür.

Örnek 3:

`monthsend(4, '19/10/2013', 0, 2)`

31/01/2014 döndürür.  
Çünkü yılın başlangıcı 2. ay olur.

Örnek 4:

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.

Bu örnek, her bir fatura tarihi için iki aylık dönemin son gününün bitimini bulur (iki aylık bir dönem kadar ileri kaydırılmış olarak).

`TempTable:` `LOAD RecNo() as InvID, * Inline [` `InvDate` `28/03/2012` `10/12/2012` `5/2/2013` `31/3/2013` `19/5/2013` `15/9/2013` `11/12/2013` `2/3/2014` `14/5/2014` `13/6/2014` `7/7/2014` `4/8/2014` `];` ` ` `InvoiceData:` `LOAD *,` `MonthsEnd(2, InvDate,  1) AS BiMthsEnd` `Resident TempTable;`

`Drop table TempTable;`

Sonuçta ortaya çıkan tabloda orijinal tarihler ve MonthsEnd() fonksiyonunun döndürdüğü değeri içeren bir sütun yer alır.

Örnek 4 sonuçları

| InvDate | BiMthsEnd |
| --- | --- |
| 28/03/2012 | 30/06/2012 |
| 10/12/2012 | 28/02/2013 |
| 5/2/2013 | 30/04/2013 |
| 31/3/2013 | 30/06/2013 |
| 19/5/2013 | 31/08/2013 |
| 15/9/2013 | 31/12/2013 |
| 11/12/2013 | 28/02/2014 |
| 2/3/2014 | 30/06/2014 |
| 14/5/2014 | 31/08/2014 |
| 13/6/2014 | 31/08/2014 |
| 7/7/2014 | 31/10/2014 |
| 4/8/2014 | 31/10/2014 |