Home
» Power BI
»
Cómo calcular la diferencia en días entre compras usando DAX en LuckyTemplates
Cómo calcular la diferencia en días entre compras usando DAX en LuckyTemplates
Aprenderá en este tutorial cómo calcular la diferencia en días entre compras usando DAX en LuckyTemplates. Este tema provino del foro de soporte de LuckyTemplates y les mostraré cómo lo resolví. Este es un escenario interesante y bastante común en el mundo de los negocios. Puede ver el video completo de este tutorial en la parte inferior de este blog.
En este ejemplo, estamos mirando a un cliente que compró muchas veces y queremos ver la diferencia entre los días de compra.
La clave es simplificar sus fórmulas DAX.
Siempre recomiendo mantener sus fórmulas cortas y simples utilizando la técnica de ramificación de medida y usando y combinando las funciones DAX correctas. Realmente no necesita fórmulas complejas en su modelo. Una técnica que utilizo para escenarios complejos son las variables ( ), que demostraré en este tutorial.
Primero, veamos la configuración del modelo. Este es solo un conjunto de datos de demostración que he creado. En este caso, nos centraremos en la columna Fecha de compra . Lo único que necesitamos hacer es una columna de índice numérico porque vamos a trabajar en esta columna para simplificar la lógica.
Por lo tanto, queremos poder aplicar cualquier filtro aquí (cliente, producto, ubicación, etc.) y calcular la diferencia entre la última fecha en que el cliente compró y la fecha de compra anterior . En este ejemplo, tenemos un filtro de ubicación, que es dinámico. Podemos hacer clic en los ID de ubicación y los datos cambiarán y nos mostrarán los resultados de cualquier ubicación que seleccionemos.
Vemos en esta tabla la identificación del pedido, la identificación del cliente, la fecha de compra de los clientes en una ubicación específica y la diferencia de días entre sus compras. La otra cosa a tener en cuenta aquí es que cuando hay dos compras en un día, la segunda fecha debe ser cero porque no es diferente al día anterior.
Fórmula DAX para calcular la diferencia entre compras
Ahora veamos la fórmula. Aquí se utilizan muchas variables, lo cual recomiendo encarecidamente cuando tenga un poco más de lógica para pensar. Es mucho más fácil auditar sus números más adelante y comprender la lógica que está sucediendo.
Tenga en cuenta que cada resultado aquí se calcula individualmente. Entonces, en cada resultado o fila de esta tabla, debemos averiguar qué están calculando estas variables. Por ejemplo, este 7 de 8 de 2016 con el resultado de 12 (días entre el último día de compra, que fue el 26 de julio).
Para obtener este resultado, comenzamos con el número de índice ( IndexNum ), que en este caso es 430, usando . Luego, calculamos para el número de índice anterior ( PreviousIndexNum ) calculando lo mismo (MAX of Index), pero cambiamos el contexto en el que calculamos usando una función dentro de .
A continuación, calculamos la fecha actual ( CurrentDate ) usando y . La fecha actual en este ejemplo es el 7 del 8 de 2016. Nuestra última variable es la fecha anterior ( PriorDate ), que podemos averiguar fácilmente porque ya tenemos el PreviousIndexNum.
La segunda parte de la fórmula, que es la instrucción , simplemente usa las variables que creamos e identifica específicamente la primera fecha como 0 . Luego, restamos CurrentDate de PriorDate para obtener la diferencia de 12 días.
Y así se calcula la diferencia en días entre compras en LuckyTemplates.
Esperemos que pueda ver cómo funciona la bifurcación de medidas aquí. Comenzamos con una variable (IndexNum) y luego la usamos para calcular la siguiente, y así sucesivamente.
Realmente disfruté trabajar en esto y estoy seguro de que esto ayudará a muchas personas. Es un escenario común en el que necesita calcular la diferencia en días. Podría ser entre compras o cualquier evento.
Si desea obtener más información sobre este tema, consulte el video y los enlaces a continuación.