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

View all the Fabric Data Days sessions on demand. View schedule

Reply
Syndicate_Admin
Administrator
Administrator

Medir el comportamiento en Matrix Visual

Hola

Estoy creando una medida (expresión en la parte inferior de la publicación) para decirme el porcentaje de elementos que se completaron a tiempo. Con ese fin, tengo una columna calculada que es básicamente [# sí] / ([# sí] + [# no]. Sin embargo, cuando puse esta introducción en una matriz visual para validar la respuesta, esto es con lo que terminé:

image.png

Esto me confunde porque pensé que la medida se calcularía independientemente para cada fila, por lo que terminaría con 100% en la fila 'Sí' y 0% en las filas 'No' y 'N/A'.

Soy relativamente novato en Power BI y DAX, así que supongo que me falta algo aquí. ¿Por qué esto no se comporta como creo que debería? ¿Qué cambios habría que hacer para que funcione de esa manera?

¡Gracias por tu ayuda!

% Programs Completed On Time =
    CALCULATE(
        DISTINCTCOUNT('Table - PROGRAMS'[ID]),
        && 'Table - PROGRAMS'[PROGRAM_STATUS] = "Completed"
        && 'Table - PROGRAMS'[PROGRAM_COMPLETED_ON_TIME] = "Yes"
    )
    /
    CALCULATE(
        DISTINCTCOUNT('Table - PROGRAMS'[ID]),
        && 'Table - PROGRAMS'[PROGRAM_STATUS] = "Completed"
        && 'Table - PROGRAMS'[PROGRAM_COMPLETED_ON_TIME] IN {"Yes", "No"}
    )

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@pbiuser12345 Es porque está intentando usar CALCULATE con una sola tabla. Eso tiende a no funcionar. Ditch CALCULATE puede ir con COUNTROWS(DISTINCT(FILTER(...)))

Gracias Greg, eso me puso en el camino correcto. La siguiente expresión está funcionando de la manera que hubiera esperado.

Sin embargo, no estoy seguro de entender el "por qué" de esto. ¿Eres capaz de elaborar o señalarme algo que explique por qué CALCULAR es malo en una sola mesa? ¿Debo considerar que es una buena práctica reservar CALCULATE para medidas que abarcan varias tablas y apegarme a funciones más básicas/fundamentales para aplicaciones de tabla única?

% Programs Completed On Time = 
    COUNTROWS(
        FILTER(
            'Table - PROGRAMS',
            && 'Table - PROGRAMS'[PROGRAM_STATUS] = "Completed"
            && 'Table - PROGRAMS'[PROGRAM_COMPLETED_ON_TIME] = "Yes"
        )
    )
    /
    COUNTROWS(
        FILTER(
            'Table - PROGRAMS',
            && 'Table - PROGRAMS'[PROGRAM_STATUS] = "Completed"
            && 'Table - PROGRAMS'[PROGRAM_COMPLETED_ON_TIME] IN {"Yes", "No"}
        )
    )

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.

Top Kudoed Authors