Forum Discussion
Problema con MAXX
Hola equipo,
Estoy tratando de obtener la puntuación máxima alcanzada por cualquier empleado, pero se está filtrando a nivel de empleado, incluso después de aplicar filtros adicionales con ALL y REMOVEFILTER, hay una relación de 1 a muchos de Dim_Employee A Fact_employee_training
Saludos
Ritz.
por favor intenta
MaxTotalScorePerEmployee = CALCULATE( MAXX( ADDCOLUMNS( SUMMARIZE( ALL(Dim_Employee), Dim_Employee[EmployeeID] ), "TotalScore", CALCULATE(SUM(FactEmployee_Training[Score])) ), [TotalScore] ), REMOVEFILTERS() ) ---------------or------------- MaxTotalScorePerEmployee = MAXX( TOPN( 1, ADDCOLUMNS( SUMMARIZE( ALL(Dim_Employee), Dim_Employee[EmployeeID] ), "TotalScore", CALCULATE(SUM(FactEmployee_Training[Score])) ), [TotalScore], DESC ), [TotalScore] )
6 Replies
- Syndicate_AdminAdministrator
@kipi_bi
Puntuación máxima de todos los empleados =
CALCULAR(
MAX(Fact_employee_training[Puntuación]),
TODOS(Dim_Employee)
)Esto ignora todos los filtros de la dimensión employee y devuelve la puntuación máxima de todos los empleados.
Si esta respuesta te ha ayudado, haz clic en Felicitaciones o márcalo como Solución.
-Kedar
LinkedIn: https://www.linkedin.com/in/kedar-pande- Syndicate_AdminAdministrator
Gracias pero no funcionó, max irá al nivel de fila que nos gustaría evitar
Saludos
Ritz
- Syndicate_AdminAdministrator
Puntuación máxima de todos los empleados =
CALCULAR(
MAX(Fact_employee_training[Puntuación]),
REMOVEFILTERS(Dim_Employee)
)MAX(Fact_employee_training[Score]) busca la puntuación más alta en la tabla de hechos.
REMOVEFILTERS(Dim_Employee) ignora todos los filtros de la dimensión de empleado, lo que proporciona la puntuación máxima en todos los empleados, independientemente de los filtros de nivel de empleado.
Si esta respuesta fue útil, acéptela como una solución y felicite a otros miembros de la comunidad. - Syndicate_AdminAdministrator
por favor intenta
MaxTotalScorePerEmployee = CALCULATE( MAXX( ADDCOLUMNS( SUMMARIZE( ALL(Dim_Employee), Dim_Employee[EmployeeID] ), "TotalScore", CALCULATE(SUM(FactEmployee_Training[Score])) ), [TotalScore] ), REMOVEFILTERS() ) ---------------or------------- MaxTotalScorePerEmployee = MAXX( TOPN( 1, ADDCOLUMNS( SUMMARIZE( ALL(Dim_Employee), Dim_Employee[EmployeeID] ), "TotalScore", CALCULATE(SUM(FactEmployee_Training[Score])) ), [TotalScore], DESC ), [TotalScore] )- Syndicate_AdminAdministrator
Muchas gracias, funcionó
¿Puedes decirme por qué necesitamos agregar AGREGAR COLUMNAS para obtener la respuesta?Saludos
Ritz
- Syndicate_AdminAdministrator
La función SUMMARIZE utiliza un método de agrupación en clústeres. Lea más sobre esto aquí.
https://www.sqlbi.com/articles/differences-between-groupby-and-summarize/
Además, tenga en cuenta que el uso de la función REMOVEFILTERS() garantiza que se eliminen todos los filtros.