Bu fonksiyon bir taban tarih içeren ayın, iki aylık dönemin, çeyreğin, tersiyelin veya yarım yılın son 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.
Dönemi tanımlayan ayların sayısı. Şunlardan biri olması gereken bir tamsayı veya bir tamsayıya çözümlenen bir ifade: 1 (inmonth() fonksiyonuna eşdeğer), 2 (iki aylık), 3 (inquarter() fonksiyonuna eşdeğer), 4 (dört aylık), or 6 (altı aylık).
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.
Bu örnekler DD/MM/YYYY tarih biçimini kullanır. Tarih biçimi, veri kod dosyanızın en üstündeki SET DateFormat deyiminde belirtilir. Örneklerdeki biçimi gereksinimlerinize uyacak şekilde değiştirin.
Kod örnekleri
Örnek
Sonuç
monthsend(4, '19/07/2013')
31/08/2013 döndürür.
monthsend(4, '19/10/2013', -1)
31/08/2013 döndürür.
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:
Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonucu görmek için, sonuçlar sütununda listelenen alanları uygulamanızda bir sayfaya ekleyin.
Bu örnek, her bir fatura tarihi için iki aylık dönemin son gününün bitişini 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.
Sonuçlar tablosu
InvDate
BiMthsEnd
28/03/2012
30/06/2012
10/12/2012
28/02/2013
5/2/2013
30/04/2013
31/3/2013
30/04/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
Bu sayfa size yardımcı oldu mu?
Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!