Filtro de fecha relativa Last 52 Calendar Weeks me da 53 semanas

Un usuario Pregunto ✅

Bombero1017

Hola

He estado experimentando los filtros de fecha relativa últimamente.

Especialmente seleccionando las últimas x semanas del calendario.

Entonces me encontré con algunos resultados extraños que no entiendo completamente.

Así que tengo esta tabla de fechas donde he creado una columna [Semana] que me da el número de semana de esta fórmula:

YEAR([Date])&"-W"&WEEKNUM([Date])

Usé una notación ISO para no tener que hacer ningún cálculo para secuenciarlo correctamente a lo largo de los años.

No tengo el guión para la tabla de fechas. Pero digamos que tiene columnas [Fecha] y [Semana].

Luego filtro esta tabla usando el campo [Fecha] usando un filtro Fecha real como este: «Últimas 52 semanas calendario».

A continuación, puse un objeto visual de la tarjeta que muestra el recuento distinto de [Semana].

Y ahora me muestra 53. (wtf ???)

Extraje esta tabla que muestra el inicio y el final de cada semana y la semana:

Semana del KPI # Inicio de la semana Fin de semana
2019-S46 10/11/2019 16/11/2019
2019-S47 17/11/2019 23/11/2019
2019-S48 24/11/2019 30/11/2019
2019-S49 01/12/2019 7/12/2019
2019-W50 8/12/2019 14/12/2019
2019-S51 15/12/2019 21/12/2019
2019-S52 22/12/2019 28/12/2019
2019-S53 29/12/2019 1/4/2020
2020-S01 29/12/2019 1/4/2020
2020-S02 5/1/2020 11/01/2020
2020-S03 12/01/2020 18/01/2020
2020-S04 19/01/2020 25/1/2020
2020-S05 26/01/2020 1/2/2020
2020-S06 2/2/2020 8/2/2020
2020-S07 9/02/2020 15/02/2020
2020-S08 16/02/2020 22/02/2020
2020-S09 23/02/2020 29/02/2020
2020-S10 1/3/2020 07/03/2020
2020-S11 8/03/2020 14/03/2020
2020-S12 15/03/2020 21/03/2020
2020-S13 22/03/2020 28/03/2020
2020-S14 29/03/2020 4/4/2020
2020-S15 5/4/2020 11/4/2020
2020-S16 12/4/2020 18/4/2020
2020-S17 19/4/2020 25/4/2020
2020-S18 26/4/2020 2/5/2020
2020-S19 3/5/2020 9/5/2020
2020-S20 10/5/2020 16/05/2020
2020-S21 17/05/2020 23/05/2020
2020-S22 24/5/2020 30/05/2020
2020-S23 31/05/2020 6/6/2020
2020-S24 7/6/2020 13/6/2020
2020-S25 14/6/2020 20/6/2020
2020-S26 21/6/2020 27/6/2020
2020-S27 28/6/2020 4/7/2020
2020-S28 5/7/2020 11/7/2020
2020-S29 12/7/2020 18/7/2020
2020-S30 19/7/2020 25/7/2020
2020-S31 26/7/2020 1/8/2020
2020-S32 02/08/2020 8/8/2020
2020-S33 9/8/2020 15/8/2020
2020-S34 16/8/2020 22/8/2020
2020-S35 23/8/2020 29/8/2020
2020-S36 30/8/2020 5/9/2020
2020-S37 6/9/2020 12/09/2020
2020-S38 13/09/2020 19/09/2020
2020-S39 20/9/2020 26/09/2020
2020-S40 27/09/2020 03/10/2020
2020-S41 4/10/2020 10/10/2020
2020-S42 10/11/2020 17/10/2020
2020-S43 18/10/2020 24/10/2020
2020-S44 25/10/2020 31/10/2020
2020-S45 01/11/2020 7/11/2020

Desde la semana 2019-W46 fecha de inicio a la fecha de finalización 2020-W45, es 363 días, y 51.86 semanas.

Creo que he encontrado la razón por la que no está calculando las semanas correctamente.

Aunque la fórmula WEEKNUM parece utilizar la numeración de la semana ISO, no implementa correctamente la semana que se superpone dos años.

Si nos fijamos en la semana 2019-W53, usted notará que sólo tiene 3 días y la semana 2020-W01 4 días.

Normalmente, la semana 2019-W53 habría sido de hecho la semana 2020-W01 ya que tiene un jueves, según ISO 8601.

Pero desafortunadamente, Power BI no tiene una fórmula ISOWEEKNUM y su WEEKNUM no es el mismo que el de Excel.

Excel realmente tiene una regla de 1a semana del año en su fórmula WEEKNUM. Que en 2019 y 2020 da los mismos resultados que ISOWEEKNUM. Pero una vez cada 4 años, no está en línea con ISOWEEKNUM.

Power BI debe tener la fórmula ISOWEEKNUM para que podamos aplicar los números de semana ISO adecuados a nuestras tablas de fechas.

Mientras tanto, voy a volver a crear la fórmula ISOWEEKNUM en Power BI para obtener 52 semanas cuando pida las últimas 52 semanas.

Así que si alguien ya ha hecho esto, por favor hágamelo saber.

De lo contrario, probablemente publiqueré mi solución aquí.

Bombero1017

Encontré un post que hace referencia a esto: https: //blog.gbrueckl.at/2012/04/iso-8601-week-in-dax/

Parece que Excel ISOWEEKNUM era de hecho alguna versión de WEEKNUM con parámetros nodocumentados.

Ahora, ¿está bien usar puertas traseras como esta? Nunca me gustó.

Por favor, Microsoft, haga un ISOWEEKNUM para hacerlo oficial o en el documento de la constante ’21’ utilizado para obtener números de semana ISO.

AnnaSundboel

Hola

Tengo el mismo problema.

Por sus publicaciones entiendo que no se ha resuelto, ¿verdad?

Br

Anna

Bombero1017

En respuesta a AnnaSundboel

Hola AnnaSundboel,

Hay una solución alternativa indocumentada usando la constante 21 para la función WEEKNUM:

YEAR([Date])&"-W"&WEEKNUM([Date], 21)

Lo he probado y funcionó igual que ISOWEEKNUM en Excel.

Bombero1017

Encontré un post que hace referencia a esto: https: //blog.gbrueckl.at/2012/04/iso-8601-week-in-dax/

Parece que Excel ISOWEEKNUM era de hecho alguna versión de WEEKNUM con parámetros nodocumentados.

Ahora, ¿está bien usar puertas traseras como esta? Nunca me gustó.

Por favor, Microsoft, haga un ISOWEEKNUM para hacerlo oficial o en el documento de la constante ’21’ utilizado para obtener números de semana ISO.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *