Capoccetta
Estimados,
Soy nuevo en Power BI y tengo un problema para calcular un promedio ponderado basado en el total de una columna.
Adjunto un ejemplo simplificado para mi PBIX.
Como puede ver, tengo dos tablas, una tabla maestra y una tabla de resumen, con pocos campos calculados a partir de la tabla maestra. En la tabla resumida, tengo un campo de mes de conductor que representa la clave de las tablas, un campo que representa la suma de ventas para el conductor y un número de recuento distinto de entregas para el conductor.
En el informe tengo un filtro de página donde puedo filtrar el nombre del conductor.
Quiero calcular un promedio ponderado, estoy probando con diferentes fórmulas pero todas me dan un resultado incorrecto porque todos los cálculos se realizan sobre el número total de la entrega, 21 y no solo sobre la entrega filtrada…
La fórmula utilizada para SalesxDeliveries / TotalDeliveries es
SalesxDeliveries / TotalDeliveries = (Compatti[Delivery]* Compatti[Sales]) / (SUM (Compatti[Delivery]))
Lo intento también con filtro pero sin resultados.
Este es el total de registros
Esto es registros filtrados
En la última columna, la fórmula considera el número total de entregas 21 en lugar de filtrar dinámicamente 18
Ese es el resultado que espero
Por favor, dame algunos consejos …
Gracias
Capoccetta
En respuesta a Vvelarde
con esta fórmula funciona bien
SalesxDeliveries / TotalDeliveries =
DIVIDIR (
SUMX (Compatti, Compatti[Delivery] * Compatti[Sales] ),
CALCULAR (SUMA (Compatti[Delivery] ), TODOS SELECCIONADOS (Compatti))
)
Gracias a todos….
v-yuezhe-msft
@Capoccetta,
Cree una medida usando DAX a continuación.
Medida = SUMA (Compatti[Sales]) * SUM (Compatti[Delivery]) / CALCULAR (SUM (Compatti[Delivery]), TODOS SELECCIONADOS (Compatti[Driver]))
Saludos,
Lydia
Capoccetta
En respuesta a v-yuezhe-msft
Este es mi PBIX https://1drv.ms/u/s!AqfsJnD6F-2ggdhEmH0ydA3nfpuHLQ
Es la misma fórmula que estoy comprobando
Medida1 = SUMA (Compatti[Sales]) * SUM (Compatti[Delivery]) / CALCULAR (SUMA (Compatti[Delivery]); TODOS SELECCIONADOS (Compatti[DriverMonth]))
pero este es mi resultado … no es correcto …
v-yuezhe-msft
En respuesta a Capoccetta
@Capoccetta,
Debería crear las siguientes medidas en la tabla sheet1 y crear una nueva tabla visual como sigue.
SalesxDelivery = SUM (Compatti[Sales]) * SUM (Compatti[Delivery])
AllDelivery = CALCULATE (SUM (Compatti[Delivery]), TODOS SELECCIONADOS (Hoja1[Driver]), TODOS (Hoja1[DriverMonth]))
Medida esperada = [SalesxDelivery]/[AllDelivery]
Saludos,
Lydia
Capoccetta
En respuesta a v-yuezhe-msft
@ v-yuezhe-msft
Tks Lydia por su atención …
Solo una cosa … La medida funciona correctamente pero el total de la columna es incorrecto.
ManNVSM
En respuesta a Capoccetta
Estimado @Capoccetta,
¿Puedes volver a compartir tu pbix? Haré un formulario y lo comprobaré.
Saludos,
ManNVSM
Capoccetta
En respuesta a ManNVSM
@ManNVSM
Este último pbix modificado
https://1drv.ms/u/s!AqfsJnD6F-2ggdhFCiMqkwzPACHG-w
Gracias
ManNVSM
En respuesta a Capoccetta
Estimado @Capoccetta,
Me doy cuenta de que tu Formular no es bueno.
SalesxDeliveries / TotalDeliveries = (Compatti[Delivery]* Compatti[Sales]) / (SUM (Compatti[Delivery]))
Con GrandTotal, su valor será = Ventas.
Ejemplo: (A * B) / A = B. Porque A / A = 1.
Entonces (1 * B) = B. En este caso, A = Entrega, B = Venta. ¿Derecha?
Puedes ver una imagen a continuación. Entonces, puede darme más información sobre su solicitud, tal vez encontremos otra forma de resolverla.
Capoccetta
En respuesta a ManNVSM
Estimado @ManNVSM
Está todo correcto … yo pensaba lo mismo
El objetivo es calcular para cada elemento el promedio ponderado y tener un total correcto de la columna relativa.
ManNVSM
En respuesta a Capoccetta
Estimado @Capoccetta,
Sí.
Ahora Table no puede dejarnos elegir lo que será para Grandtotal. Tal vez la suma de los detalles o tal vez de Formular (predeterminado). Espero que llegue pronto por Idea.
Si necesita ayuda en el otro tema, simplemente etiquete mi cuenta en su tema 🙂
Por cierto, si cree que la respuesta es la solución, elíjala para cerrar este tema.
Saludos,
ManNVSM.
Capoccetta
En respuesta a ManNVSM
Estimado @ManNVSM
la solución es tener la fórmula de medida esperada y los mismos resultados en una fórmula de columna, una o más columnas.
Una columna con resultados detallados y otra columna con un total de registros seleccionados que puedo usar como gran total …
Lo estoy revisando pero ahora sin resultados …
En su opinión basada en su experiencia, ¿es posible?
Vvelarde
En respuesta a Capoccetta
@Capoccetta
Hola, prueba esto:
Modificar:
AllDelivery = CALCULATE ( SUM ( Compatti[Delivery] ), ALLSELECTED ( Sheet1[Driver] ), ALLSELECTED ( Sheet1[DriverMonth] ) )
Y crea una nueva medida
ExpectedMeasure VV = IF ( HASONEVALUE ( Sheet1[Driver] ), [ExpectedMeasure], SUMX ( SUMMARIZE ( Sheet1, Sheet1[Driver], Sheet1[DriverMonth], "AA"; [SalesxDelivery] / [AllDelivery] ), [AA] ) )
Puede cambiar el AA por otro nombre y reemplazar la medida esperada con el código.
Saludos
Víctor
Lima, Perú
Capoccetta
En respuesta a Vvelarde
con esta fórmula funciona bien
SalesxDeliveries / TotalDeliveries =
DIVIDIR (
SUMX (Compatti, Compatti[Delivery] * Compatti[Sales] ),
CALCULAR (SUMA (Compatti[Delivery] ), TODOS SELECCIONADOS (Compatti))
)
Gracias a todos….