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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors