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

Esta función devuelve un valor de visualización que muestra el año y el número de la semana lunar correspondiente a una marca de tiempo (fecha-hora) del primer milisegundo del primer día de la semana lunar que contiene a date. Las semanas lunares en Qlik Sense se definen contando el 1 de enero como el primer día de la semana y, aparte de la última semana del año, contendrán exactamente siete días.

Sintaxis:

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

Tipo de datos que devuelve: dual

Ejemplo de diagrama de la función `lunarweekname()`

Ejemplo de diagrama de la función `lunarweekname()`

Ejemplo de diagrama de la función `lunarweekname()`lunarweekname() ![Diagrama a modo de ejemplo que muestra cómo la función lunarweekname convierte una fecha de entrada en un valor que muestra una combinación de año y número de semana lunar.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-general.png)

La función `lunarweekname()` determina en qué semana lunar cae la fecha, comenzando un recuento de semanas desde el 1 de enero. Luego devuelve un valor compuesto por `year/weekcount`.

Argumentos

| Argumento | Descripción |
| --- | --- |
| date | La fecha o marca de tiempo para evaluar. |
| period\_no | period\_no es un entero o expresión que devuelve un entero, donde el valor 0 indica la semana lunar que contiene a 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. |

## Cuándo se utiliza

La función `lunarweekname()` es útil cuando se desea comparar agregaciones por semanas lunares. Por ejemplo, la función podría usarse para determinar el total de ventas de productos por semana lunar. Las semanas lunares son útiles cuando se desea garantizar que todos los valores contenidos en la primera semana del año contengan solo valores a partir del 1 de enero como mínimo.

Estas dimensiones se pueden crear en el script de carga utilizando la función para crear un campo en una tabla de calendario maestro. La función también se puede utilizar directamente en un gráfico como una dimensión calculada.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `lunarweekname('01/12/2013')` | Devuelve 2006/02. |
| `lunarweekname('01/12/2013', -1)` | Devuelve 2006/01. |
| `lunarweekname('01/12/2013', 0, 1)` | Devuelve 2006/02. |

## Configuraciones regionales

A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia `SET DateFormat` de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos.

La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando en su navegador.

## Ejemplo 1: la fecha sin argumentos adicionales

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "`Transactions`".

* El campo de fecha proporcionado en el formato de la variable del sistema `DateFormat`: (MM/DD/AAAA).

* La creación de un campo, `  lunar_week_name `, que devuelve el año y el número de semana de la semana lunar en la que se realizaron las transacciones.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date) as lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `lunar_week_name`

Tabla de resultados

| date | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

El campo `lunar_week_name` se crea en la instrucción load anterior utilizando la función `lunarweekname()` e introduciendo el campo `date` como argumento de la función.

La función `lunarweekname()` identifica en qué semana lunar cae el valor de la fecha, devolviendo el año y el número de semana de esa fecha.

Diagrama de la función `lunarweekname()`, ejemplo sin argumentos adicionales

Diagrama de la función `lunarweekname()`, ejemplo sin argumentos adicionales

Diagrama de la función `lunarweekname()`lunarweekname(), ejemplo sin argumentos adicionales![Diagrama que muestra cómo la función lunarweekname convierte una fecha de entrada en un valor que muestra una combinación de año y número de semana lunar.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-no-add-arg.png)

La transacción 8189 tuvo lugar el 19 de enero. La función `lunarweekname()` identifica que esta fecha cae en la semana lunar que comienza el 15 de enero; esta es la tercera semana lunar del año. Por lo tanto, el valor de `lunar_week_name` que devuelve para esa transacción es 2022/03.

## Ejemplo 2: fecha con argumento period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.

* La creación de un campo, `previous_lunar_week_name`, que devuelve el año y el número de semana de la semana lunar anterior a la fecha en que se realizaron las transacciones.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date,-1) as previous_lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `previous_lunar_week_name`

Tabla de resultados

| date | previous\_lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2021/52 |
| 1/19/2022 | 2022/02 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/10 |
| 4/1/2022 | 2022/12 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/23 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/28 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/29 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/32 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/40 |
| 10/29/2022 | 2022/43 |

En este caso, debido a que se usó un `period_no` de -1 como argumento del desplazamiento en la función `lunarweekname()`, la función primero identifica la semana lunar en la que se realizaron las transacciones. Luego devuelve el año y el número de una semana anterior.

Diagrama de la función `lunarweekname()`, ejemplo de period\_no

Diagrama de la función `lunarweekname()`, ejemplo de period\_no

Diagrama de la función `lunarweekname()`lunarweekname(), ejemplo de period\_no![Diagrama que muestra cómo la función lunarweekname convierte la fecha de entrada de una transacción en un valor combinado que muestra el año y el número de semana de la semana lunar en que se realizó la transacción.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-period-no.png)

