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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

valores de grupo basados en una condición

Hola, chicos

Tengo el siguiente conjunto de datos:

FECHA IDENTIFICACIÓN categoríaEstado
01/02/2021 001 aaDE ACUERDO
02/02/2021 001 BbDE ACUERDO
02/02/2021 001 CcDE ACUERDO
03/02/2021 002 aaDE ACUERDO
04/02/2021 002 BbKO
09/02/2021 002 CcDE ACUERDO
10/02/2021 003 aaDE ACUERDO
11/02/2021 003 ccbbDE ACUERDO
12/02/2021 003 CcDE ACUERDO

Quiero crear una matriz que cuente mis IDs pero de forma distinta, y quiero mostrar "KO" si al menos un valor del estado es KO

en el ejemplo que se muestra arriba, sería así:

001 | DE ACUERDO

002 | KO

003 | DE ACUERDO

Mi objetivo final es crear una matriz en la que pueda contar mi OK y KO siguiendo la lógica anterior.

¡gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Intente usar la medida equivalente como filtro en el panel de filtros para la configuración visual del valor en 1:

Filtered Status =
VAR StatusValues =
    VALUES ( 'Table'[ID] )
VAR KOValues =
    CALCULATETABLE ( VALUES ( 'Table'[ID] ), 'Table'[Status] = "KO" )
VAR OKTable =
    ADDCOLUMNS ( EXCEPT ( StatusValues, KOValues ), "Stat", "OK" )
VAR KOTable =
    ADDCOLUMNS ( KOValues, "Stat", "KO" )
VAR FiltTable =
    UNION ( OKTable, KOTable )
RETURN
    COUNTROWS (
        INTERSECT ( SUMMARIZE ( 'Table', 'Table'[ID], 'Table'[Status] ), FiltTable )
    )

Result.PNG

He adjuntado el archivo PBIX de ejemplo



View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Puede agregar una columna calculada que aplique la regla en la granularidad del ID.

StatusID =
VAR AllStatus =
    CALCULATE ( VALUES ( Table1[Status] ), ALLEXCEPT ( Table1, Table1[ID] ) )
RETURN
    IF ( "KO" IN AllStatus, "KO", "OK" )

No puedo decir lo que estás tratando de contar, pero esta columna podría hacerlo más fácil.

Syndicate_Admin
Administrator
Administrator

Intente usar la medida equivalente como filtro en el panel de filtros para la configuración visual del valor en 1:

Filtered Status =
VAR StatusValues =
    VALUES ( 'Table'[ID] )
VAR KOValues =
    CALCULATETABLE ( VALUES ( 'Table'[ID] ), 'Table'[Status] = "KO" )
VAR OKTable =
    ADDCOLUMNS ( EXCEPT ( StatusValues, KOValues ), "Stat", "OK" )
VAR KOTable =
    ADDCOLUMNS ( KOValues, "Stat", "KO" )
VAR FiltTable =
    UNION ( OKTable, KOTable )
RETURN
    COUNTROWS (
        INTERSECT ( SUMMARIZE ( 'Table', 'Table'[ID], 'Table'[Status] ), FiltTable )
    )

Result.PNG

He adjuntado el archivo PBIX de ejemplo



Syndicate_Admin
Administrator
Administrator

Gracias por la respuesta!!! "_1" y "_2" son cadenas? o ¿puedo usar números?

Syndicate_Admin
Administrator
Administrator

@IntelligentM , Pruebe una medida como

maxx(summarize( Table, Table[ID], "_1", max(Table[Status]), "_2", calculate(Max(Table[Status]), filter(Table, Table[Status] ="KO"))) , if(not(Isblank(_2)), _2,_1))

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors