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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Filtrar dos tablas en función del ID y anular una medida

Hola

Quiero comprobar una columna de la tabla para obtener un valor para cada fila y, si el valor es 'No', cambie el resultado de una medida llamada 'Puntuación' a 0.

Referencia He intentado implementar mi solución basada en esta publicaciónFiltrar una tabla en KeyColumn - Devolver todas las filas donde otra columna tiene el mismo valor qu...

Esta es mi solución que falla porque no puede determinar un solo valor para la columna 7.1. Es por eso que creé el filtro. De modo que para cada ID comprobaría las columnas 7.1, 7.2 y 7.3 para "No" y, si eso es cierto, cambiaría la salida de la medida de puntuación a 0.

FilterIDs = 
VAR currentID =
    CALCULATE(MIN(Compliance[ID]), FILTER(ALL('Table IDs'), 'Table IDs'[ID] = SELECTEDVALUE('Table IDs'[ID])))

RETURN 
    CALCULATE(IF('Compliance'[7.1] = "No", 0, [Result]),
    FILTER( 'Quality Data', 
    COUNTROWS( CALCULATETABLE( 'Table IDs', Compliance[ID] = currentID))
            ))

Como referencia para calcular la puntuación, utilizo el resultado de dos medidas.

Resultado

Result = SUM('Quality Data'[Result])

Posible puntuación

Possible Score = 
       ( CALCULATE(
                    SUM(MarkReference[Mark]),
                    CROSSFILTER(MarkReference[Section],'Quality Data'[Section],Both)
        )
       )

Puntuación

Score = [Result] / [Possible Score]

Tabla 'Datos de calidad'

HankScorpio2_0-1739234117851.png

Tabla 'Cumplimiento'

HankScorpio2_1-1739234176206.png

Y Table IDs es una tabla de nada más que Id's.

¿Cómo puedo lograr este resultado y obtener un valor único?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@HankScorpio2 , Pruebe esto para obtener la puntuación

Puntuación=
calculate(SUM('Datos de calidad'[Resultado]), filter('Cumplimiento', 'Cumplimiento'[7.1] = "No" && Cumplimiento[ID] en valores('Identificadores de tabla'[ID])))

Hola @amitchandak

Lo cambié a

calculate(SUM('Quality Data'[Result]), filter('Compliance', NOT('Compliance'[7.1] = "No") && Compliance[ID] in values('Table IDs'[ID])))

Como quiero puntuaciones para los que no son no. ¿No es necesario poner otra condición para devolver 0 si es "No"?

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! Prices go up Feb. 11th.

Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors