Power BI: trabajar con períodos de tiempo no estándar

Un usuario Pregunto ✅

amichandak


En mi último artículo, discutí cómo podemos comparar dos rangos de fechas. Esta vez, hablamos de períodos no estándar.

Comparar un mes con el último mes o un año con el último año se ha simplificado gracias a las funciones de inteligencia de tiempo de Power BI. Hay muchas maneras de lograr estos resultados. Pero en este artículo, asumimos una comparación de períodos no estándar.

Hemos creado un calendario no estándar, cada uno con un período de 28 días y un año de 12 de esos períodos. Como parte del modelo de datos, hemos mejorado este calendario para que tenga un número de período incremental y un número de trimestre. Entonces, básicamente, el período ahora es la clave principal para el período-año. Esto nos ayudará a lograr fácilmente la comparación deseada.

El calendario se carga como tabla de fechas y también se marca como tabla de fechas. También hemos agregado el período estándar (Mes) y el año en este calendario. Esto se ha hecho para crear una referencia de lo que logramos.

Aparte de esto, tenemos datos de ventas y hemos unido la «fecha de ventas» con las tablas de fechas.

En el calendario estándar, podemos comparar fácilmente un mes con el último mes y un año con el último año. Aquí intentaremos hacer lo mismo con nuestro período y año personalizados.

Muestra de datos que tenemos:

Captura de pantalla 2019-12-20 22.56.01.pngCaptura de pantalla 2019-12-20 22.56.11.png

Diagrama de relación:

Captura de pantalla 2019-12-20 23.09.50.png

Cálculos estándar del último mes y último año:

LMTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
LY Sales = CALCULATE(SUM(Sales[Sales Amount]),SAMEPERIODLASTYEAR('Date'[Date]))

Lo que nosotros queremos:

Año Vs Año pasado y Año personalizado Vs Año pasado personalizado

Captura de pantalla 2019-12-20 22.56.26.png

Mes contra mes y período contra período

Captura de pantalla 2019-12-20 22.56.34.png

Fórmulas personalizadas de período y año que hemos utilizado:

LastPeriod Sales = 
var _period =SELECTEDVALUE('Date'[Period No])
return
CALCULATE(sum(Sales[Sales Amount]),filter(ALL('Date'),'Date'[Period No]=(_period-1)))


Last Year Sales = 
var _period =SELECTEDVALUE('Date'[Year])
return
CALCULATE(sum(Sales[Sales Amount]),filter(ALL('Date'),'Date'[Year]=(_period-1)))

El archivo Pbix se adjunta a este artículo.

Puede haber muchas otras maneras de hacerlo. Nos gustaría que publiques lo mismo en los comentarios.

En caso de que tenga alguna pregunta, consulta o sugerencia, háganoslo saber en los comentarios.

Deja un comentario

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