Blog

ISO.NUM.DE.SEMANA DE EXCEL A POWER BI (PARTE II)

Publicado por:

ISO.NUM.DE.SEMANA DE EXCEL A POWER BI (PARTE II)

Tal y como comentamos en un anterior Blog, donde analizamos las semanas ISO desde una perspectiva de EXCEL, con el fin de entender un poco mejor lo que creo más nos interesa.

Continuaremos en esta segunda parte, viendo un enfoque desde la perspectiva de DAX para obtener una numeración de semana, según la NORMA ISO 8601, e incluso veremos cómo tratarlo en M, para aquellos que decidieran usar editor de power Query en la conformación de la tabla de calendario.

Apoyándonos en la fórmula de que vimos en nuestro anterior artículo, extraída del blog de Ron de Brui, intentaremos hacer una aproximación de esta, utilizando el lenguaje DAX, aunque intentaremos darle una mayor utilidad a la expresión que más tarde obtendremos.

Es muy común, si en nuestro cuadro tenemos filtros temporales, tipo Año, Mes, Semana, que queramos visualizar un determinado Kpi. Tenemos que tener en cuenta cómo actúan estos filtros en nuestra tabla calendario.

Si filtramos por año, tenemos que tener en cuenta que este filtro aceptara a nuestra tabla hechos, rescindiendo estos a los transcurridos entre los días 1 de enero al 31 de diciembre del año seleccionado, y aquí comienzan nuestros problemas….

La semana 1 del año 2020 según la norma ISO 8601, va desde el día 30/12/19 al 5/1/20, si tenemos intención de visualizar un Kpi en la semana 1 del 2020, en comparación con la semana 1 del ejercicio anterior, no sería una comparación equitativa, la semana 1 del año 2019 tiene 6 días en ese año, mientras que la semana 1 del año 2020 tan solo tiene 5 días en ese año.

Deberemos de tener en cuenta estas situaciones a la hora de comparar nuestros Kpi’s

Teniendo esto en cuenta, vamos con la formulación en DAX de la numeración de las semanas según la norma ISO 8601.

Desarrollando la fórmula de de Brui, obtendremos esta expresión:

 

 

 

Una recomendación que hacemos dado que diferenciar el número de semana para los distintos ejercicios, supondría filtrar primero el año y después el número de semana con los problemas antes comentados que esto conlleva, seria denominar a las semanas como AAAA-SS, indicando así el año y numero de semana, lo que nos facilitara la segmentación sin tener que indicar año y numero de semana.

Para ello podríamos utilizar la siguiente expresión DAX

Esta columna calculada, que añadiremos a nuestra tabla calendario, es de tipo texto, por lo que convendría añadir a nuestra tabla un id de estas semanas que nos permitan ordenarlas de forma adecuada en una segmentación posterior.

Lógicamente podríamos pensar que este id lo podríamos obtener a partir de la cadena anterior obteniendo los valores. Pero esto supondría una referencia circular en nuestra expresión DAX, por lo que tendremos que volver a recalcular la expresión esta vez obteniendo una cifra y no un texto, multiplicando por 100 al número del año y sumando el número de semana:

Con estas dos columnas calculadas podremos representar una segmentación adecuada dependiendo del número de semana ISO.

En el supuesto de que lo que hagamos sea, una tabla calendario desde Power Query y utilizando lenguaje M

Adecuaremos la expresión anteriormente indicada con dicho lenguaje, por lo que os dejare aquí la columna calculada que deberemos de añadir a nuestra tabla calendario o tabla de fechas que habremos incorporado al modelo desde Power Query

Espero que junto con el blog anterior dedicado a las semanas ISO, os haya podido servir de ayuda

Saludos

 

0

Sobre el Autor:

  Posts Relacionados
  • No related posts found.

Escribe un Comentario