Saltar al contenido principal

inlunarweek - función de script y de gráfico

Esta función devuelve verdadero si timestamp se encuentra dentro de la semana lunar que contiene a base_date. Las semanas lunares en QlikView se definen contando 1 de enero como el primer día de la semana.

Sintaxis:  

InLunarWeek (timestamp, base_date, period_no[, first_week_day])

Tipo de datos que devuelve: Booleano

Argumentos:  

Argumentos de InLunarWeek
Argumento Descripción
timestamp La fecha que desee comparar con base_date.
base_date 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.

Ejemplo 1:  

inlunarweek('12/01/2013', '14/01/2013', 0)

Devuelve True. Porque el valor de timestamp, 12/01/2013 cae en la semana 08/01/2013 a 14/01/2013.

Ejemplo 2:  

inlunarweek('12/01/2013', '07/01/2013', 0)

Devuelve False. Porque la fecha base_date 07/01/2013 está en la semana lunar definida como 01/01/2013 a 07/01/2013.

Ejemplo 3:  

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, 01/01/2013 a 07/01/2013.

Ejemplo 4:  

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.

Ejemplo 5:  

inlunarweek('11/01/2006', '08/01/2006', 0, 3)

Devuelve False. Porque especificar un valor para first_week_day de 3 significa que el inicio del año se calcula desde 04/01/2013, y por lo tanto 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.

Ejemplo 6:  

Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.

Este ejemplo comprueba si una fecha de facturación entra dentro de 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 por lo tanto cae en la semana de 5/02/2013 a 11/02/2013.

Resultados del ejemplo 6
InvDate InLWeekPlus4
28/03/2012 0 (False)
10/12/2012 0 (False)
5/2/2013 -1 (True)
31/3/2013 0 (False)
19/5/2013 0 (False)
15/9/2013 0 (False)
11/12/2013 0 (False)
2/3/2014 0 (False)
14/5/2014 0 (False)
13/6/2014 0 (False)
7/7/2014 0 (False)
4/8/2014 0 (False)

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.

Únase al Programa de modernización de la analítica

Remove banner from view

Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com