Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Estoy tratando de calcular las ventas totales para el último 3er o 2o día en mi tabla de ventas en función de una fecha seleccionada. Mi modelo tiene 2 tablas:
1- Tabla de ventas que contiene productos, valor y fechas (algunas fechas están en blanco).
Tabla de 2 fechas
Tengo una relación activa entre Dates[Date] & Sales[Date].
Mi objetivo es tener una medida para calcular las ventas totales en los últimos N días a partir de la fecha seleccionada e ignorando las fechas en blanco.
Por ejemplo, cuando selecciono el 29/04/2020, debería poder ver la siguiente tabla:
No está seguro de cómo:
a- Mostrar los últimos 3 días (29, 22 y 21) en columnas dinámicamente.
b- Medir para calalar las ventas totales en función de la selección.
Espero que tenga sentido. Se adjunta el archivo PBIXde ejemplo.
Muchas gracias
Solved! Go to Solution.
Hola @HeshamK ,
En primer lugar, elimine la relación entre las fechas de la tabla y las ventas, vea a continuación:(si eliminar el relationshiop no es una buena opción, luego cree una nueva tabla de calendario y use sus fechas para el cálculo)
A continuación, cree una medida como se indica a continuación:
Measure =
VAR a =
CALCULATETABLE (
TOPN (
3,
FILTER ( VALUES ( Sales[Date] ), Sales[Date] <= SELECTEDVALUE ( Dates[Date] ) ),
[Date], DESC
),
ALLSELECTED ( Sales )
)
RETURN
IF (
SELECTEDVALUE ( Dates[Date] ) = BLANK (),
MAX ( 'Sales'[Values] ),
CALCULATE ( SUM ( Sales[Values] ), FILTER ( Sales, Sales[Date] IN a ) )
)
Finalmente verá:
Para el archivo .pbix relacionado , pls haga clic aquí.
Hola @HeshamK ,
En primer lugar, elimine la relación entre las fechas de la tabla y las ventas, vea a continuación:(si eliminar el relationshiop no es una buena opción, luego cree una nueva tabla de calendario y use sus fechas para el cálculo)
A continuación, cree una medida como se indica a continuación:
Measure =
VAR a =
CALCULATETABLE (
TOPN (
3,
FILTER ( VALUES ( Sales[Date] ), Sales[Date] <= SELECTEDVALUE ( Dates[Date] ) ),
[Date], DESC
),
ALLSELECTED ( Sales )
)
RETURN
IF (
SELECTEDVALUE ( Dates[Date] ) = BLANK (),
MAX ( 'Sales'[Values] ),
CALCULATE ( SUM ( Sales[Values] ), FILTER ( Sales, Sales[Date] IN a ) )
)
Finalmente verá:
Para el archivo .pbix relacionado , pls haga clic aquí.
Hola @v-kelly-msft ,
¡Increíble! Gracias por compartir la solución. Funciona según lo esperado y lo más importante que su dax no tiene ningún impacto en el rendimiento del modelo.
Sería muy bueno si usted puede compartir cómo obtener las ventas totales para:
- El último día del mes anterior
- El último día de la semana anterior
Atentamente
Hesham
Hola @v-kelly-msft ,
Cualquier oportunidad que pueda ayudarme a obtener las ventas totales para:
- El último día del mes anterior
- El último día de la semana anterior
Muchas gracias
Hesham
Hola @HeshamK,
Marque este archivo como ejemplo: Descargar PBIX
La idea es tener una tabla de fechas desensensuada y para el valor obtener las últimas 3 o n fechas en su tabla de ventas, iterar en la tabla de ventas y comprobar si está dentro de esas 3 o n fechas y sumar por fecha.
Si lo considera como una solución, marque como una solución y felicitaciones.
Ricardo
Hola @camargos88 ,
Gracias por proporcionar su solución. La solución funcionó, sin embargo hubo un impacto additonal en el modelo perfomance. Estaba consumiendo mucha memoria, por lo tanto no era ideal.
Saludos
Hesham
@HeshamK ,
Refiera , si esto puede ayudar
Rodar 3 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],max(Sales[Sales]),-3,DAY))
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |