Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Estoy tratando de calcular la cantidad de días que los productos están en stock. Los productos tienen una fecha de entrada y solo una fecha de venta cuando el producto se ha vendido. El objetivo es una revisión general de stock por mes/año. En la captura de pantalla a continuación algunos datos de "muestra" para ayudar a describir mi problema.
Para empezar, hice una lista de fechas (en este caso del 1 de enero de 2020 al 31 de diciembre) y desplegé esa lista como fechas del 1-1-2020 al 31-12-2020 para cada producto. Vinculé esas fechas con el calendario de fechas. Imagine que los datos reales contienen miles de productos durante varios años, que es mi primer problema. Genera demasiadas filas con fechas.
Al calcular los días que un producto está en stock, el promedio sobre el total es incorrecto. Digamos que quiero ver para agosto cuál es el promedio de días de stock:
Aunque los días en stock son correctos para los productos individuales, no es correcto para el total de agosto (fechas). El promedio correcto debe ser de 120 días, así:
Por lo tanto, todo se reduce a la combinación de 'Cómo crear fechas entre "fecha de entrada" y "Fecha de venta (o fecha de finalización dinámica)" y calcular el promedio total correcto por período (mes / año). Gracias por su tiempo.
Saludos, Alex
Solved! Go to Solution.
Hay @Alex_57
Puedes probar esta medida
StockDays =
VAR vMaxDate = MAX ( 'Date'[Date] )
RETURN
AVERAGEX (
FILTER (
'Example Sheet',
'Example Sheet'[Date coming in] <= vMaxDate
&& (
ISBLANK ( 'Example Sheet'[Selling date] )
|| 'Example Sheet'[Selling date] > vMaxDate
)
),
DATEDIFF ( 'Example Sheet'[Date coming in], vMaxDate, DAY )
)
Y no es necesario agregar una lista de fechas para cada producto en la tabla. Consulte el archivo adjunto.
Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.
Hay @Alex_57
Puedes probar esta medida
StockDays =
VAR vMaxDate = MAX ( 'Date'[Date] )
RETURN
AVERAGEX (
FILTER (
'Example Sheet',
'Example Sheet'[Date coming in] <= vMaxDate
&& (
ISBLANK ( 'Example Sheet'[Selling date] )
|| 'Example Sheet'[Selling date] > vMaxDate
)
),
DATEDIFF ( 'Example Sheet'[Date coming in], vMaxDate, DAY )
)
Y no es necesario agregar una lista de fechas para cada producto en la tabla. Consulte el archivo adjunto.
Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.
¡Hola!
Muchas gracias. Esto hace el truco y reduce la cantidad de datos (no se requiere una lista de fechas).
Saludos amables, Alex
@Alex_57 , si desea el máximo de la fecha seleccionada , entonces debe var debe ser
var MaxDate = Maxx(allselected(Query), query[Date])
dateiff debe estar rodeado por un cálculo
Intente también utilizar la tabla de fechas
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista del modelo. Además, únalo con la columna de fecha de su/s hecho/s. Consulte:radacad sqlbi My Video Series Aprecie sus felicitaciones.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.