Como armar una medida en DAX que te de las ventas de hoy

Como armar una medida en DAX que te de las ventas de hoy

El caso es muy sencillo: necesitas una fórmula de Power Pivot en Excel que te entregue las ventas del día de hoy. O tal vez que las compare contra el mismo día de hoy hace un mes. ¿O qué tal el día de hoy hace un año?

En un primer approach, esta medida suena un poco difícil de armar, pero veremos que en realidad esta expresión es bastante sencilla echar a andar en Power Pivot en Excel (o Power BI en su defecto).

El caso

El archivo que veremos está aqui.

Tenemos una tabla de ventas (hechos) y una tabla de fechas (catálogo). Nuestra tabla de tiempo se llama Tiempo y la columna principal de fecha, imaginativamente, se llama Fecha.

Tabla 1

Armamos una medida básica que nos de las ventas totales sin nada de filtros activos ni ningún modificador.

Ventas totales :=
SUM ( Ventas[Ventas] )

Conseguir las ventas del día de Hoy

Queremos que la medida de DAX nos de las ventas del día de hoy y que su valor cambie conforme va avanzando el tiempo (es decir, mañana nos dará las ventas que se hayan acumulado hasta mañana).

Para esto debemos aplicarle un filtro a nuestra medida de Ventas Totales, que solo nos traiga lo que se ha gastado el día de hoy. Es momento de recurrir a nuestra confiable fórmula de Calculate.

Ventas Hoy :=
CALCULATE ( [Ventas Totales], Fechas[Fecha] = TODAY () )

Y listo, tenemos nuestra medida que nos trae las ventas solo de hoy.

¿Y? Eso fue bastante sencillo. Ahora es momento de conseguir medidas más atrás en el tiempo. Checamos que los resultados son correctos en nuestra tabla dinámica:

Tabla 4

Ventas del mismo día de hoy, pero hace un mes.

Este artículo se escribe el 12 de marzo de 2017. El mismo día hace un mes sería el 12 de febrero del 2017. ¿Cómo podemos armar una medida que nos de las ventas del mismo día de hoy hace un mes?

Sencillo. De nuevo, debemos de recurrir a nuestra fórmula de calculate, pero también agregaremos DateAdd() para poder movernos un mes atrás en el tiempo:

Ventas de Hoy hace un mes :=
CALCULATE ( [Ventas Totales], DATEADD ( Fechas[Fecha] = TODAY ()-1MONTH ) )

Como pueden ver, la clave está en que, cuando DateAdd nos pide el argumento de fecha, nosotros le decimos que la fecha se encuentra en la tabla Fechas[Fecha] pero es igual a Today().

De esa manera podemos cumplir con el requisito de que DateAdd requiere una columna de fechas como su primer argumento, mientras que al mismo tiempo nos limitamos al día de hoy.

Podemos ver en la tabla dinámica que los resultados son correctos:

Tabla 2

Ventas de Hoy pero hace un año

Bueno, habiendo hecho el mes, las ventas de hoy pero hace un año son sumamente sencillas, puesto que solo es necesario hacer ajustes muy ligeros a nuestra fórmula.

Ventas de Hoy hace un Año :=
CALCULATE ( [Ventas Totales], DATEADD ( Fechas[Fecha] = TODAY ()-1YEAR ) )

Si se fijan es exactamente la misma fórmula pero ahora con el modificador de que nos vamos 1 año para atrás, en lugar de un mes. Aquí la comprobación de resultados en nuestra tabla dinámica:

Tabla 3

Conclusión

Estas medidas son particularmente útiles en negocios de retail y líneas de producción, donde se buscar estar viendo día a día como las métricas van mejorando con respecto a periodos pasados.

Una gran limitante es que comparar el mismo día del mes/año pasado te puede llevar a que estés comparando un lunes contra un domingo, cosa que te arrojaría un resultado sin sentido. Los lunes son días de mucha actividad y los domingos, por definición, está muerto el negocio.

Share this post

Deja un comentario

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


Bitnami