Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
sps-reporter
Helper II
Helper II

Respuesta equivocada... enloqueciendo ... debe ser simple?

He creado un informe de rendimiento del centro de llamadas "falso" y las respuestas no están saliendo como se esperaba. Estoy buscando la cantidad total de tiempo en el teléfono para el centro de llamadas en 3 turnos diferentes para cada empleado. Estoy haciendo esto calculando el tiempo promedio en el teléfono para cada empleado para cada turno. A continuación, calcula el tiempo medio de conversación para cada turno. A continuación, tomo la diferencia entre el promedio de turnos de empleado y el promedio de turnos y lo multiplico por el número de cada turno del trabajo del empleado. Esto debería decirme en promedio cuánto tiempo pasaron los empleados en el teléfono en comparación con el promedio. Por supuesto, esto no es una comparación justa porque la gente trabajó diferentes cantidades de tiempo. Por lo tanto, normalizo la diferencia de tiempo de conversación promedio por la relación entre el tiempo medio de trabajo del empleado y el tiempo de trabajo total del empleado. Gracias por llegar hasta aquí.

Por lo tanto, hice este mismo cálculo usando Python Pandas que estoy seguro de que me está dando las respuestas correctas. El informe de Power BI está casi allí y me da las respuestas correctas para las medidas, pero no la respuesta correcta cuando intento agregar la diferencia normalizada por empleado. Además, cortar por fecha todo es incorrecto. Aquí está el archivo PBIX estoy en el extremo ingenioso sobre cómo hacer que esto funcione. Soy bastante nuevo en Power BI, así que probablemente me estoy perdiendo algo simple. Cualquier consejo sería muy apreciado.
Gracias

1 ACCEPTED SOLUTION

@sps-reportero Sí, puede utilizar una medida en RESUME. Vea mi artículo de blog sobre eso aquí: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

El patrón es:
MinScoreMeasure ? MINX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
MaxScoreMeasure ? MAXX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
AvgScoreMeasure - AVERAGEX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
etcetera.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

11 REPLIES 11
Greg_Deckler
Super User
Super User

@sps-reportero No he descargado el PBIX todavía, pero suena como un problema total de medidas. Muy común. Vea mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

Además, esta Medida Rápida, Medir Totales, La Palabra Final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Gracias Greg, su respuesta es una solución a otro problema que me ha estado molestando. Esto será útil. Tengo más resolución sobre el problema con el que estoy luchando. Estas son las medidas de mi PBIX:

///
Desea que todos estos se calculen en datos cortados por fecha
///


Este debe ser el tiempo de conversación promedio para cada trabajador en cada turno que trabajaron
Promedio de turnos de trabajadores (Worker Shift Average)
CALCULATE(
PROMEDIO(work_performance[Tiempo de conversación]),
ALLEXCEPT(work_performance,work_performance[Fecha],work_performance[Nombre],work_performance[Shift])
)

Este es el conteo de cada uno de los turnos que trabajaron
Recuento de turnos de trabajadores ( Worker Shift Count)
CALCULATE(
COUNTA(work_performance[Shift]),
ALLEXCEPT(work_performance,work_performance[Fecha],work_performance[Shift],work_performance[Nombre])
)

Este es el tiempo de conversación promedio de los turnos para todos los trabajadores
Promedio de turnos ?
CALCULATE(
PROMEDIO(work_performance[Tiempo de conversación]),
ALLEXCEPT(work_performance,work_performance[Fecha],work_performance[Shift])
)

Total de horas trabajadas por cada trabajador
Total de Horas Trabajadas ?
CALCULATE(
SUM(work_performance[Longitud de la mayúscula]),
ALLEXCEPT(work_performance,work_performance[Fecha],work_performance[Nombre])
)

Promedio del total de horas trabajadas por cada trabajador
Horas medias trabajadas ?
CALCULATE(
DIVIDE(SUM(work_performance[Longitud de la mayúscula]),DISTINCTCOUNT(work_performance[Nombre])),
ALLEXCEPT(work_performance,work_performance[Fecha])
)

