Diese Funktion liefert den Zeitstempel der ersten Millisekunde des ersten Tages des Jahres, in dem date liegt. Das Ergebnis wird als vierstellige Jahreszahl formatiert.
period_no ist eine ganze Zahl, wobei 0 für das Jahr steht, das date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Jahre.
first_month_of_year
Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first_month_of_year einen anderen Startmonat. In diesem Fall besteht das Ergebnis aus zwei Jahreszahlen.
In diesen Beispielen wird das Datumsformat DD/MM/YYYY verwendet. Das Datumsformat wird im Befehl SET DateFormat oben in Ihrem Datenladeskript angegeben. Ändern Sie das Format in den Beispielen nach Bedarf.
Skriptbeispiele
Beispiel
Ergebnis
yearname ( '19/10/2001')
Liefert 2001.
yearname ( '19/10/2001', -1 )
Liefert '2000.
yearname ( '19/10/2001', 0, 4)
Liefert '2001-2002.
Example:
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
In diesem Beispiel wird der erste Tag im Jahr für jedes Rechnungsdatum in der Tabelle ermittelt, wobei der erste Monat im Jahr als Monat 4 festgelegt wurde.
In diesem Beispiel wird ein vier-plus-vier-stelliger Code für die Jahre erstellt, in denen jedes Rechnungsdatum der Tabelle zu finden ist. Das erfolgt deshalb, weil der erste Monat im Jahr als Monat 4 festgelegt wurde.
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;
Die sich daraus ergebende Tabelle enthält die ursprünglichen Daten sowie eine Spalte mit dem Rückgabewert der Funktion yearname().