lunarweekname - script and chart function
This function returns a display value showing the year and lunar week number corresponding to a timestamp of the first millisecond of the first day of the lunar week containing date. Lunar weeks in QlikView are defined by counting 1 January as the first day of the week.
Syntax:
LunarWeekName(date [, period_no[, first_week_day]])
Return data type: dual
Arguments:
Argument | Description |
---|---|
date | The date to evaluate. |
period_no | period_no is an integer or expression resolving to an integer, where the value 0 indicates the lunar week which contains date. Negative values in period_no indicate preceding lunar weeks and positive values indicate succeeding lunar weeks. |
first_week_day | An offset that may be greater than or less than zero. This changes the beginning of the year by the specified number of days and/or fractions of a day. |
Example 1:
lunarweekname('12/01/2013')
Returns 2013/02.
Example 2:
lunarweekname('12/01/2013', -1)
Returns 2013/01.
Example 3:
lunarweekname('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 lunar week name is created from the year in which the week lies and its associated lunar 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 *,
LunarWeekName(InvDate, 1) AS LWkName
Resident TempTable;
Drop table TempTable;
The resulting table contains the original dates and a column with the return value of the lunarweekname() function. You can display the full timestamp by specifying the formatting in the chart properties.
InvDate | LWkName |
---|---|
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/28 |
4/8/2014 | 2014/32 |