Diferencia total del promedio de turnos de trabajadores menos el promedio de turnos general Tiempo de conversación
Total porque esta diferencia media se multiplica por el número de cada uno de los turnos
el trabajador trabajó
Diferencia total ?
CALCULATE(
[Recuento de turnos de trabajador]*([Promedio de turno de trabajo]-[Promedio de turno])
)

La diferencia total se normaliza de tal manera que los trabajadores que trabajaban menos que el promedio
tiempo tendrá un aumento de la diferencia total y los que trabajaron más que el promedio
tiempo obtendrá una reducción en su diferencia total
Normalizar la diferencia total ?
CALCULATE(
[Diferencia total]*[ Horasmedias trabajadas]/[Total de horas trabajadas]
)

Una tabla de estas medidas no es realmente de interés que no sea detectar cosas de cheque. Lo que quiero es una gráfica (abajo) de la diferencia total normalizada ordenada sobre los trabajadores para ver cómo se comparan, una especie de clasificación. Cuando hago esto, la medida de diferencia total normalizada ignora la naturaleza cambiante de este cálculo y la diferencia total es simplemente el tiempo medio de conversación para cada trabajador independientemente del turno y el tiempo medio de conversación de todos los trabajadores. Este es un cálculo diferente y no el que me interesa porque cada trabajador se desempeña de manera diferente en cada turno.

Estoy seguro de que esta es una solución simple que estoy en un punto de espera. He actualizado el archivo PBIX

Gracias

Rank Plot.png

Oh el nuevo archivo PBIX

@Greg_Decklergracias por la propina. Miré a través de la publicación que proporcionó y descargó el archivo de ejemplo PBIX. A menos que me haya perdido algo, ¿su propina tiene más que ver con cómo se resumen las medidas en tablas y matrices? Estoy bastante seguro de que mi problema es con el contexto. Su publicación puede ser demasiado avanzada para que asocie lo que escribió y demostró y cómo se relaciona con el contexto.

Gracias por tu consejo. Disfrutaría de cualquier otro pensamiento que tengas que ofrecer.

@sps-reportero Fue sólo una suposición basada en tu descripción. Dijiste que las medidas eran correctas, pero cuando "intentas agregar la diferencia normalizada" obtienes respuestas incorrectas. Así que eso sonó como la agregación de medidas. Lo siento por no responder, a menos que me haya contestado, perderé el hilo. Recibo cientos de notificaciones todos los días en mi bandeja de entrada en este sitio de la comunidad. La gran mayoría son notificaciones de basura de otro superusuario o alguien que responde a este o ese hilo o soluciones aceptadas o lo que sea por lo que es fácil perderse el cartel original respondiendo.

Tengo el PBIX descargado. Sólo curiosidad, ¿por qué estás seguro de que Python está proporcionando la respuesta correcta?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@sps-reporter - He descargado el PBIX y he echado un vistazo. Honestamente, la única manera de solucionar esto es generar los mismos datos intermedios en Python que tiene en DAX y comparar para ver dónde están desactivados los números. Creé una página para este propósito. Una vez que te pones a cero en donde los números están apagados, entonces estarás mucho más cerca de una respuesta. es difícil ayudar de otra manera porque las cosas se ven bastante directas. Quiero decir, usted utiliza CALCULATE en un número de lugares inútilmente, pero aparte de que no hay nada super complejo aquí. Me di cuenta de que a veces sus números están por encima y a veces por debajo de los números de Python. Por lo tanto, eso indica que es probable que NO sea "Horas medias trabajadas" o "Promedio de turnos". Esos son idénticos para cada individuo que no podría ser la causa.

