The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola, estoy luchando con la replicación de un promedio móvil de 7 días en Power BI que puedo hacer fácilmente en Excel. Soy nuevo en Power BI y estoy luchando con los términos de búsqueda, por lo que esta es probablemente una pregunta simple. Al buscar en Google una solución, los promedios móviles de 7 días se centran en las ventas o los ingresos, pero mi conjunto de datos debe filtrar primero un determinado tipo de producto.
Los datos:
Tengo un conjunto de datos de productos inspeccionados diariamente con dos disposiciones: "Chatarra" y "Prueba". Necesito saber el promedio móvil de 7 días de los productos dispuestos como "chatarra". En Excel, esto es simplemente la suma de los productos dispuestos como "chatarra" dividida por la suma de los productos inspeccionados en los últimos 7 días. He creado esto en el archivo de Excel vinculado en la pestaña "RollingAverageTable".
La pregunta:
Cuando intento crear esto en Power BI, es menos sencillo (archivo pbi anterior). Creé una medida para el recuento total diario, pero no estoy seguro de cómo convertirla en un promedio móvil de 7 días solo de productos "Scrap". Supongo que necesito una medida separada para contar el total diario de productos desechados y luego dividirlo por el total diario, pero ¿cómo lo haría?
Hola
Al contar 6 días antes, ha ignorado los días en los que no hay recuento de chatarra. ¿No deberían esos días estar cubiertos con un valor de 0, es decir, como el 13 de febrero de 2022, no deberían 6 días anteriores ser del 7 al 12 de febrero?
@khat Debería ser fácil adaptar este enfoque: Mejor promedio móvil - Microsoft Power BI Community
Better Rolling Average =
VAR __EndDate = MAX('Table'[Date])
VAR __7DaysAgo = __EndDate - 7
VAR __StartDate = DATE(YEAR(__7DaysAgo ), MONTH(__7DaysAgo ), 1)
VAR __Table =
SUMMARIZE(
FILTER(ALL('Table'),[Date]>=__StartDate && [Date]<=__EndDate), // add filter here
'Table'[Month],
"__Value",SUM('Table'[Value])
)
RETURN
AVERAGEX(__Table,[__Value])
Gracias. Seguí el enlace y vi el video también. Aprendí mucho, pero todavía está un poco avanzado para mí. A continuación se muestra mi intento de usar esa medida y reemplazarla con mis propias tablas, que no funcionó. ¿Algún consejo sobre dónde me equivoqué?
Gracias de nuevo por el video, aprecié su explicación del VAR, que era nuevo para mí.
Aquí está el texto (imagen de abajo):
Mensaje de error:
MdxScript(Modelo) (13, 28) Error de cálculo en la medida 'DateInspected'[Better Rolling Average]: La función SUM no puede trabajar con valores de tipo String.
Elegí la tabla DateInspection(ProductDisposition.Type) porque eso es lo que necesito contar y era lo que pensé que coincidía más con su ejemplo, ¿debería haber usado la medida Recuento diario de chatarra en su lugar?
Gracias de nuevo por su ayuda
@khat Debe cambiar la columna Tipo a un número o usar un agregador diferente como COUNT. La columna Tipo es Texto en este momento, por lo que no puede SUMAR una columna de texto.