# lunarweekstart - función de script y de gráfico

Esta función devuelve un valor correspondiente a una fecha y hora con el primer milisegundo de la semana lunar en la que se incluye date. Las semanas lunares en QlikView se definen contando 1 de enero como el primer día de la semana.

Sintaxis:

LunarweekStart(date[, period\_no[, first\_week\_day]])

**Tipo de datos que devuelve:** dual

Argumentos:

Argumentos de LunarweekStart

| Argumento | Descripción |
| --- | --- |
| date | La fecha que se ha de evaluar. |
| period\_no | period\_no es un entero o una expresión que devuelve un entero, en el que el valor 0 indica la semana lunar en la que se incluye 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 y resultados:

Estos ejemplos utilizan el formato de fecha DD/MM/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat en la parte superior de su script de carga. Cambie el formato en los ejemplos según se ajuste a sus necesidades.

Ejemplo 1:

`lunarweekstart('12/01/2013')`

Devuelve 08/01/2013.

Ejemplo 2:

`lunarweekstart('12/01/2013', -1)`

Devuelve 01/01/2013.

Ejemplo 3:

`lunarweekstart('12/01/2013', 0, 1  )`

Devuelve 09/01/2013.   
Porque el desplazamiento especificado estableciendo first\_week\_day como 1 significa que el comienzo del año cambia a 02/01/2013.

Ejemplo 4:

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 encuentra el primer día de la semana lunar de cada fecha de facturación de la tabla, donde date se desplaza una semana especificando period\_no como 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 *,` `LunarWeekStart(InvDate, 1) AS LWkStart` `Resident TempTable;`

`Drop table TempTable;`

La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función lunarweekstart(). Podemos mostrar la fecha hora completa especificando el formato en las propiedades de gráfico.

Resultados del ejemplo 4

| InvDate | LWkStart |
| --- | --- |
| 28/03/2012 | 01/04/2012 |
| 10/12/2012 | 16/12/2012 |
| 5/2/2013 | 12/02/2013 |
| 31/3/2013 | 02/04/2013 |
| 19/5/2013 | 21/05/2013 |
| 15/9/2013 | 17/09/2013 |
| 11/12/2013 | 17/12/2013 |
| 2/3/2014 | 05/03/2014 |
| 14/5/2014 | 21/05/2014 |
| 13/6/2014 | 18/06/2014 |
| 7/7/2014 | 09/07/2014 |
| 4/8/2014 | 06/08/2014 |