Sin ver el Python y sus números, es pura locura tratar de determinar por qué los dos conjuntos de números no coinciden. PBIX actualizado se adjunta a continuación sig.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler Gracias Greg, pude duplicar los resultados de Power BI en Python. Confirmé los resultados de Python haciendo cálculos de "mano". La medida para la diferencia de Normalización Total es ignorar los promedios de turnos de trabajadores individuales y simplemente promediar todos los turnos para cada persona y compararlo con el promedio de todos los turnos para todas las personas. Gracias por confirmar mi uso descuidado de calcular. Ser nuevo en PBI no estaba muy seguro de cuándo y cuándo no usar eso. Estaba pensando que necesitaba cambiar el contexto del filtro para afectar los promedios que estaba buscando y eso funcionó como cada medida hasta la que realmente quería Total Normalized Differences. Ese cálculo en particular es el que parece tener el contexto "equivocado" o no el que esperaba. Esencialmente quiero que la Diferencia Total Normalizada sea el resultado de la diferencia entre los promedios de turnos de trabajadores y el promedio de ese turno para todos los trabajadores. No es el promedio de todos los turnos para cada trabajador. En la imagen adjunta los números en verde son correctos. Si sumas los de las negras trabajadoras obtienes -651.51 entonces múltiple que por horas promedio trabajadas por todos los trabajadores y dividido por el total de horas trabajadas por Negro 2105.01/1852 Obtengo -740.51 que es la respuesta para la Diferencia Normalizada Total que obtengo con Python y verificación de calc a mano. Si suma los números en rojo para las negras obtengo -718.74 que es correcto si normalizaste la diferencia de todos los promedios de trabajadores (cambios generales) y todos los promedios de turnos. Desconcertante. Por alguna razón hay una transición de contexto de las medidas utilizadas en la medida Total Normalizado Diferente. Gracias por el tiempo que has dedicado a esto. Realmente aprecio el consejo de un experto.Worker_stats.png

@Greg_Deckler Creo que tu propina original es exactamente mi problema. No estoy seguro de cómo aplicarlo. ¿Puedo usar una medida en resumen?

m_Total 2o
VAR __table - SUMMARIZE('Table1',[Category1],"__value",[m_Single])
devolución
IF(HASONEVALUE(Table1[Category1]),[m_Single],SUMX(__table,[__value]))
Cada fila de esta captura de pantalla es correcta, excepto la fila total.
No estoy seguro de cómo proceder con la propina que proporcionó. Gracias
Screenshot 2020-09-27 131306.png

@sps-reportero Sí, puede utilizar una medida en RESUME. Vea mi artículo de blog sobre eso aquí: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

El patrón es:
MinScoreMeasure ? MINX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
MaxScoreMeasure ? MAXX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
AvgScoreMeasure - AVERAGEX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
etcetera.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler Eso fue todo!!! ¡Gracias! Ahora sólo tengo que averiguar por qué funciona para no volver a pintarme en esta esquina. Mi experiencia DAX es tambaleante, pero esto me ayudará a avanzar.

@sps-reportero Bueno, la Agregación de Medidas y Medidas Los problemas totales están relacionados. De hecho, el segundo vino del primero, según recuerdo. Básicamente lo que parece que te estás ejecutando se reduce al contexto. Por lo tanto, para poner esto en medidas totales terreno que es más fácil de explicar, cuando usted está en la línea total de visualización de la tabla, usted está en el contexto de TODO. Por lo tanto, la medida se evalúa en este contexto y probablemente más a menudo que no la línea total es "incorrecta" porque no es una agregación en el nivel de línea. Por lo tanto, mediante el uso de una medida que funciona en el nivel de línea y, a continuación, usar algo como SUMMARIZE o GROUPBY para volver a crear ese contexto de nivel de línea dentro de la medida, puede usar una función de agregación "X" en esa tabla para obtener la agregación "correcta" en el nivel total. Ahora, cuando se trata de medir la agregación, entienda que tiene este mismo tipo de problema dentro de una jerarquía, no solo en una línea total.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.