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
ckausihan_12
Helper I
Helper I

Suma los primeros 3 rangos

Hola, tengo una tabla con los resultados de los estudiantes y quiero sumar los 3 mejores grados. Sin embargo, un estudiante puede tener el mismo tema varias veces con el mismo resultado. Estoy poniendo las calificaciones en un orden de clasificación y luego sumando el top 3, sin embargo, si una calificación está duplicada y tiene como rango de 1,2 o 3 ese grado se incluye en la suma. En el ejemplo siguiente espero grade_sum sea 12, agregando 6+4+2, pero su adición de 6+4+2+2 ya que hay dos filas con el tema como lang con un grado de 2, meaing tiene un rango de 3.

EstudianteIdAsuntoGradorangograde_sum
test11Matemáticas6114
test11Geo4214
test11Largo2314
test11Largo2314
test11Cama1414
test11Cama1414

Rango de Rango (Rank)
RANKX (
ALL ('Tabla'[grado]),
CALCULAR (
MAX('Tabla'[grado]),
ALLEXCEPT (
'Mesa',
'Tabla'[id],
'Tabla'[grado]
)
)
)
grade_sum de la casa de los grade_sum
CALCULAR (
SUMX(TOPN ( 3, 'Table', FIRSTNONBLANK('Table'[rank],'Table'[grade]), ASC ), 'Table'[grade] ),
ALLEXCEPT ( 'Tabla', 'Tabla'[id])
)
1 ACCEPTED SOLUTION
v-rzhou-msft
Community Support
Community Support

Hola @ckausihan_12

Puede probar mi dax para crear columnas calculadas.

Rank = RANKX (FILTER('Table','Table'[id]=EARLIER('Table'[id])),'Table'[grade],,DESC,Dense)
Sum of Top 3 Per Student =
SUMX (
    FILTER (
        SUMMARIZE (
            'Table',
            'Table'[student],
            'Table'[id],
            'Table'[subject],
            'Table'[grade],
            'Table'[Rank]
        ),
        [id] = EARLIER ( [id] )
            && [Rank] <= 3
    ),
    [grade]
)

El resultado es el siguiente:

1.png

Puede descargar el archivo pbix desde este enlace: Suma los primeros 3 rangos

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
v-rzhou-msft
Community Support
Community Support

Hola @ckausihan_12

Puede probar mi dax para crear columnas calculadas.

Rank = RANKX (FILTER('Table','Table'[id]=EARLIER('Table'[id])),'Table'[grade],,DESC,Dense)
Sum of Top 3 Per Student =
SUMX (
    FILTER (
        SUMMARIZE (
            'Table',
            'Table'[student],
            'Table'[id],
            'Table'[subject],
            'Table'[grade],
            'Table'[Rank]
        ),
        [id] = EARLIER ( [id] )
            && [Rank] <= 3
    ),
    [grade]
)

El resultado es el siguiente:

1.png

Puede descargar el archivo pbix desde este enlace: Suma los primeros 3 rangos

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

How will this work if there are muktipes of rank 1 or 2? At the moment those duplicates are included in the 'Sum of Top 3 Per Student' calculation.

amitchandak
Super User
Super User

@ckausihan_12 , Probar como

Top 3 - CALCULATE(sum('Table'[grade_sum]),TOPN(3,ALL ('Table'[grade]),calculate(MAX('Table'[grade])),DESC),VALUES('Table'[grade]))

@amitchandak Esto no funcionó.

QQCFA
Frequent Visitor

Parece que Lang tiene 2 filas idénticas que no es incorrecta como usted menciona, pero está haciendo que el código devuelva ambos por lo tanto el resultado incorrecto. Agregaría una columna de índice en la tabla (puede agregar fácilmente desde el Editor de consultas) y, a continuación, crear una nueva columna que concatena el identificador o el nombre con el índice para crear una fila única y, a continuación, ajustar el código (ALLEXCEPT) para usar la nueva columna. Espero que esto ayude.

@QQCFA

Intenté lo que me sugeriste. Pero el uso de la nueva columna única en EL ALLEXCEPT no es agregar las calificaciones juntas. La tabla contiene varios alumnos.

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.