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

Esta función devuelve un año de cuatro dígitos como valor de visualización con un valor numérico subyacente correspondiente a una marca de tiempo (fecha-hora) del primer milisegundo del primer día del año que contiene date.

Diagrama del rango de tiempo de la función `yearname()`.

Diagrama del rango de tiempo de la función `yearname()`.

Diagrama del rango de tiempo de la función `yearname()`yearname(). ![Diagrama que muestra el intervalo de tiempo en el que la función yearname devolverá un resultado.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram1.png)

La función `yearname()` es diferente a la función `year()` ya que le permite desplazar la fecha que desea evaluar y le permite establecer el primer mes del año.

Si el primer mes del año no es enero, la función devolverá los dos años de cuatro dígitos del período de doce meses que contiene la fecha. Por ejemplo, si el inicio del año es abril y la fecha que se evalúa es el 30/06/2020, el resultado que devuelve sería `2020-2021`.

Diagrama de la función `yearname()` con abril establecido como primer mes del año.

Diagrama de la función `yearname()` con abril establecido como primer mes del año.

Diagrama de la función `yearname()`yearname() con abril establecido como primer mes del año. ![Diagrama que muestra que la función yearname puede identificar fechas dentro de un período de doce meses y que su devolución puede depender de qué mes se establezca como el primer mes del año.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-diagram2.png)

Sintaxis:

YearName(date[, period\_no[, first\_month\_of\_year]] )

Tipo de datos que devuelve: dual

| Argumento | Descripción |
| --- | --- |
| date | La fecha o marca de tiempo para evaluar. |
| period\_no | period\_no es un entero, donde el valor 0 indica el año que contiene a 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. El valor resultante será pues una cadena que muestre dos años. |

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 |
| May | 5 |
| Junio | 6 |
| Julio | 7 |
| Agosto | 8 |
| Septiembre | 9 |
| Octubre | 10 |
| Noviembre | 11 |
| Diciembre | 12 |

Cuándo se utiliza

La función `yearname()` es útil para comparar agregaciones por año. Por ejemplo, si desea ver el total de ventas de productos por año.

Estas dimensiones se pueden crear en el script de carga utilizando la función para crear un campo en una tabla de calendario maestro. También se pueden crear en un gráfico como dimensiones calculadas

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

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `yearname('10/19/2001')` | Devuelve "'2001". |
| `yearname('10/19/2001',-1)` | Devuelve "'2000". |
| `yearname('10/19/2001',0,4)` | Devuelve "'2001-2002". |

Temas relacionados

