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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Live now!

Reply
Syndicate_Admin
Administrator
Administrator

Consulta de tabla cruzada para encontrar diferentes calificaciones para el estudiante

¡Saludos! Me gustaría que me ayudaran con el siguiente problema.
Tenemos tres tablas para almacenar las calificaciones de los estudiantes en diferentes momentos. Las tres tablas son iguales, solo la columna "Período" tiene datos discretos. La estructura es similar a la siguiente:

Captura de pantalla 2024-03-01 140105.png Captura de pantalla 2024-03-01 140142.png Captura de pantalla 2024-03-01 140155.png

Por lo tanto, cuando un estudiante reprueba el período A1, tiene la oportunidad en el período A2 y más tarde en el A3. ¿Hay alguna forma de rastrear a los estudiantes con calificaciones reprobadas y generar una nueva columna con la calificación final después de los tres períodos? Esto es solo un ejemplo, los datos reales son 1,3 millones de filas de datos.

Tenga en cuenta que para nosotros una calificación de 5 equivale a una asignatura suspendida

¡Su ayuda será muy apreciada!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hola @Hatterg

Para su pregunta, aquí está el método que proporcioné:

Aquí hay algunos datos ficticios

"PeriodoA1"

vnuocmsft_0-1709516837659.png

"PeriodoA2"

vnuocmsft_1-1709516899759.png

"PeriodoA3"

vnuocmsft_2-1709516935247.png

Dado que los datos se distribuyen en tres tablas con estructuras similares, el primer paso es fusionar estas tablas en una sola. Esto se puede lograr mediante Combinar consulta como nuevo en Power Query.

vnuocmsft_3-1709517126339.png

Crear una medida para el cálculo de las calificaciones finales.

Final Grade = 
IF(
    SELECTEDVALUE(ConsolidatedGrades[PeriodA1]) > 5, 
    VALUES(ConsolidatedGrades[PeriodA1]), 
    IF(
        SELECTEDVALUE(ConsolidatedGrades[PeriodA2]) > 5, 
        VALUES(ConsolidatedGrades[PeriodA2]), 
        IF(
            SELECTEDVALUE(ConsolidatedGrades[PeriodA3]) > 5, 
            VALUES(ConsolidatedGrades[PeriodA3]), 
            BLANK()
        )
    )
)

O bien, puede crear una columna calculada.

Final Grades = 
IF(
    ConsolidatedGrades[PeriodA1] > 5, 
    ConsolidatedGrades[PeriodA1], 
    IF(
        ConsolidatedGrades[PeriodA2] > 5, 
       ConsolidatedGrades[PeriodA2], 
        IF(
            ConsolidatedGrades[PeriodA3] > 5, 
            ConsolidatedGrades[PeriodA3], 
            BLANK()
        )
    )
)

Aquí está el resultado.

vnuocmsft_4-1709517452111.png

Saludos

Nono Chen

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

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.