Esta función halla si timestamp se encuentra dentro de la semana lunar que contiene la fecha base base_date. Las semanas lunares en Qlik Sense se definen contando 1 de enero como el primer día de la semana.
La fecha que se utiliza para evaluar la semana lunar.
period_no
La semana lunar puede desplazarse mediante period_no; period_no es un entero, en el que el valor 0 indica la semana lunar que contiene a base_date. Los valores negativos en period_no indican semanas lunares precedentes y los valores positivos indican semanas lunares subsiguientes.
first_week_day
Un desplazamiento que puede ser mayor que o menor que cero. Esto cambia el comienzo del año por el número especificado de días y/o fracciones de un día.
Ejemplos de script
Ejemplo
Resultado
inlunarweek('12/01/2013', '14/01/2013', 0)
Devuelve True. Porque el valor de timestamp, 12/01/2013, cae en la semana del 08/01/2013 al 14/01/2013.
inlunarweek('12/01/2013', '07/01/2013', 0)
Devuelve False. Porque base_date 07/01/2013 está en la semana lunar definida como de 01/01/2013 a 07/01/2013.
inlunarweek('12/01/2013', '14/01/2013', -1)
Devuelve False. Porque especificar un valor de period_no como -1 desplaza la semana a la semana previa, del 01/01/2013 al 07/01/2013.
inlunarweek('07/01/2013', '14/01/2013', -1)
Devuelve True. Comparado con el ejemplo anterior, la fecha hora está en la semana posterior a tenerse en cuenta el desplazamiento hacia atrás.
inlunarweek('11/01/2006', '08/01/2006', 0, 3)
Devuelve False. Porque especificar un valor para first_week_day como 3 significa que el inicio del año se calcula a partir de 04/01/2013, por lo que el valor de base_date cae en la primera semana y el valor de timestamp cae en la semana de 11/01/2013 a 17/01/2013.
Example:
Agregue el script de ejemplo en su app y ejecútelo. A continuación, agregue como mínimo los campos de la columna de resultados en una hoja de su app para ver el resultado.
Este ejemplo comprueba si una fecha de factura cae en la semana desplazada desde el valor de base_date en cuatro semanas.
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 *,
InLunarWeek(InvDate, '11/01/2013', 4) AS InLWeekPlus4
Resident TempTable;
Drop table TempTable;
La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función inlunarweek().
La función devuelve True para el valor de InvDate5/2/2013 porque el valor de base_date, 11/01/2013 se desplaza en cuatro semanas, y así cae en la semana de to 5/02/2013 a 11/02/2013.