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

Esta función devuelve True si timestamp se encuentra dentro del año que contiene a base\_date.

Sintaxis:

InYear (timestamp, base\_date, period\_no [, first\_month\_of\_year])

Tipo de datos que devuelve: Booleano

En Qlik Sense, el valor booleano verdadero viene representado por -1 y el valor falso está representado por 0.

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

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

Diagrama del rango de la función `inyear()`inyear() ![Diagrama que muestra el intervalo de tiempo que evalúa la función inyear() y devolverá un resultado booleano según lo proporcionado como fecha base.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

La función `inyear()` devuelve un resultado booleano al comparar los valores de fecha seleccionados con un año definido por `base_date`.

Cuándo se utiliza

La función `inyear()` devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una `if expression`. Esto devuelve una agregación o cálculo dependiente de si una fecha evaluada ocurrió en el año en cuestión. Por ejemplo, la función `inyear()` se puede usar para identificar todas las ventas que ocurrieron en un determinado año.

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha que desea comparar con base\_date. |
| base\_date | La fecha que se utiliza para evaluar el año. |
| period\_no | El año puede desplazarse mediante period\_no. period\_no es un entero, en el que el valor 0 indica el año que contiene a base\_date. Los valores negativos en period\_no indican años precedentes y los valores positivos indican años subsiguientes. |
| first\_month\_of\_year | Si desea trabajar con años (fiscales) que no comiencen en enero, indique un valor entre 2 y 12 en first\_month\_of\_year. |

Puede utilizar los siguientes valores para establecer el primer mes del año en el argumento de `first_month_of_year`:

valores de first\_month\_of\_year

| Mes | Valor |
| --- | --- |
| Febrero | 2 |
| Marzo | 3 |
| Abril | 4 |
| Mayo | 5 |
| Junio | 6 |
| Julio | 7 |
| Agosto | 8 |
| Septiembre | 9 |
| Octubre | 10 |
| Noviembre | 11 |
| Diciembre | 12 |

## 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 |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | Devuelve TRUE |
| `inyear ('01/25/2012', '01/01/2013', 0)` | Devuelve FALSE |
| `inyear ('01/25/2013', '01/01/2013', -1)` | Devuelve FALSE |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | Devuelve TRUE |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | Devuelve TRUE<br><br>El valor de `base_date` y `first_month_of_year` especifican que la marca de tiempo debe estar entre el 03/01/2012 y el 28/02/2013 |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | Devuelve TRUE |

## Ejemplo 1: ejemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 y 2022, que se carga en una tabla llamada "`Transactions`".

* Una instrucción load precedente, que contiene la función `inyear()` configurada como el campo "`in_year`" y determina qué transacciones tuvieron lugar en el mismo año que el 26 de julio de 2021.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `in_year`

Tabla de resultados

| date | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

El campo "`in_year`" se crea en la instrucción load anterior mediante el uso de la función `inyear()`. El primer argumento identifica qué campo se está evaluando. El segundo argumento es una fecha codificada del 26 de julio de 2021, que es la `base_date` que identifica el año de comparación. Un `period_no` de `0` es el argumento final, lo que significa que la función `inyear()` no compara los años que preceden o siguen al año.

Diagrama del rango de la función `inyear()` con el 26 de julio como fecha base

Diagrama del rango de la función `inyear()` con el 26 de julio como fecha base

Diagrama del rango de la función `inyear()`inyear() con el 26 de julio como fecha base ![Diagrama de la función inyear() con el 26 de julio como fecha base y el intervalo de tiempo del 1 de enero de 2021 hasta el 1 de enero de 2022 resaltado.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Cualquier transacción que ocurra en 2021 devolverá un resultado booleano de TRUE.

## Ejemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 y 2022, que se carga en una tabla llamada "`Transactions`".

* Una instrucción load precedente, que contiene la función `inyear()` configurada como el campo "`previous_year`" y que determina qué transacciones tuvieron lugar antes del año que contiene el 26 de julio de 2021.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `previous_year`

Tabla de resultados

| date | previous\_year |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 08/14/2020 | -1 |
| 10/07/2020 | -1 |
| 12/05/2020 | -1 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usar `-1` como el argumento de `period_no` en la función `inyear()` desplaza los límites del año de comparación hacia atrás un año completo. 2021 se identifica inicialmente como el año de comparación. `period_no` desplaza el año de comparación en un año, lo que convierte a 2020 en el año de comparación.

Diagrama de rango de la función `inyear()` con el argumento de period\_no establecido en `-1`

Diagrama de rango de la función `inyear()` con el argumento de period\_no establecido en `-1`

Diagrama de rango de la función `inyear()`inyear() con el argumento de period\_no establecido en `-1`-1 ![Diagrama de la función inyear() con el 26 de julio como fecha base y el argumento period_no establecido en menos uno.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

Por lo tanto, cualquier transacción que ocurra en 2020 devolverá un resultado booleano de TRUE.

## Ejemplo 3: first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 entre 2020 y 2022, que se carga en una tabla llamada "`Transactions`".

* Una instrucción load precedente, que contiene la función `inyear()` configurada como el campo "`in_year`" y determina qué transacciones tuvieron lugar en el mismo año que el 26 de julio de 2021.

Sin embargo, en este ejemplo, la política de la organización es que marzo sea el primer mes del año fiscal.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

Resultados

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

* `date`
* `in_year`

Tabla de resultados

| date | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usando `3` como argumento de `first_month_of_year` en la función `inyear()`, inicia el año el 1 de marzo y termina el año a finales de febrero.

Diagrama del rango de la función `inyear()` con marzo fijado como el primer mes del año.

Diagrama del rango de la función `inyear()` con marzo fijado como el primer mes del año.

Diagrama del rango de la función `inyear()`inyear() con marzo fijado como el primer mes del año. ![Diagrama de la función inyear() con el 26 de julio como fecha base y el primer mes del año establecido en marzo.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

Por lo tanto, cualquier transacción que ocurra entre el 1 de marzo de 2021 y el 1 de marzo de 2022 devolverá un resultado booleano de TRUE.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 determina si las transacciones tuvieron lugar en el mismo año que el 26 de julio de 2021 se crea como una medida en un objeto gráfico de la aplicación.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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 si las transacciones tuvieron lugar en el mismo año que el 26 de julio de 2021, cree la siguiente medida:

* `=inyear(date,'07/26/2021', 0)`

Tabla de resultados

| date | =inyear(date,'07/26/2021',0) |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

El campo "`in_year`" se crea en el gráfico mediante la función `inyear()`. El primer argumento identifica qué campo se está evaluando. El segundo argumento es una fecha codificada del 26 de julio de 2021, que es la `base_date` que identifica el año de comparación. Un `period_no` de `0` es el argumento final, lo que significa que la función `inyear()` no compara los años que preceden o siguen al año.

Diagrama del rango de la función `inyear()` con el 27 de julio como fecha base

Diagrama del rango de la función `inyear()` con el 27 de julio como fecha base

Diagrama del rango de la función `inyear()`inyear() con el 27 de julio como fecha base ![Diagrama de la función inyear() con el 27 de julio como fecha base y el intervalo de tiempo del 1 de enero de 2021 al 1 de enero de 2022 resaltado.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

Cualquier transacción que ocurra en 2021 devolverá un resultado booleano de TRUE.

## Ejemplo 5: Escenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyear.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 se carga en una tabla denominada "Products".

* La tabla contiene los siguientes campos:

  * ID de producto

  * tipo de producto

  * fecha de fabricación

  * precio de coste

Al usuario final le gustaría tener un objeto gráfico que muestre, por tipo de producto, el coste de producción de los productos fabricados en 2021.

Script de carga

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'12/12/2022',67.67 
]; 
```

Resultados

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

* product\_type

Para calcular la suma de cada producto que se fabricó en 2021, cree la siguiente medida:

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

Haga lo siguiente:

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

2. En Aspecto, deshabilite los Totales.

Tabla de resultados

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| producto A | $95.93 |
| producto B | $128.66 |
| producto C | $61.89 |
| producto D | $171.21 |

La función inyear() devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos. Para cualquier producto fabricado en 2021, la función inyear() devuelve un valor booleano de TRUE y muestra la suma de cost\_price.