Bu fonksiyon, date öğesini içeren yılın ilk gününün ilk milisaniyesinin zaman damgasına karşılık gelen bir temel sayısal değerle görüntü değeri olarak dört basamaklı bir yıl döndürür.
period_no bir tamsayı olup, burada 0 değeri date içeren yılı belirtir. period_no içindeki negatif değerler önceki yılları; pozitif değerler ise sonraki yılları 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 durumda, görüntü değeri iki yılı gösteren bir dize olur.
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ç
yearname ( '19/10/2001')
2001 döndürür.
yearname ( '19/10/2001', -1 )
'2000 döndürür.
yearname ( '19/10/2001', 0, 4)
'2001-2002 döndürür.
Example:
Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonra sonucu görmek için sonuçlar sütununda listelenen alanları uygulamanızdaki bir sayfaya ekleyin.
Bu örnek, tablodaki her bir fatura tarihinin yer aldığı yıl içinde ilk günü bulur. Burada yılın ilk ayı 4. ay olarak belirtilmektedir.
Bu örnek, tablodaki her bir fatura tarihinin içinde bulunduğu yıllar için dört+dört haneli bir ad oluşturur. Bunun nedeni yılın ilk ayının 4. ay olarak belirtilmiş olmasıdır.
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 *,
YearName(InvDate, 0, 4) AS YrName
Resident TempTable;
Drop table TempTable;
Sonuçta ortaya çıkan tabloda orijinal tarihler ve yearname() fonksiyonunun döndürdüğü değeri içeren bir sütun yer alır.