Skip to main content

lunarweekend - script and chart function

This function returns a value corresponding to a timestamp of the last millisecond of the lunar week containing date. Lunar weeks in QlikView are defined by counting 1 January as the first day of the week.

Syntax:  

LunarweekEnd(date[, period_no[, first_week_day]])

Return data type: dual

Arguments:  

LunarweekEnd 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.

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:  

lunarweekend('12/01/2013')

Returns 14/01/2013 23:59:59.

Example 2:  

lunarweekend('12/01/2013', -1)

Returns 7/01/2013 23:59:59.

Example 3:  

lunarweekend('12/01/2013', 0, 1)

Returns 15/01/2013 23:59:59.

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 finds the final day of the lunar week of each invoice date in the table, where the date is shifted by 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 *,

LunarWeekEnd(InvDate, 1) AS LWkEnd

Resident TempTable;

Drop table TempTable;

The resulting table contains the original dates and a column with the return value of the lunarweekend() function. You can display the full timestamp by specifying the formatting in the chart properties.

Example 4 results
InvDate LWkEnd
28/03/2012 07/04/2012
10/12/2012 22/12/2012
5/2/2013 18/02/2013
31/3/2013 08/04/2013
19/5/2013 27/05/2013
15/9/2013 23/09/2013
11/12/2013 23/12/2013
2/3/2014 11/03/2014
14/5/2014 27/05/2014
13/6/2014 24/06/2014
7/7/2014 15/07/2014
4/8/2014 12/08/2014

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!

Join the Analytics Modernization Program

Remove banner from view

Modernize without compromising your valuable QlikView apps with the Analytics Modernization Program. Click here for more information or reach out: ampquestions@qlik.com