Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
10 months ago
Solved

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

  • @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_Admin's avatar
      Syndicate_Admin
      Administrator

      Gracias pero no funcionó, max irá al nivel de fila que nos gustaría evitar

      Saludos

      Ritz

  • 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.

  • 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]
    )