Esta función devuelve un valor correspondiente a una marca de tiempo del último milisegundo del último día del año que contiene a date. El formato de salida predeterminado será el DateFormat definido en el script.
En otras palabras, la función yearend() determina en qué año cae la fecha. Luego devuelve una marca de tiempo, en formato de fecha, del último milisegundo de ese año. El primer mes del año es, por defecto, enero. No obstante, también puede cambiar cuál será el primer mes del año usando el argumento first_month_of_year en la función yearend().
Nota informativa La función yearend() no considera la variable del sistema FirstMonthOfYear. El año comienza el 1 de enero a menos que se use el argumento first_month_of_year para cambiarlo.
Cuándo se utiliza
La función yearend() se utiliza como parte de una expresión cuando el usuario desea que el cálculo utilice la fracción del año que aún no ha ocurrido. Por ejemplo, si desea calcular el interés total aún no devengado durante el año.
Tipo de datos que devuelve: dual
Argumentos
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.
Puede utilizar los siguientes valores para establecer el primer mes del año en el argumento first_month_of_year:
first_month_of_year values
Month
Valor
Febrero
2
Marzo
3
Abril
4
May
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 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
yearend('10/19/2001')
Devuelve 12/31/2001 23:59:59.
yearend('10/19/2001', -1)
Devuelve 12/31/2000 23:59:59.
yearend('10/19/2001', 0, 4)
Devuelve 03/31/2002 23:59:59.
Ejemplo 1: sin argumentos adicionales
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
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".
El campo de fecha se ha proporcionado en el formato (MM/DD/YYYY) de la variable del sistema DateFormat.
Una instrucción load precedente que contiene lo siguiente:
La función yearend() que está establecida como el campo year_end.
La función Timestamp() que está establecida como el campo year_end_timestamp.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
year_end
year_end_timestamp
Tabla de resultados
id
date
year_end
year_end_timestamp
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
El campo "year_end" se crea en la instrucción load anterior utilizando la función yearend() e introduciendo el campo de fecha como argumento de la función.
La función yearend() identifica inicialmente en qué año cae el valor de la fecha y devuelve una marca de tiempo del último milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearend() devuelve el último milisegundo de ese año, que es el 31 de diciembre a las 23:59:59.
Ejemplo 2: period_no
Vista general
Se utilizan el mismo conjunto de datos y el mismo escenario que en el primer ejemplo.
Sin embargo, en este ejemplo, la tarea es crear un campo, "previous_year_end", que devuelva la marca de tiempo de la fecha de finalización del año anterior al año en que tuvo lugar una transacción.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
previous_year_end
previous_ year_end_timestamp
Tabla de resultados
id
date
previous_year_end
previous_year_end_timestamp
8188
01/13/2020
12/31/2019
12/31/2019 11:59:59 PM
8189
02/26/2020
12/31/2019
12/31/2019 11:59:59 PM
8190
03/27/2020
12/31/2019
12/31/2019 11:59:59 PM
8191
04/16/2020
12/31/2019
12/31/2019 11:59:59 PM
8192
05/21/2020
12/31/2019
12/31/2019 11:59:59 PM
8193
08/14/2020
12/31/2019
12/31/2019 11:59:59 PM
8194
10/07/2020
12/31/2019
12/31/2019 11:59:59 PM
8195
12/05/2020
12/31/2019
12/31/2019 11:59:59 PM
8196
01/22/2021
12/31/2020
12/31/2020 11:59:59 PM
8197
02/03/2021
12/31/2020
12/31/2020 11:59:59 PM
8198
03/17/2021
12/31/2020
12/31/2020 11:59:59 PM
8199
04/23/2021
12/31/2020
12/31/2020 11:59:59 PM
8200
05/04/2021
12/31/2020
12/31/2020 11:59:59 PM
8201
06/30/2021
12/31/2020
12/31/2020 11:59:59 PM
8202
07/26/2021
12/31/2020
12/31/2020 11:59:59 PM
8203
12/27/2021
12/31/2020
12/31/2020 11:59:59 PM
8204
06/06/2022
12/31/2021
12/31/2021 11:59:59 PM
8205
07/18/2022
12/31/2021
12/31/2021 11:59:59 PM
8206
11/14/2022
12/31/2021
12/31/2021 11:59:59 PM
8207
12/12/2022
12/31/2021
12/31/2021 11:59:59 PM
Como se usó un period_no de -1 como el argumento de desplazamiento en la función yearend(), la función identifica primero el año en que se realizan las transacciones. Luego busca un año antes e identifica el último milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearend() devuelve el último milisegundo del año anterior, 31 de diciembre de 2020 a las 11:59:59 PM, del campo "previous_year_end".
Ejemplo 3: first_month_of_year
Vista general
Se utilizan el mismo conjunto de datos y el mismo escenario que en el primer ejemplo.
Sin embargo, en este ejemplo, la política de la empresa es que el año comience a partir del 1 de abril.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
year_end
year_end_timestamp
Tabla de resultados
id
date
year_end
year_end_timestamp
8188
01/13/2020
03/31/2020
3/31/2020 11:59:59 PM
8189
02/26/2020
03/31/2020
3/31/2020 11:59:59 PM
8190
03/27/2020
03/31/2020
3/31/2020 11:59:59 PM
8191
04/16/2020
03/31/2021
3/31/2021 11:59:59 PM
8192
05/21/2020
03/31/2021
3/31/2021 11:59:59 PM
8193
08/14/2020
03/31/2021
3/31/2021 11:59:59 PM
8194
10/07/2020
03/31/2021
3/31/2021 11:59:59 PM
8195
12/05/2020
03/31/2021
3/31/2021 11:59:59 PM
8196
01/22/2021
03/31/2021
3/31/2021 11:59:59 PM
8197
02/03/2021
03/31/2021
3/31/2021 11:59:59 PM
8198
03/17/2021
03/31/2021
3/31/2021 11:59:59 PM
8199
04/23/2021
03/31/2022
3/31/2022 11:59:59 PM
8200
05/04/2021
03/31/2022
3/31/2022 11:59:59 PM
8201
06/30/2021
03/31/2022
3/31/2022 11:59:59 PM
8202
07/26/2021
03/31/2022
3/31/2022 11:59:59 PM
8203
12/27/2021
03/31/2022
3/31/2022 11:59:59 PM
8204
06/06/2022
03/31/2023
3/31/2023 11:59:59 PM
8205
07/18/2022
03/31/2023
3/31/2023 11:59:59 PM
8206
11/14/2022
03/31/2023
3/31/2023 11:59:59 PM
8207
12/12/2022
03/31/2023
3/31/2023 11:59:59 PM
Como el argumento first_month_of_year de 4 se utiliza en la función yearend(), establece el primer día del año en el 1 de abril y el último día del año en el 31 de marzo.
La transacción 8199 tuvo lugar el 23 de abril de 2021. Como la función yearend() establece el inicio del año en el 1 de abril, devuelve el 31 de marzo de 2022 como el valor "year_end" de la transacción.
Ejemplo 4: ejemplo de objeto 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 la marca de tiempo de la fecha de finalización del año en el que se realizó una transacción se crea como una medida en un objeto gráfico de la aplicación.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
Para calcular en qué año tuvo lugar una transacción, cree las siguientes medidas:
=yearend(date)
=timestamp(yearend(date))
Tabla de resultados
id
date
=yearend(date)
=timestamp(yearend(date))
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
La medida "end_of_year" se crea en el objeto gráfico utilizando la función yearend() e introduciendo el campo de fecha como argumento de la función.
La función yearend() identifica inicialmente en qué año cae el valor de la fecha y devuelve una marca de tiempo del último milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearend() devuelve el último milisegundo de ese año, que es el 31 de diciembre a las 23:59:59.
Ejemplo 5: Escenario
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos se carga en una tabla denominada "Employee_Expenses". La tabla contiene los siguientes campos:
employee IDs
employee name
reclamaciones de gastos diarios promedio de cada empleado
Al usuario final le gustaría tener un objeto gráfico que muestre, por ID y nombre de empleado, las reclamaciones de gastos estimados que aún deben realizarse para el resto del año. El año fiscal comienza en enero.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
employee_id
employee_name
Para calcular las estimaciones de gastos proyectadas, cree la siguiente medida:
=(yearend(today(1))-today(1))*avg_daily_claim
Establezca el Formato numérico de la medida en Moneda.
Tabla de resultados
employee_id
employee_name
=(yearend(today(1))-today(1))*avg_daily_claim
182
Mark
$3240.00
183
Deryck
$2700.00
184
Dexter
$2700.00
185
Sydney
$5832.00
186
Agatha
$3888.00
Al utilizar la fecha de hoy como único argumento, la función yearend() devuelve la fecha de finalización del año actual. Luego, al restar la fecha de hoy de la fecha de finalización del año, la expresión devuelve la cantidad de días que quedan en este año.
Luego, este valor se multiplica por la reclamación de gastos diarios promedio de cada empleado para calcular el valor estimado de las reclamaciones que se espera que haga cada empleado en el año restante.
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.