cancel
Showing results for 
Search instead for 
Did you mean: 
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]))



!! Microsoft Fabric !!
Microsoft Power BI Learning Resources, 2023 !!
Learn Power BI - Full Course with Dec-2022, with Window, Index, Offset, 100+ Topics !!
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !! Proud to be a Super User! !!

@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
Exciting changes

Power BI Community Changes

Check out the changes to the Power BI Community announced at Build.

May 2023 update

Power BI May 2023 Update

Find out more about the May 2023 update.

Kudo Data Story carousel

Data Stories Gallery

Visit our Data Stories Gallery and give kudos to your favorite Data Stories.

Top Solution Authors