# weekyear Función de script y de gráfico

Esta función devuelve el año al que pertenece el número de semana según las variables de entorno. El número de semana varía entre 1 y 52 aproximadamente.

weekyear(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

Tipo de datos que devuelve: Entero

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha o marca de tiempo para evaluar. |
| first\_week\_day | Especifica el día en el que se inicia la semana. Si se omite, se utiliza el valor de la variableFirstWeekDay.<br><br>Los valores posibles de first\_week\_day son 0 para el lunes, 1 para el martes, 2 para el miércoles, 3 para el jueves, 4 para el viernes, 5 para el sábado y 6 para el domingo.<br><br><br>Para más información sobre la variable del sistema, vea [FirstWeekDay](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |
| broken\_weeks | Si no especifica broken\_weeks, el valor de la variable BrokenWeeks se usará para definir si las semanas se rompen o no.<br><br><br>Para más información sobre la variable del sistema, vea<br>[BrokenWeeks](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) |
| reference\_day | Si no especifica reference\_day, el valor de la variable ReferenceDay se utilizará para definir qué día de enero establecer como día de referencia para definir la semana 1. Por defecto, las funciones de Qlik Sense utilizan 4 como día de referencia. Esto significa que la semana 1 debe incluir el 4 de enero o, dicho de otro modo, que la semana 1 siempre debe incluir 4 días de enero como mínimo.<br><br><br>Para más información sobre la variable del sistema, vea<br>[ReferenceDay](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm) |

La función `weekyear()` determina en qué semana de un año cae una fecha. Luego devuelve el año correspondiente a ese número de semana.

Si `BrokenWeeks` está configurado como `0` (false), `weekyear()` devolverá lo mismo que `year()`.

Diagrama del rango de la función `weekyear()`

Diagrama del rango de la función `weekyear()`

Diagrama del rango de la función `weekyear()`weekyear() ![Diagram that shows the range of time that the weekyear() function evaluates. The weekyear() identifies the year that a week number took place in.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

Sin embargo, si la variable del sistema `BrokenWeeks` está configurada para usar semanas ininterrumpidas, la semana 1 solo debe contener una cierta cantidad de días en enero conforme al valor especificado en la variable del sistema `ReferenceDay`.

Por ejemplo, si se utiliza un valor `ReferenceDay` de `4`, la semana 1 debe incluir al menos cuatro días en enero. Es posible que la semana 1 incluya fechas de diciembre del año anterior o que el número de semana final de un año incluya fechas de enero del año siguiente. En situaciones como esta, la función `weekyear()` devolverá un valor diferente al de la función `year()`.

Diagrama del rango de la función `weekyear()` cuando se usan semanas no interrumpidas

Diagrama del rango de la función `weekyear()` cuando se usan semanas no interrumpidas

Diagrama del rango de la función `weekyear()`weekyear() cuando se usan semanas no interrumpidas ![Diagram that shows how the weekyear() function works with unbroken weeks. If unbroken weeks are used, the weekyear() function will return a different value than the year() function.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

Cuándo se utiliza

La función `weekyear()` es útil cuando se desea comparar agregaciones por años. Por ejemplo, si desea ver el total de ventas de productos por año. La función `weekyear()` se elige preferentemente por delante de `year()` cuando el usuario desea mantener la coherencia con la variable del sistema `BrokenWeeks` en la aplicación.

## 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 aplicaciones 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 Qlik Sense interfaz de usuario. Qlik Sense se mostrará en el mismo idioma que el navegador que esté utilizando.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `weekyear('12/30/1996',0,0,4)` | devuelve 1997, porque la semana 1 de 1997 empieza el 30/12/1996 |
| `weekyear('01/02/1997',0,0,4)` | Devuelve 1997 |
| `weekyear('12/28/1997',0,0,4)` | Devuelve 1997 |
| `weekyear('12/30/1997',0,0,4)` | Devuelve 1998, porque la semana 1 de 1998 empieza el 29/12/1997 |
| `weekyear('01/02/1999',0,0,4)` | Devuelve 1998, porque la semana 53 de 1998 finaliza el 03/01/1999 |

Temas relacionados

| Tema | Interacción |
| --- | --- |
| [week Función de script y de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | Esta función devuelve un entero que representa el número de semana conforme a la ISO 8601 |
| [year Función de script y de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Devuelve un entero que representa el año en que la expresión se interpreta como una fecha según la interpretación numérica estándar. |

## Ejemplo 1: semanas interrumpidas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "`Transactions`".

* La variable `BrokenWeeks` que está establecida en 1.

* Un load precedente que contiene lo siguiente:

  * La función `weekyear()`, configurada como el campo ''`week_year`", que devuelve el año en que se realizaron las transacciones.

  * La función `week()`, configurada como el campo "`week`" que muestra el número de semana de cada fecha de transacción.

Script de carga

```
SET BrokenWeeks=1; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`
* `week`
* `week_year`

Tabla de resultados

| ID | Date | week | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 01/04/2021 | 2 | 2021 |
| 8184 | 01/05/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

El campo ‘`week_year`’ se crea en la instrucción load anterior utilizando la función `weekyear()` e introduciendo el campo de fecha como argumento de la función.

La variable del sistema `BrokenWeeks` está configurada en `1` para indicar que la aplicación utiliza semanas interrumpidas. La semana 1 comienza el 1 de enero.

Diagrama del rango de la función `weekyear()` cuando se usan semanas interrumpidas

Diagrama del rango de la función `weekyear()` cuando se usan semanas interrumpidas

Diagrama del rango de la función `weekyear()`weekyear() cuando se usan semanas interrumpidas ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo '`week_year`'.

## Ejemplo 2: semanas no interrumpidas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "`Transactions`".

* La variable `BrokenWeeks` que está establecida en "`0`".

* Un load precedente que contiene lo siguiente:

  * La función `weekyear()`, configurada como el campo ‘`week_year`’ que devuelve el año en que se realizaron las transacciones.

  * La función `week()`, configurada como el campo "`week`" que muestra el número de semana de cada fecha de transacción.

Sin embargo, en este ejemplo, la política de la empresa es utilizar semanas no interrumpidas.

Script de carga

```
SET BrokenWeeks=0; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`
* `week`
* `week_year`

Tabla de resultados

| ID | Date | week | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 53 | 2020 |
| 8181 | 01/02/2021 | 53 | 2020 |
| 8182 | 01/03/2021 | 1 | 2021 |
| 8183 | 01/04/2021 | 1 | 2021 |
| 8184 | 01/05/2021 | 1 | 2021 |
| 8185 | 01/06/2021 | 1 | 2021 |
| 8186 | 01/07/2021 | 1 | 2021 |

La variable del sistema `BrokenWeeks` está configurada en `0` para indicar que la aplicación utiliza semanas no interrumpidas. Por lo tanto, no se requiere que la semana 1 comience el 1 de enero.

La semana 53 de 2020 continúa hasta el final del 2 de enero de 2021; y la semana 1 de 2020 comienza el domingo 3 de enero de 2021.

Diagrama del rango de la función `weekyear()` con semanas no interrumpidas

Diagrama del rango de la función `weekyear()` con semanas no interrumpidas

Diagrama del rango de la función `weekyear()`weekyear() con semanas no interrumpidas ![Diagram that shows how the weekyear() function works with unbroken weeks and that week 53 has days in 2020 and 2021. Transaction 8181 takes place on January 2 but the weekyear() function identifies its year as 2020 because of the unbroken weeks.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo ‘`week_year`’.

## Ejemplo 3: ejemplo de objeto gráfico

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

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

Vista general

Se utilizan el mismo conjunto de datos y el mismo escenario que en 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 semana del año en que se realizaron las transacciones se crea como una medida en un gráfico de la aplicación.

Script de carga

```
SET BrokenWeeks=1; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

* `id`
* `date`

Para calcular la semana en que se realiza una transacción, cree la siguiente medida:

* `=week(date)`

Para calcular el año en que se realiza una transacción en función del número de semana, cree la siguiente medida:

* `=weekyear(date)`

Tabla de resultados

| ID | Date | week | week\_year |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 12/29/2020 | 53 | 2020 |
| 8178 | 12/30/2020 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 01/04/2021 | 2 | 2021 |
| 8184 | 01/05/2021 | 2 | 2021 |
| 8185 | 01/06/2021 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

El campo ‘`week_year`’ se crea en la instrucción load anterior utilizando la función `weekyear()` e introduciendo el campo de fecha como argumento de la función.

La variable del sistema `BrokenWeeks` está configurada en `1`, lo que significa que la aplicación utiliza semanas interrumpidas. La semana 1 comienza el 1 de enero.

Diagrama del rango de la función `weekyear()` cuando se usan semanas interrumpidas

Diagrama del rango de la función `weekyear()` cuando se usan semanas interrumpidas

Diagrama del rango de la función `weekyear()`weekyear() cuando se usan semanas interrumpidas ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo '`week_year`'.

## Ejemplo 4: escenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.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 la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "`Transactions`".

* La variable `BrokenWeeks` que está establecida en "`0`". Esto significa que la aplicación utilizará semanas ininterrumpidas.

* La variable `ReferenceDay` que está establecida en "`2`". Esto significa que el año comenzará el 2 de enero y contendrá un mínimo de dos días en enero.

* La variable `FirstWeekDay` que está establecida en "`1`". Esto significa que el primer día de la semana será el martes.

La política de la empresa es utilizar semanas interrumpidas. Al usuario final le gustaría tener un gráfico que presente el total de ventas por año. La aplicación usa semanas ininterrumpidas y la semana 1 contiene un mínimo de dos días en enero.

Script de carga

```
SET BrokenWeeks=0; 
SET ReferenceDay=2; 
SET FirstWeekDay=1; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42 
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

Resultados

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

Para calcular el año en que se realiza una transacción en función del número de semana, cree la siguiente medida:

* `=weekyear(date)`

Para calcular el total de ventas, cree la siguiente medida:

* `sum(amount)`

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

Tabla de resultados

| weekyear(date) | =sum(amount) |
| --- | --- |
| 2020 | 19.42 |
| 2021 | 373.37 |