Anónimo
¡Hola, chicos!
Estoy tratando de formular un promedio ponderado para los datos de un producto. Tengo 4k filas de diferentes IDs divididos por 9 categorías (prod1 a prod9), cada una con un valor de tiempo.
Necesito un promedio ponderado del tiempo usando el número de identificaciones en cada categoría como el peso.
Categorías
Valores de tiempo
littlemojopuppy
En respuesta a littlemojopuppy
Estoy trabajando con mi suposición y se me ocurrió esto …
Weighted Average Product Time =
VAR AllProducts =
CALCULATETABLE(
VALUES(Products[Product]),
ALL(Products)
)
VAR TotalProductCount =
CALCULATE(
[Product Count],
ALL(Products)
)
RETURN
DIVIDE(
SUMX(
AllProducts,
[Product Count] * [Total Product Time]
),
TotalProductCount,
BLANK()
)
Aquí están los resultados
¡Espero que esto ayude! 🙂
v-robertq-msft
Hola, @matheussilva
¿La respuesta de Littlemojopuppy te ha ayudado a resolver tu problema?
¿Le gustaría marcar la respuesta de littlemojopuppy como una solución para que otros puedan aprender de ella también?
Gracias de antemano!
Cómo obtener respuestas a su pregunta rápidamente
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayudaentonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
CNENFRNL
@matheussilva, asumo que la lógica del promedio ponderado deseado es así
(total time of each product) * (occurrence of each product)/(total count of all products)
take Product1 for example:
(43.8+38.9+40.4+30.2)*(4/20)
Weighted Avg =
VAR __t = COUNTROWS ( Table1 )
RETURN
SUMX (
DISTINCT ( Table1[Product] ),
CALCULATE ( SUM ( Table1[Time] ) * COUNTROWS ( Table1 ) ) / __t
)
por cierto, fórmula de matriz de Excel, nuestro oldie pero goodie, hace el truco con facilidad,
=SUMPRODUCT(Table1[Time], COUNTIF(Table1[Product],Table1[Product]))/ROWS(Table1)
littlemojopuppy
En respuesta a CNENFRNL
@CNENFRNL ¿No ofrecí una solución similar hace horas ???
littlemojopuppy
Hola @matheussilva puede proporcionar algunos datos de muestra para trabajar?
Anónimo
En respuesta a littlemojopuppy
Hola, @ littlemojopuppy, gracias por responder.
Producto | Hora |
PROD1 | 43,8 |
PROD1 | 38,9 |
PROD1 | 40,4 |
PROD1 | 30,2 |
PROD2 | 38,3 |
PROD2 | 28,7 |
PROD2 | 36,3 |
PROD3 | 27,5 |
PROD3 | 28,4 |
PROD4 | 36,6 |
PROD4 | 37,9 |
PROD5 | 39,8 |
PROD6 | 40,5 |
PROD6 | 36,7 |
PROD7 | 37,3 |
PROD7 | 23,8 |
PROD8 | 37,2 |
PROD9 | 32,5 |
PROD9 | 32,1 |
PROD9 | 43,9 |
Espero que ayude. Cada peso de categoría es el% de las ocorrences
¡Gracias de nuevo!
Ashish_Mathur
En respuesta a Anónimo
Hola
Aprender estas medidas:
littlemojopuppy
En respuesta a Ashish_Mathur
@Ashish_Mathur no sólo ofrece una solución hace cinco horas, alguien más ofreció la misma solución hace tres horas. ¿Su opinión fue justificada?
littlemojopuppy
En respuesta a Anónimo
@matheussilva una pregunta más: ¿cómo se calcula el pesaje? Asumo
(recuento total del producto) * (tiempo del producto) / (recuento total del producto)
littlemojopuppy
En respuesta a littlemojopuppy
Estoy trabajando con mi suposición y se me ocurrió esto …
Weighted Average Product Time =
VAR AllProducts =
CALCULATETABLE(
VALUES(Products[Product]),
ALL(Products)
)
VAR TotalProductCount =
CALCULATE(
[Product Count],
ALL(Products)
)
RETURN
DIVIDE(
SUMX(
AllProducts,
[Product Count] * [Total Product Time]
),
TotalProductCount,
BLANK()
)
Aquí están los resultados
¡Espero que esto ayude! 🙂