| Tema | Descripción |
| --- | --- |
| [year - función de script y de gráfico](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | Esta función devuelve un entero que representa el año en que la expresión se interpreta como una fecha de acuerdo con la interpretación numérica estándar. |

## Ejemplo 1: sin argumentos adicionales

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

* La variable de sistema `DateFormat` configurada como "`MM/DD/YYYY`".

* Un load precedente que utiliza yearname() y que está definida como el campo `year_name`.``

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
      *, 
      yearname(date) as year_name 
      ; 
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`
* `year_name`

Tabla de resultados

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

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

La función `yearname()` identifica en qué año cae el valor de la fecha y lo devuelve como un valor de año de cuatro dígitos.

Diagrama de la función `yearname()` que muestra 2021 como el valor del año.

Diagrama de la función `yearname()` que muestra 2021 como el valor del año.

Diagrama de la función `yearname()`yearname() que muestra 2021 como el valor del año.![Diagrama que muestra que la función yearname() devuelve 2021 para la fecha del 17 de marzo de 2021.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example1-diagram.png)

## Ejemplo 2: period\_no

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

* La variable de sistema DateFormat definida en el formato "`MM/DD/YYYY`".

* Un load precedente que utiliza `yearname()` y que está definida como el campo `year_name`.

Script de carga

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

Transactions: 
    Load 
      *, 
      yearname(date,-1) as prior_year_name 
      ; 
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`
* `prior_year_name`

Tabla de resultados

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

Como se usó un valor `period_no` de `-1` como argumento de desplazamiento en la función `yearname()`, la función identifica primero el año en que se realizan las transacciones. La función después se desplaza a un año antes y devuelve el año resultante.

Diagrama de la función `yearname()` con `period_no` definido en `-1`.

Diagrama de la función `yearname()` con `period_no` definido en `-1`.

Diagrama de la función `yearname()`yearname() con `period_no`period\_no definido en `-1`-1.![Diagrama que muestra cómo un period_no de menos 1 cambia los intervalos de tiempo que identifica la función yearname().](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example2-diagram.png)

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

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

* El mismo conjunto de datos del primer ejemplo.

* La variable de sistema `DateFormat` configurada en "`MM/DD/YYYY`".

* Un load precedente que utiliza `yearname()` y que está definida como el campo `year_name`.

Script de carga

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

Transactions: 
    Load 
      *, 
      yearname(date,0,4) as year_name 
      ; 
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:

* `id`
* `date`
* `year_name`

Tabla de resultados

| date | year\_name |
| --- | --- |
| 01/13/2020 | 2019-2020 |
| 02/26/2020 | 2019-2020 |
| 03/27/2020 | 2019-2020 |
| 04/16/2020 | 2020-2021 |
| 05/21/2020 | 2020-2021 |
| 08/14/2020 | 2020-2021 |
| 10/07/2020 | 2020-2021 |
| 12/05/2020 | 2020-2021 |
| 01/22/2021 | 2020-2021 |
| 02/03/2021 | 2020-2021 |
| 03/17/2021 | 2020-2021 |
| 04/23/2021 | 2021-2022 |
| 05/04/2021 | 2021-2022 |
| 06/30/2021 | 2021-2022 |
| 07/26/2021 | 2021-2022 |
| 12/27/2021 | 2021-2022 |
| 06/06/2022 | 2022-2023 |
| 07/18/2022 | 2022-2023 |
| 11/14/2022 | 2022-2023 |
| 12/12/2022 | 2022-2023 |

Como el argumento `first_month_of_year` de `4` se utiliza en la función `yearname()`, el inicio del año se mueve del 1 de enero al 1 de abril. Por lo tanto, cada período de doce meses cruza dos años naturales y la función `yearname()` devuelve los dos años de cuatro dígitos para las fechas evaluadas.

La transacción 8198 tuvo lugar el 17 de marzo de 2021. La función `yearname()` establece el inicio del año el 1 de abril y el final el 30 de marzo. Por lo tanto, la transacción 8198 ocurrió en el período del año comprendido entre el 1 de abril de 2020 y el 30 de marzo de 2021. Como resultado, la función `yearname()` devuelve el valor 2020-2021.

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

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

Diagrama de la función `yearname()`yearname() con marzo fijado como el primer mes del año.![Diagrama que muestra el rango de tiempo que identifica la función yearname() cuando el primer mes del año se establece en marzo.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example3-diagram.png)

## Ejemplo 4: ejemplo de objeto gráfico

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

* El mismo conjunto de datos del primer ejemplo.

* La variable de sistema `DateFormat` configurada en "`MM/DD/YYYY`".

Sin embargo, el campo que devuelve el año en que tuvo lugar la transacción se crea como una medida en un objeto gráfico.

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 el campo "`year_name`", cree esta medida:

`=yearname(date)`

Tabla de resultados

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

La medida "`year_name`" se crea en el objeto gráfico utilizando la función `yearname()` e introduciendo el campo de fecha como argumento de la función.

La función `yearname()` identifica en qué año cae el valor de la fecha y lo devuelve como un valor de año de cuatro dígitos.

Diagrama de la función `yearname()` que muestra 2021 como el valor del año.

Diagrama de la función `yearname()` que muestra 2021 como el valor del año.

Diagrama de la función `yearname()`yearname() que muestra 2021 como el valor del año.![Diagrama que muestra la función 2021 yearname() devolviendo 2021 como el valor del año.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearname-example4-diagram.png)

## Ejemplo 5: Escenario

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

* El mismo conjunto de datos del primer ejemplo.

* La variable de sistema DateFormat configurada en "MM/DD/YYYY".

Al usuario final le gustaría tener un gráfico que presente el total de ventas por trimestre de las transacciones. Utilice la función yearname() como una dimensión calculada para crear este gráfico cuando la dimensión yearname() no esté disponible en el modelo de datos.

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.

Para comparar agregaciones por año, cree esta dimensión calculada:

=yearname(date)

Cree esta medida:

=sum(amount)

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

Tabla de resultados

| yearname(date) | =sum(amount) |
| --- | --- |
| 2020 | $463.55 |
| 2021 | $457.69 |
| 2022 | $294.35 |