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

Esta función devuelve True si timestamp se encuentra dentro de la parte del año que contiene a base\_date hasta e incluido el último milisegundo de base\_date.

Sintaxis:

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

Tipo de datos que devuelve: Booleano

Nota informativa

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

Diagrama de la función inyeartodate

Diagrama de la función inyeartodate

Diagrama de la función inyeartodate ![Diagrama de ejemplo del rango de fechas dentro del cual la función inyeartodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-general.png)

La función `inyeartodate()` segmentará una porción particular del año con la `base_date`, identificando la fecha máxima permitida para ese segmento de año. La función evalúa a continuación si un campo de fecha o valor cae dentro de este segmento y devuelve un resultado booleano.

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. |

## Cuándo se utiliza

La función `inyeartodate()` devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una expresión `if`. Esto devolvería una agregación o cálculo dependiendo de si una fecha evaluada ocurrió en el año hasta e incluida la fecha en cuestión.

Por ejemplo, la función `inyeartodate()` se puede utilizar para identificar todos los equipos fabricados en un año hasta una fecha específica.

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

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | Devuelve `TRUE`. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | Devuelve `FALSE`. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | Devuelve `TRUE`. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | Devuelve `TRUE`.<br>El valor de `timestamp` cae dentro del año fiscal que comienza en el cuarto mes y antes del valor de `base_date`. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | Devuelve `FALSE`.<br>Comparado con el ejemplo anterior, el valor de `timestamp` todavía está dentro del año fiscal, pero es posterior al valor de `base_date`, por lo que cae fuera de la parte del año. |

## 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: sin argumentos adicionales

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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`".

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

* La creación de un campo, `in_year_to_date`, que determina qué transacciones se realizaron en el año hasta el 26 de julio de 2021.

Script de carga

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabla de resultados

| date | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

El campo "`in_year_to_date`" se crea en la instrucción load anterior, mediante el uso de la función `inyeartodate()`. El primer argumento proporcionado identifica qué campo se está evaluando.

El segundo argumento es una fecha codificada para el 26 de julio de 2021, que es la `base_date` que identifica el límite final del segmento del año. Un `period_no` de 0 es el argumento final, lo que significa que la función no compara los años que preceden o siguen al año segmentado.

Diagrama de la función inyeartodate, sin argumentos adicionales

Diagrama de la función inyeartodate, sin argumentos adicionales

Diagrama de la función inyeartodate, sin argumentos adicionales![Diagrama que muestra el rango de fechas para las que la función inyeartodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

Cualquier transacción que ocurra entre el 1 de enero y el 26 de julio devuelve un resultado booleano de `TRUE`. Las fechas de transacciones anteriores a 2021 y posteriores al 26 de julio de 2021 devuelven `FALSE`.

## Ejemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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_year_to_date`, que determina qué transacciones se realizaron en un año completo antes del segmento de año que finaliza el 26 de julio de 2021.

Script de carga

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabla de resultados

| date | previous\_year\_to\_date |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 06/14/2020 | -1 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Un valor `period_no` de -1 indica que la función `inyeartodate ()` compara el segmento del trimestre introducido con el año anterior. Con una fecha de entrada del 26 de julio de 2021, el segmento del 1 de enero de 2021 al 26 de julio de 2021 se identificó inicialmente como el año hasta la fecha. El `period_no` luego desplaza este segmento a un año completo antes, lo que hace que los límites de fecha sean del 1 de enero al 26 de juli0 de 2020.

Diagrama de la función inyeartodate, ejemplo de period\_no

Diagrama de la función inyeartodate, ejemplo de period\_no

Diagrama de la función inyeartodate, ejemplo de period\_no![Diagrama que muestra el rango de fechas para las que la función inyeartodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

Por lo tanto, cualquier transacción que ocurra entre el 1 de enero y el 26 de julio de 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/inyeartodate.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, `in_year_to_date`, que determina qué transacciones se realizaron en el mismo año hasta el 26 de julio de 2021.

En este ejemplo, establecemos marzo como el primer mes del año fiscal.

Script de carga

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

Tabla de resultados

| date | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

Usando 3 como el argumento de `first_month_of_year` en la función `inyeartodate()`, la función comienza el año el 1 de marzo. La `base_date` del 26 de julio de 2021 luego establece la fecha de finalización de ese segmento de año.

Diagrama de la función inyeartodate, ejemplo de first\_month\_of\_year

Diagrama de la función inyeartodate, ejemplo de first\_month\_of\_year

Diagrama de la función inyeartodate, ejemplo de first\_month\_of\_year![Diagrama que muestra el rango de fechas para las que la función inyeartodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

En consecuencia, cualquier transacción que ocurra entre el 1 de marzo y el 26 de julio arrojará un resultado booleano de `TRUE`, mientras que las transacciones con fechas fuera de estos límites devolverán un valor de `FALSE`.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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 determina qué transacciones tuvieron lugar en el mismo año hasta el 26 de julio de 2021 se crea como una medida en un objeto gráfico en 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,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/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,'07/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.

Cree la siguiente medida:

=inyeartodate(date,'07/26/2021', 0)

Tabla de resultados

| date | =inyeartodate(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 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

La medida in\_year\_to\_date se crea en el objeto gráfico usando la función inyeartodate(). El primer argumento proporcionado identifica qué campo se está evaluando. El segundo argumento es una fecha codificada para el 26 de julio de 2021, que es la base\_date que identifica el límite final del segmento del año de comparación. Un period\_no de 0 es el argumento final, lo que significa que la función no compara los años que preceden o siguen al año segmentado.

Diagrama de la función inyeartodate, ejemplo de objeto gráfico

Diagrama de la función inyeartodate, ejemplo de objeto gráfico

Diagrama de la función inyeartodate, ejemplo de objeto gráfico![Diagrama que muestra el rango de fechas para las que la función inyeartodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

Cualquier transacción que ocurra entre el 1 de enero y el 26 de julio de 2021 devuelve un resultado booleano de TRUE. Las fechas de transacciones anteriores a 2021 y posteriores al 26 de julio de 2021 devuelven FALSE.

## Ejemplo 5: Escenario

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

* Información relativa a la identificación del producto, tipo de producto, fecha de fabricación y precio de coste.

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

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.

Cree una medida que calcule la suma de cada producto que se fabricó en 2021 antes del 27 de julio:

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

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

Tabla de resultados

| product\_type | =sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0)) |
| --- | --- |
| producto A | $95.93 |
| producto B | $128.66 |
| producto C | $61.89 |
| producto D | $146.09 |

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

El Producto D es el único producto que también se fabricó después del 26 de julio de 2021. La entrada con product\_ID 8203 se fabricó el 27 de diciembre y costó 25,12 $. Por lo tanto, este costo no se incluyó en el total del Producto D en el objeto gráfico.