yearname - script and chart function
This function returns a four-digit year as display value with an underlying numeric value corresponding to a timestamp of the first millisecond of the first day of the year containing date.
Syntax:
YearName(date[, period_no[, first_month_of_year]] )
Return data type: dual
Arguments:
Argument | Description |
---|---|
date | The date to evaluate. |
period_no | period_no is an integer, where the value 0 indicates the year which contains date. Negative values in period_no indicate preceding years and positive values indicate succeeding years. |
first_month_of_year | If you want to work with (fiscal) years not starting in January, indicate a value between 2 and 12 in first_month_of_year. The display value will then be a string showing two years. |
Examples and results:
These examples use the date format DD/MM/YYYY. The date format is specified in the SET DateFormat statement at the top of your load script. Change the format in the examples to suit your requirements.
Example 1:
yearname ( '19/10/2001')
Returns 2001.
Example 2:
yearname ( '19/10/2001', -1 )
Returns '2000.
Example 3:
yearname ( '19/10/2001', 0, 4)
Returns '2001-2002.
Example 4:
Add the example script to your document and run it. Then add, at least, the fields listed in the results column to a sheet in your document to see the result.
This example creates a four-plus-four digit name for the years in which each invoice date in the table is found. This is because the first month in the year is specified as month 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;
The resulting table contains the original dates and a column with the return value of the yearname() function.
InvDate | YrName |
---|---|
28/03/2012 | 2011-2012 |
10/12/2012 | 2012-2013 |
5/2/2013 | 2012-2013 |
31/3/2013 | 2012-2013 |
19/5/2013 | 2013-2014 |
15/9/2013 | 2013-2014 |
11/12/2013 | 2013-2014 |
2/3/2014 | 2013-2014 |
14/5/2014 | 2014-2015 |
13/6/2014 | 2014-2015 |
7/7/2014 | 2014-2015 |
4/8/2014 | 2014-2015 |