weekname - script and chart function
This function returns a value showing the year and week number with an underlying numeric value corresponding to a timestamp of the first millisecond of the first day of the week containing date.
Syntax:
WeekName(date [, period_no = 0 [, first_week_day=0]])
Return data type: dual
Arguments:
Argument | Description |
---|---|
date | The date to evaluate. |
period_no | shift is an integer, where the value 0 indicates the week which contains date. Negative values in shift indicate preceding weeks and positive values indicate succeeding weeks. |
first_week_day |
If you don't specify first_week_day, the value of variable FirstWeekDay will be used as the first day of the week. If you want to use another day as the first day of the week, set first_week_day to:
The integer returned by the function will now use the first day of the week that you set with first_week_day as base (0). |
Example 1:
weekname('12/01/2013')
Returns 2013/02.
Example 2:
weekname('12/01/2013', -1)
Returns 2013/01.
Example 3:
weekname('12/01/2013', 0, 1)
Returns '2013/02.
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.
In this example, for each invoice date in the table, the week name is created from the year in which the week lies and its associated week number, shifted one week by specifying period_no as 1.
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 *,
WeekName(InvDate, 1) AS WkName
Resident TempTable;
Drop table TempTable;
The resulting table contains the original dates and a column with the return value of the weekname() function. You can display the full timestamp by specifying the formatting in the chart properties.
InvDate | WkName |
---|---|
28/03/2012 | 2012/14 |
10/12/2012 | 2012/51 |
5/2/2013 | 2013/07 |
31/3/2013 | 2013/14 |
19/5/2013 | 2013/21 |
15/9/2013 | 2013/38 |
11/12/2013 | 2013/51 |
2/3/2014 | 2014/10 |
14/5/2014 | 2014/21 |
13/6/2014 | 2014/25 |
7/7/2014 | 2014/29 |
4/8/2014 | 2014/33 |