Esta función encuentra si la marca de tiempo (una fecha-hora) de entrada se encuentra dentro del año de la fecha en que se cargó el script por última vez, y devuelve True si lo hace o False si no lo hace.
En Qlik Sense, el valor booleano verdadero viene representado por -1 y el valor falso está representado por 0.
Si no se utiliza ninguno de los parámetros opcionales, el año hasta la fecha implica cualquier fecha dentro de un año natural, desde el 1 de enero hasta e incluido el día de la última ejecución del script.
En otras palabras, la función yeartodate(), cuando se activa sin parámetros adicionales, se usa para evaluar una marca de tiempo y devolver un resultado booleano en función de si la fecha ocurrió dentro del año natural hasta la fecha en que se realizó la recarga, inclusive.
Sin embargo, también es posible reemplazar la fecha de inicio del año usando el argumento defirstmonth, así como hacer comparaciones con años anteriores o futuros usando el argumento de yearoffset.
Por último, en los casos de conjuntos de datos históricos, la función yeartodate() proporciona un parámetro para definir todaydate, que en su lugar comparará la marca de tiempo con el año natural hasta la fecha proporcionada en el argumento de todaydate, inclusive esta.
Argumentos
Argumento
Descripción
timestamp
La marca de tiempo que se ha de evaluar, por ejemplo "12/10/2012".
yearoffset
Especificando un yearoffset, yeartodate devuelve True para el mismo período de otro año. Un yearoffset negativo indica un año anterior; un desplazamiento positivo, indica un año futuro. El año más reciente hasta la fecha se logra especificando yearoffset = -1. Si se omite, se presupone 0.
firstmonth
Especificando un firstmonth entre 1 y 12 (1 si se omite), el comienzo del año se puede adelantar al primer día de cualquier mes. Por ejemplo, si desea trabajar con un año fiscal que comience el 1 de mayo, especifique firstmonth = 5. Un valor de 1 indicaría un año fiscal que comienza el 1 de enero y un valor de 12 indicaría un año fiscal que comienza el 1 de diciembre.
todaydate
Especificando una todaydate (o una marca de tiempo de la última ejecución de script, si se omite) es posible mover el día utilizado como límite superior del período.
Cuándo se utiliza
La función yeartodate() devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una expresión condicional. Esto devolvería una agregación o un cálculo dependiendo de si la fecha evaluada ocurrió en el año hasta e incluida la última fecha de recarga de la aplicación.
Por ejemplo, la función YearToDate() se puede utilizar para identificar todos los equipos fabricados hasta el momento en el año actual.
Los siguientes ejemplos asumen la fecha de la última recarga = 18/11/2011.
Ejemplos de funciones
Ejemplo
Resultado
yeartodate( '11/18/2010')
devuelve False
yeartodate( '02/01/2011')
devuelve True
yeartodate( '11/18/2011')
devuelve True
yeartodate( '11/19/2011')
devuelve False
yeartodate( '11/19/2011', 0, 1, '12/31/2011')
devuelve True
yeartodate( '11/18/2010', -1)
devuelve True
yeartodate( '11/18/2011', -1)
devuelve False
yeartodate( '04/30/2011', 0, 5)
devuelve False
yeartodate( '05/01/2011', 0, 5)
devuelve True
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. Para más información, vea Modificar la configuración regional para aplicaciones y scripts.
La configuración regional predeterminada en las aplicaciones se basa en el perfil de usuario. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Cloud. Qlik Cloud se mostrará en el mismo idioma que esté utilizando su navegador.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
year_to_date
Tabla de resultados
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/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
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
El campo year_to_date se crea en la instrucción load anterior utilizando la función yeartodate() e introduciendo el campo date como argumento de la función.
Debido a que no se indican más parámetros en la función, la función yeartodate() identifica inicialmente la fecha de recarga y, por lo tanto, los límites del año natural actual (comenzando el 1 de enero) que devolverán un resultado booleano de TRUE.
Por lo tanto, cualquier transacción que ocurra entre el 1 de enero y el 26 de abril, la fecha de recarga, devolverá un resultado booleano de TRUE. Cualquier transacción que ocurra antes del comienzo de 2022 devolverá un resultado booleano de FALSE.
Ejemplo 2: yearoffset
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:
Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.
La creación de un campo, two_years_prior, que determina qué transacciones se realizaron dos años completos antes del año natural hasta la fecha.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
two_years_prior
Tabla de resultados
date
two_years_prior
01/10/2020
-1
02/28/2020
-1
04/09/2020
-1
04/16/2020
-1
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
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
0
02/26/2022
0
03/07/2022
0
03/11/2022
0
Utilizando -2 como el argumento de yearoffset en la función yeartodate(), la función desplaza los límites del segmento del año natural de comparación en dos años completos. Inicialmente, el segmento de año equivale a entre el 1 de enero y el 26 de abril de 2022. Luego, el argumento de yearoffset desplaza este segmento a dos años antes. Los límites de fecha caerán entre el 1 de enero y el 26 de abril de 2020.
Por lo tanto, cualquier transacción que ocurra entre el 1 de enero y el 26 de abril de 2020, devolverá un resultado booleano de TRUE. Cualquier transacción que aparezca antes o después de este segmento devolverá FALSE.
Ejemplo 3: firstmonth
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:
Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.
La creación de un campo, year_to_date, que determina qué transacciones se realizaron en el año natural hasta la fecha de la última recarga.
En este ejemplo, establecemos el inicio del año fiscal en el 1 de julio.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
year_to_date
Tabla de resultados
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/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
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
-1
12/27/2021
-1
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
En este caso, como se utiliza el argumento de 7 como firstmonth en la función yeartodate(), se establece el primer día del año en el 1 de julio y el último día del año en el 30 de junio.
Por lo tanto, cualquier transacción que ocurra entre el 1 de julio de 2021 y el 26 de abril de 2022, la fecha de recarga, devolverá un resultado booleano de TRUE. Cualquier transacción que ocurra antes del 1 de julio de 2021 devolverá un resultado booleano de FALSE.
Ejemplo 4: todaydate
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:
Se utilizan el mismo conjunto de datos y escenario que en el primer ejemplo.
La creación de un campo, year_to_date, que determina qué transacciones se realizaron en el año natural hasta la fecha de la última recarga.
Sin embargo, en este ejemplo, necesitamos identificar todas las transacciones que tuvieron lugar en el año natural hasta e incluido el 1 de marzo de 2022.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
date
year_to_date
Tabla de resultados
date
year_to_date
01/10/2020
0
02/28/2020
0
04/09/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
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
0
03/11/2022
0
En este caso, como el argumento de todaydate 01/03/2022 se usa en la función yeartodate(), se establece el límite final del segmento del año natural de comparación en el 1 de marzo de 2022. Es fundamental proporcionar el parámetro de firstmonth (entre 1 y 12); de lo contrario, la función devolverá resultados nulos.
Por lo tanto, cualquier transacción que ocurra entre el 1 de enero de 2022 y el 1 de marzo de 2022, el parámetro de todaydate, devolverá un resultado booleano de TRUE. Cualquier transacción que ocurra antes del 1 de enero de 2022 o después del 1 de marzo de 2022 devolverá un resultado booleano de FALSE.
Ejemplo 5: ejemplo de objeto 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 año natural hasta la fecha de la última recarga se crea como medida en un objeto gráfico de la aplicación.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión: date.
Agregue la siguiente medida:
=yeartodate(date)
Tabla de resultados
date
=yeartodate(date)
01/10/2020
0
02/28/2020
0
04/09/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
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
12/27/2021
0
02/02/2022
-1
02/26/2022
-1
03/07/2022
-1
03/11/2022
-1
La medida year_to_date se crea en el objeto gráfico utilizando la función yeartodate() e indicando el campo date como argumento de la función.
Debido a que no se indican más parámetros en la función, la función yeartodate() identifica inicialmente la fecha de recarga y, por lo tanto, los límites del año natural actual (a partir del 1 de enero) que devolverán un resultado booleano de TRUE.
Cualquier transacción que ocurra entre el 1 de enero y el 26 de abril, la fecha de recarga, devolverá un resultado booleano de TRUE. Cualquier transacción que ocurra antes del comienzo de 2022 devolverá un resultado booleano de FALSE.
Ejemplo 6: 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 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).
El usuario final desea un objeto KPI que presente el total de ventas para el período equivalente en 2021 como el año actual a la fecha de la última recarga.
Al momento de escribir, la fecha es el 16 de junio de 2022.
Cree la siguiente medida de agregación para calcular el total de ventas:
=sum(if(yeartodate(date,-1),amount,0))
Establezca el Formato numérico de la medida en Moneda.
La función yeartodate() devuelve un valor booleano al evaluar las fechas de cada ID de transacción. Como la recarga tuvo lugar el 16 de junio de 2022, la función yeartodate segmenta el período del año entre el 01/01/2022 y el 16/06/2022. Sin embargo, dado que se utilizó un valor period_no de -1 en la función, estos límites se desplazan al año anterior. Por lo tanto, para cualquier transacción que ocurra entre el 01/01/2021 y el 16/06/2021, la función yeartodate() devuelve un valor booleano de TRUE y suma la cantidad.
¿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.