Denna funktion returnerar ett fyrsiffrigt år som visningsvärde med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden av den första dagen på det år som innehåller date.
period_no är ett heltal, där värdet 0 anger det år som innehåller date. Negativa värden i period_no anger föregående år och positiva värden anger efterföljande år.
first_month_of_year
Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first_month_of_year. Visningsvärdet blir då en sträng som visar två år.
I de här exemplen används datumformatet DD/MM/YYYY. Datumformatet anges i SET DateFormat-satsen längst upp i dataladdningsskriptet. Ändra formatet i exemplen så att det passar dina krav.
Skriptexempel
Exempel
Resultat
yearname ( '19/10/2001')
Returnerar 2001.
yearname ( '19/10/2001', -1 )
Returnerar 2000.
yearname ( '19/10/2001', 0, 4)
Returnerar 2001-2002.
Example:
Lägg till exempelskriptet i appen och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen till ett ark i din app för att se resultatet.
I det här exemplet hittas den första dagen på året för varje faktureringsdatum i tabellen, där den första månaden på året har angetts som månad 4.
I det här exemplet skapar vi ett fyra-plus-fyra-siffror-namn för åren som varje faktureringsdatum i tabellen finns på. Detta beror på att den första månaden på året angetts som månad 4.
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;
Den resulterande tabellen innehåller de ursprungliga datumen och en kolumn med returvärdet för yearname()-funktionen.