La transacción 8189 tuvo lugar el 19 de enero. La función `lunarweekname()` identifica que esta transacción tuvo lugar en la tercera semana lunar del año, por lo que luego devuelve el año y el valor de una semana anterior, 2022/02, para el campo `previous_lunar_week_name`.

## Ejemplo 3: fecha con el argumento de first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carga y resultados

Vista general

Abra el editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

El script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo. En este ejemplo, establecemos que las semanas lunares comiencen el 5 de enero.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        lunarweekname(date,0,4) as lunar_week_name
        ;
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `lunar_week_name`

Tabla de resultados

| date | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/43 |

Diagrama de la función `lunarweekname()`, ejemplo de first\_week\_day

Diagrama de la función `lunarweekname()`, ejemplo de first\_week\_day

Diagrama de la función `lunarweekname()`lunarweekname(), ejemplo de first\_week\_day![Diagrama que muestra cómo la función lunarweekname convierte la fecha de entrada de cada transacción en un valor combinado que muestra el año y el número de la semana lunar.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-first-week-day.png)

En este caso, como se utiliza el argumento 4 de `first_week_date` en la función `lunarweekname()`, esta desplaza el inicio de las semanas lunares del 1 de enero al 5 de enero.

La transacción 8188 tuvo lugar el 7 de enero. Debido a que las semanas lunares comienzan el 5 de enero, la función `lunarweekname()` identifica que la semana lunar que contiene el 7 de enero es la primera semana lunar del año. Por lo tanto, el valor de `lunar_week_name` que devuelve para esa transacción es 2022/01.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carga y expresión de gráfico

Vista general

Abra el editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

El script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo.

Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que devuelve el número de la semana lunar y el año en que se realizaron las transacciones se crea como una medida en un objeto gráfico de la aplicación.

Script de carga

```
Transactions:
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:date.

Para calcular la fecha de inicio de la semana lunar en la que se realizó una transacción, cree la siguiente medida:

=lunarweekname(date)

Tabla de resultados

| date | =lunarweekname(date) |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

La medida lunar\_week\_name se crea en el objeto gráfico utilizando la función lunarweekname() e introduciendo el campo date como argumento de la función.

La función lunarweekname() identifica en qué semana lunar cae el valor de la fecha, devolviendo el año y el número de semana de esa fecha.

Diagrama de la función lunarweekname(), ejemplo de objeto gráfico

Diagrama de la función lunarweekname(), ejemplo de objeto gráfico

Diagrama de la función lunarweekname()lunarweekname(), ejemplo de objeto gráfico![Diagrama que muestra cómo la función lunarweekname convierte una fecha de entrada en un valor que muestra una combinación de año y número de semana lunar.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-chart-object.png)

La transacción 8189 tuvo lugar el 19 de enero. La función lunarweekname() identifica que esta fecha cae en la semana lunar que comienza el 15 de enero; esta es la tercera semana lunar del año. Por lo tanto, el valor de lunar\_week\_name para dicha transacción es 2022/03.

## Ejemplo 5: Escenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm)

#### Script de carga y expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada Transactions.

* El campo de fecha proporcionado en el formato de la variable del sistema DateFormat (MM/DD/AAAA).

Al usuario final le gustaría tener un objeto gráfico que presente el total de ventas por semana del año actual. La semana 1, con una duración de siete días, debe comenzar el 1 de enero. Esto podría lograrse incluso cuando esta dimensión no esté disponible en el modelo de datos utilizando la función lunarweekname() como una dimensión calculada en el gráfico.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline 
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Resultados

Haga lo siguiente:

1. Cargue los datos y abra una hoja. Cree una nueva tabla.

2. Cree una dimensión calculada usando la siguiente expresión:

   =lunarweekname(date)

3. Calcule el total de ventas con la siguiente medida de agregación:

   =sum(amount)

4. Establezca el Formato numérico de la medida en Moneda.

Tabla de resultados

| =lunarweekname(date) | =sum(amount) |
| --- | --- |
| 2022/01 | $17.17 |
| 2022/03 | $37.23 |
| 2022/06 | $57.42 |
| 2022/09 | $88.27 |
| 2022/11 | $53.80 |
| 2022/13 | $82.06 |
| 2022/19 | $40.39 |
| 2022/20 | $87.21 |
| 2022/24 | $95.93 |
| 2022/26 | $45.89 |
| 2022/28 | $36.23 |
| 2022/29 | $25.66 |
| 2022/30 | $152.75 |
| 2022/31 | $76.11 |
| 2022/32 | $25.12 |
| 2022/33 | $46.23 |
| 2022/39 | $84.21 |
| 2022/41 | $96.24 |
| 2022/44 | $67.67 |