monthsend - kod ve grafik fonksiyonu
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.
Söz Dizimi:
MonthsEnd(n_months, date[, period_no [, first_month_of_year]])
Dönüş verileri türü: ikili
Bağımsız Değişkenler:
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.
Ö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.
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 |