Anónimo
Hola a todos,
Actualmente estoy trabajando con un montón de promedios ponderados diferentes y me encontré con un problema con el promedio ponderado con una tabla de equilibrio. Creé una medida que funciona bastante bien para calcular el promedio ponderado, pero no sé cómo eliminar los valores del SUMX que eventualmente se equilibran. ES DECIR
ES DECIR
La matriz en el informe se ve así:
oficina/Cliente/Asunto/transacción | Antigüedad del trabajo en curso | trabajo en curso | Wip total (suma de WIP) | Edad * Wip/Total |
Oficina 1 | 120 | –469 | ||
Cliente 1 | 0 | 0 | ||
asunto 1 | 0 | 0 | ||
transacción 1 | 50 | -1500 | 0 | 0 |
transacción 2 | 12 | 1500 | 0 | 0 |
cliente 2 | ||||
asunto 2 | 120 | 6 | ||
transacción 3 | 6 | 120 | 120 | 6 |
Entonces, para la tabla anterior, el promedio ponderado total para la Oficina 1 es -469. Esto sucede debido a que el WIP total es 120 debido a los números negativos y al SUMX iterando en todas las filas. ¿Es posible poner un Verificación total en la medida SUMX a continuación para cancelar este problema de número negativo?
La medida:
#WAverage =
var total =CALCULATE(Sum(WIPHistory[WIP]),ALLSELECTED(WIPHistory[Alloc_ID]))
//Gets the total (Alloc is transaction)
return
SUMX(WIPHistory,CALCULATE(DIVIDE(Sum(WIPHistory[WIP]),total) * AVERAGE(WIPHistory[WIPDays])))
//Goes through each row and calculates the WIP/Total WIP then multiplys by the Average of WIP days. The reason why it Averages the WIP is because there is a lower level to transaction that i need to average up to the alloc level first.
Cómo se produce el cálculo de la oficina:
oficina | Identificación del cliente | Asunto_ID | ID de transacción | Antigüedad del trabajo en curso | trabajo en curso | Wip total (suma de WIP) | parte | Edad * Wip/Total |
1 | 1 | 1 | 1 | 50 | -1500 | $120.00 | -12.5 | -625 |
1 | 1 | 2 | 2 | 12 | 1500 | $120.00 | -12.5 | 150 |
1 | 2 | 3 | 3 | 6 | 120 | $120.00 | -12.5 | 6 |
IE -496 = (-1500/120 * 50) + (120/120 * 6) + (1500/120 * 12).
Pregunta: ¿Hay alguna forma de cambiar el SUMX para que verifique estos negativos en este caso, hey Matter 1 o Client 1 Balances out, así que ignórelo del cálculo del promedio ponderado? Estoy pensando que la respuesta para el cargo como promedio ponderado debería ser 6.
v-eachen-msft
Hola @Anónimo,
Puede agregar un filtro en su DAX:
FILTER(WIPHistory,WIPHistory[WIP]>0)
O puede usar la función IF () para seleccionar los datos que desea sumar.
Anónimo
Este problema también contribuye a un tiempo de procesamiento muy largo debido a que hay 16 millones de filas en el modelo tabular.