Calendar Over Run en Power BI

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

Esta es una actualización de un artículo que escribí en 2019. En esta ocasión, creé un video para acompañar la explicación escrita y la documentación a continuación. Puede saltar directamente al video a continuación si prefiere ese medio.

¿Qué es Calendar Over Run?

Considere el siguiente ejemplo donde se filtra el año calendario para 2019 y los valores de las medidas Ventas totales y Ventas totales hasta la fecha se muestran por mes. Como puede ver, las ventas totales se muestran hasta julio de 2019. Esto se debe a que, con los datos de muestra, la última fecha de ventas es en algún lugar de julio de 2019. Sin embargo, los valores de las ventas totales hasta la fecha se repiten hasta el final de año (julio de 2019 a diciembre de 2019). Esto es lo que yo llamo Calendar Over Run. Es común querer evitar este desbordamiento.

050321_2139_calendarove1-7213033

Resumen de la solución

Hay al menos 2 formas de resolver este problema que les voy a mostrar. En primer lugar, veamos las 2 medidas:

Ventas totales = SUM (Ventas[ExtendedAmount])

Ventas totales YTD = TOTALYTD ([Total Sales],Calendario[Date])

Solucion 1

Puede escribir una declaración if y filtrar los valores en blanco para que no se muestren.

Ventas totales YTD = SI ([Total Sales] = 0, EN BLANCO (), TOTALYTD ([Total Sales],Calendario[Date]))

Luego, la visualización muestra valores solo hasta julio, como se muestra a continuación.

050321_2139_calendarove2-2002481

Solucion 2

Hay otra forma de resolver este problema que es mi solución preferida: utilizando una columna calculada. Ésta es una de esas excepciones en las que una columna calculada es un mejor enfoque para una medida; la nueva columna solo tiene 2 valores únicos y está en una tabla de dimensiones; no ocupa mucho espacio en disco / memoria.

Para empezar, cambié la fórmula de Ventas Totales YTD a la forma en que estaba.

Ventas totales YTD = TOTALYTD ([Total Sales],Calendario[Date])

Luego escribí una columna calculada en la tabla Calendario de la siguiente manera:

Fecha pasada = IF (‘Calendario'[Date] > = Fecha (2019,8,1), «Fecha futura», «Fecha pasada»)

Tenga en cuenta que en la fórmula anterior, codifiqué la fecha en 1S t Agosto de 2019. Hice esto con fines ilustrativos. Normalmente, usaría la función TODAY () para obtener la fecha actual y usarla en su lugar, de esa manera la columna calculada se actualiza en cada actualización para reflejar la fecha actual.

A continuación, coloqué Fecha vencida en el panel de filtros, Filtros de página y filtré Fecha futura como se muestra a continuación.

050321_2139_calendarove3-3977853

Una vez implementado, devuelve el mismo resultado que antes.

Vea la solución en video

Grabé este breve video explicando todo el proceso.

!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘639916389503636’);
fbq(‘track’, ‘PageView’);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.