Esta función devuelve una marca de tiempo correspondiente al inicio del primer día del año que contiene a date. El formato de salida predefinido será el DateFormat definido en el script.
En otras palabras, la función yearstart() determina en qué año cae la fecha. A continuación devuelve una marca de tiempo, en formato de fecha, del primer milisegundo de ese año. El primer mes del año es, por defecto, enero. No obstante, puede cambiar la definición del primer mes del año usando el argumento first_month_of_year en la función yearstart().
Cuándo se utiliza
La función yearstart() se utiliza como parte de una expresión cuando deseamos que el cálculo utilice la fracción del año que ha transcurrido hasta el momento. Por ejemplo, si desea calcular el interés que se ha acumulado en un año hasta la fecha.
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.
Se pueden utilizar los siguientes meses en el first_month_of_year argument:
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
yearstart('10/19/2001')
Returns 01/01/2001 00:00:00.
yearstart('10/19/2001',-1)
Returns 01/01/2000 00:00:00.
yearstart('10/19/2001',0,4)
Returns 04/01/2001 00:00:00.
Ejemplo 1: ejemplo básico
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 de la variable del sistema DateFormat (MM/DD/YYYY).
Una instrucción load precedente que contiene lo siguiente:
La función yearstart() que está establecida como el campo year_start.
La función Timestamp() que está definida como el campo year_start_timestamp.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
year_start
year_start_timestamp
Tabla de resultados
id
date
year_start
year_start_timestamp
8188
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8189
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8190
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8191
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8192
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8193
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8194
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8195
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
8196
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8201
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8202
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8203
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8204
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8205
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8206
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8207
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
El campo year_start se crea en la instrucción load anterior utilizando la función yearstart() e introduciendo el campo de fecha como argumento de la función.
La función yearstart() identifica inicialmente en qué año cae el valor de la fecha y devuelve una marca de tiempo del primer milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearstart() devuelve el primer milisegundo de ese año, que es el 1 de enero a las 12:00:00 AM.
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_start", que devuelva la marca de tiempo de la fecha de inicio 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_start
previous_ year_start_timestamp
Tabla de resultados
id
date
previous_year_start
previous_year_start_timestamp
8188
01/13/2020
01/01/2019
1/1/2019 12:00:00 AM
8189
02/26/2020
01/01/2019
1/1/2019 12:00:00 AM
8190
03/27/2020
01/01/2019
1/1/2019 12:00:00 AM
8191
04/16/2020
01/01/2019
1/1/2019 12:00:00 AM
8192
05/21/2020
01/01/2019
1/1/2019 12:00:00 AM
8193
08/14/2020
01/01/2019
1/1/2019 12:00:00 AM
8194
10/07/2020
01/01/2019
1/1/2019 12:00:00 AM
8195
12/05/2020
01/01/2019
1/1/2019 12:00:00 AM
8196
01/22/2021
01/01/2020
1/1/2020 12:00:00 AM
8197
02/03/2021
01/01/2020
1/1/2020 12:00:00 AM
8198
03/17/2021
01/01/2020
1/1/2020 12:00:00 AM
8199
04/23/2021
01/01/2020
1/1/2020 12:00:00 AM
8200
05/04/2021
01/01/2020
1/1/2020 12:00:00 AM
8201
06/30/2021
01/01/2020
1/1/2020 12:00:00 AM
8202
07/26/2021
01/01/2020
1/1/2020 12:00:00 AM
8203
12/27/2021
01/01/2020
1/1/2020 12:00:00 AM
8204
06/06/2022
01/01/2021
1/1/2021 12:00:00 AM
8205
07/18/2022
01/01/2021
1/1/2021 12:00:00 AM
8206
11/14/2022
01/01/2021
1/1/2021 12:00:00 AM
8207
12/12/2022
01/01/2021
1/1/2021 12:00:00 AM
En este caso, como se usó un period_no de -1 como argumento de desplazamiento en la función yearstart(), la función identifica primero el año en que se realizan las transacciones. Luego busca un año antes e identifica el primer milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearstart() devuelve el primer milisegundo del año anterior, 1 de enero de 2020 a las 12:00:00 AM, para el campo "previous_year_start".
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_start
year_start_timestamp
Tabla de resultados
id
date
year_start
year_start_timestamp
8188
01/13/2020
04/01/2019
4/1/2019 12:00:00 AM
8189
02/26/2020
04/01/2019
4/1/2019 12:00:00 AM
8190
03/27/2020
04/01/2019
4/1/2019 12:00:00 AM
8191
04/16/2020
04/01/2020
4/1/2020 12:00:00 AM
8192
05/21/2020
04/01/2020
4/1/2020 12:00:00 AM
8193
08/14/2020
04/01/2020
4/1/2020 12:00:00 AM
8194
10/07/2020
04/01/2020
4/1/2020 12:00:00 AM
8195
12/05/2020
04/01/2020
4/1/2020 12:00:00 AM
8196
01/22/2021
04/01/2020
4/1/2020 12:00:00 AM
8197
02/03/2021
04/01/2020
4/1/2020 12:00:00 AM
8198
03/17/2021
04/01/2020
4/1/2020 12:00:00 AM
8199
04/23/2021
04/01/2021
4/1/2021 12:00:00 AM
8200
05/04/2021
04/01/2021
4/1/2021 12:00:00 AM
8201
06/30/2021
04/01/2021
4/1/2021 12:00:00 AM
8202
07/26/2021
04/01/2021
4/1/2021 12:00:00 AM
8203
12/27/2021
04/01/2021
4/1/2021 12:00:00 AM
8204
06/06/2022
04/01/2022
4/1/2022 12:00:00 AM
8205
07/18/2022
04/01/2022
4/1/2022 12:00:00 AM
8206
11/14/2022
04/01/2022
4/1/2022 12:00:00 AM
8207
12/12/2022
04/01/2022
4/1/2022 12:00:00 AM
En este caso, como el argumento first_month_of_year de 4 se utiliza en la función yearstart(), 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. Dado que la función yearstart() establece el inicio del año en el 1 de abril y lo devuelve como el valor "year_start" 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 inicio 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:
=yearstart(date)
=timestamp(yearstart(date))
Tabla de resultados
id
date
=yearstart(date)
=timestamp(yearstart(date))
8188
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8189
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8190
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8191
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
8192
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8193
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8194
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8195
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8196
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8201
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8202
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8203
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8204
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8205
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8206
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8207
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
La medida "start_of_year" se crea en el objeto gráfico utilizando la función yearstart() e introduciendo el campo de fecha como argumento de la función.
La función yearstart() identifica inicialmente en qué año cae el valor de la fecha y devuelve una marca de tiempo del primer milisegundo de ese año.
La transacción 8199 tuvo lugar el 23 de abril de 2021. La función yearstart() devuelve el primer milisegundo de ese año, que es el 1 de enero a las 12:00:00 AM.
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 "Loans". La tabla contiene los siguientes campos:
Loan IDs.
El saldo al inicio del año.
La tasa de interés simple cobrada en cada préstamo por año.
Al usuario final le gustaría tener un objeto gráfico que muestre, por ID de préstamo, el interés actual que se ha acumulado en cada préstamo en el año hasta la fecha.
La función yearstart(), utilizando la fecha de hoy como único argumento, devuelve la fecha de inicio del año actual. Al restar ese resultado de la fecha actual, la expresión devuelve la cantidad de días que han transcurrido en lo que va del año.
Después este valor se multiplica por la tasa de interés y se divide por 365 para obtener la tasa de interés efectiva del período. Luego, la tasa de interés efectiva del período se multiplica por el saldo inicial del préstamo para obtener los intereses que se han acumulado en lo que va del año.
¿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.