Esta función devuelve el año al que pertenece el número de semana conforme a la ISO 8601. El número de semana varía entre 1 y 52 aproximadamente.
Sintaxis:
weekyear(expression)
Tipo de datos que devuelve: Entero
La función weekyear() determina en qué semana de un año cae una fecha. Luego devuelve el año correspondiente a ese número de semana.
De forma predeterminada, las aplicaciones de Qlik utilizan semanas interrumpidas (definidas por la variable del sistema BrokenWeeks) y la semana número 1 comienza el 1 de enero y el año termina después de la semana 52. Por lo tanto, la función weekyear() siempre devolverá el mismo valor que la función week() cuando la aplicación utiliza semanas interrumpidas.
Sin embargo, si la variable del sistema BrokenWeeks está configurada para usar semanas ininterrumpidas, la semana 1 solo debe contener una cierta cantidad de días en enero conforme al valor especificado en la variable del sistema ReferenceDay.
Por ejemplo, si se utiliza un valor ReferenceDay de 4, la semana 1 debe incluir al menos cuatro días en enero. Es posible que la semana 1 incluya fechas de diciembre del año anterior o que el número de semana final de un año incluya fechas de enero del año siguiente. En situaciones como esta, la función weekyear() devolverá un valor diferente al de la función year().
Cuándo se utiliza
La función weekyear() es útil cuando se desea comparar agregaciones por años. Por ejemplo, si desea ver el total de ventas de productos por año. La función weekyear() se elige por delante de year() cuando el usuario desea mantener la coherencia con la variable del sistema BrokenWeeks en la app.
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 su navegador.
Ejemplos de funciones
Ejemplo
Resultado
weekyear('12/30/1996')
devuelve 1997, porque la semana 1 de 1997 empieza el 30/12/1996
weekyear('01/02/1997')
Devuelve 1997
weekyear('12/28/1997')
Devuelve 1997
weekyear('12/30/1997')
Devuelve 1998, porque la semana 1 de 1998 empieza el 29/12/1997
weekyear('01/02/1999')
Devuelve 1998, porque la semana 53 de 1998 finaliza el 03/01/1999
Devuelve un entero que representa el año en que la expresión se interpreta como una fecha según la interpretación numérica estándar.
Ejemplo 1: semanas interrumpidas
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 de la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "Transactions".
La variable BrokenWeeks que está establecida en 1.
Un load precedente que contiene lo siguiente:
La función weekyear(), configurada como el campo, ''week_year", que devuelve el año en que se realizaron las transacciones.
La función week(), configurada como el campo "week" que muestra el número de semana de cada fecha de transacción.
Script de carga
SET BrokenWeeks=1;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
week
week_year
Tabla de resultados
id
date
semana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
El campo week_year se crea en la instrucción load anterior utilizando la función weekyear() e introduciendo el campo de fecha como argumento de la función.
La variable del sistema BrokenWeeks está configurada en 1 para indicar que la aplicación utiliza semanas interrumpidas. La semana 1 comienza el 1 de enero.
La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo "week_year".
Ejemplo 2: semanas no interrumpidas
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 de la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "Transactions".
La variable BrokenWeeks que está definida en "0".
Un load precedente que contiene lo siguiente:
La función weekyear(), configurada como el campo, ''week_year", que devuelve el año en que se realizaron las transacciones.
La función week(), configurada como el campo "week" que muestra el número de semana de cada fecha de transacción.
Sin embargo, en este ejemplo, la política de la empresa es utilizar semanas no interrumpidas.
Script de carga
SET BrokenWeeks=0;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
week
week_year
Tabla de resultados
id
date
semana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
53
2020
8181
01/02/2021
53
2020
8182
01/03/2021
1
2021
8183
01/04/2021
1
2021
8184
01/05/2021
1
2021
8185
01/06/2021
1
2021
8186
01/07/2021
1
2021
La variable del sistema BrokenWeeks está configurada en 0 para indicar que la aplicación utiliza semanas no interrumpidas. Por lo tanto, no se requiere que la semana 1 comience el 1 de enero.
La semana 53 de 2020 continúa hasta el final del 2 de enero de 2021; y la semana 1 de 2020 comienza el domingo 3 de enero de 2021.
La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo "week_year".
Ejemplo 3: 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 el número de semana del año en que se realizaron las transacciones se crea como una medida en un gráfico de la app.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
id
date
Para calcular la semana en que se realiza una transacción, cree la siguiente medida:
=week(date)
Para calcular el año en que se realiza una transacción en función del número de semana, cree la siguiente medida:
=weekyear(date)
Tabla de resultados
id
date
semana
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
El campo week_year se crea en la instrucción load anterior utilizando la función weekyear() e introduciendo el campo de fecha como argumento de la función.
La variable del sistema BrokenWeeks está configurada en 1, lo que significa que la app utiliza semanas interrumpidas. La semana 1 comienza el 1 de enero
La transacción 8181 tiene lugar el 2 de enero, que forma parte de la semana 1. Por lo tanto, devuelve un valor de 2021 para el campo "week_year".
Ejemplo 4: 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 de la última semana de 2020 y la primera semana de 2021, que se carga en una tabla llamada "Transactions".
La variable BrokenWeeks que está definida en "0". Esto significa que la aplicación utilizará semanas ininterrumpidas.
La variable ReferenceDay que está definida en "2". Esto significa que el año comenzará el 2 de enero y contendrá un mínimo de dos días en enero.
La variable FirstWeekDay que está definida en "1". Esto significa que el primer día de la semana será el martes.
La política de la empresa es utilizar semanas interrumpidas. Al usuario final le gustaría tener un gráfico que presente el total de ventas por año. La app usa semanas ininterrumpidas y la semana 1 contiene un mínimo de dos días en enero.
Script de carga
SET BrokenWeeks=0;
SET ReferenceDay=2;
SET FirstWeekDay=1;
Transactions:
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla.
Para calcular el año en que se realiza una transacción en función del número de semana, cree la siguiente medida:
=weekyear(date)
Para calcular el total de ventas, cree la siguiente medida:
sum(amount)
Establezca el Formato numérico de la medida en Moneda.
Tabla de resultados
weekyear(date)
=sum(amount)
2020
19.42
2021
373.37
¿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.