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

Söz Dizimi:

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

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

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

MonthsStart 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:

`monthsstart(4, '19/10/2013')`

1/09/2013 döndürür.

Örnek 2:

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

01/05/2013 döndürür.

Örnek 3:

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

01/10/2013 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 ilk gününü 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 *,` `MonthsStart(2, InvDate,  1) AS BiMthsStart` `Resident TempTable;`

`Drop table TempTable;`

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

Örnek 4 sonuçları

| InvDate | BiMthsStart |
| --- | --- |
| 28/03/2012 | 01/05/2012 |
| 10/12/2012 | 01/01/2013 |
| 5/2/2013 | 01/03/2013 |
| 31/3/2013 | 01/05/2013 |
| 19/5/2013 | 01/07/2013 |
| 15/9/2013 | 01/11/2013 |
| 11/12/2013 | 01/01/2014 |
| 2/3/2014 | 01/05/2014 |
| 14/5/2014 | 01/07/2014 |
| 13/6/2014 | 01/07/2014 |
| 7/7/2014 | 01/09/2014 |
| 4/8/2014 | 01/09/2014 |