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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

SUMA de los N elementos TOP en una tabla por recuento

Digamos que tengo una columna en una tabla:

Animal
Gato
Caballo
Perro
Caballo
Gato
Gato

Quiero que un código DAX devuelva la SUMA de los 2 elementos TOP (en este caso) de la columna por recuento.

En este caso, el gato aparece 3 veces, el caballo aparece 2 veces, el perro aparece una vez. Así que me gustaría que toda la función devolviera 5.

Puedo hacer esto fácilmente usando el panel de filtros en PowerBI y seleccionando TOP N. Sin embargo, este cálculo sería un paso intermedio. El resultado final que quiero es el % de las contribuciones top N al total de elementos de una lista. En este caso, el top 2 es 5. El número total es 6. Por lo tanto, el % de contribución TOP 2 para la columna es 5/6 = 83.33%.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @rnian18 ,

Creé un archivo pbix de muestra (ver archivo adjunto) para usted en función de los datos proporcionados, verifique si eso es lo que desea.

1. Cree una medida como la siguiente para obtener el recuento de animales

Count of Animal = CALCULATE(COUNT('Table'[Animal]))

2. Cree una medida como la siguiente para obtener el porcentaje

% of TopN in Total = 
VAR _TopN = 2
VAR ranking =
    VALUES ( 'Table'[Animal] )
VAR _topncount =
    CALCULATE (
        [Count of Animal],
        TOPN ( _TopN, ALL ( 'Table'[Animal] ), [Count of Animal] ),
        ranking
    )
VAR _allcount =
    CALCULATE ( COUNT ( 'Table'[Animal] ), ALLSELECTED ( 'Table' ) )
RETURN
    DIVIDE ( _topncount, _allcount, 0 )

yingyinr_0-1647246004474.png

Además, puede consultar el método en el siguiente enlace para obtenerlo.

Power BI: calcular la medida porcentual en función de la selección de N superior

PercentTop2 =
    DIVIDE(
        SUMX(
            TOPN(2,
                SUMMARIZECOLUMNS(Companies[Company],
                    "Amount", SUM(Companies[Amount])),
                [Amount]),
            [Amount]),
        SUMX(ALLSELECTED(Companies), Companies[Amount]))

Saludos

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hay @rnian18 ,

Creé un archivo pbix de muestra (ver archivo adjunto) para usted en función de los datos proporcionados, verifique si eso es lo que desea.

1. Cree una medida como la siguiente para obtener el recuento de animales

Count of Animal = CALCULATE(COUNT('Table'[Animal]))

2. Cree una medida como la siguiente para obtener el porcentaje

% of TopN in Total = 
VAR _TopN = 2
VAR ranking =
    VALUES ( 'Table'[Animal] )
VAR _topncount =
    CALCULATE (
        [Count of Animal],
        TOPN ( _TopN, ALL ( 'Table'[Animal] ), [Count of Animal] ),
        ranking
    )
VAR _allcount =
    CALCULATE ( COUNT ( 'Table'[Animal] ), ALLSELECTED ( 'Table' ) )
RETURN
    DIVIDE ( _topncount, _allcount, 0 )

yingyinr_0-1647246004474.png

Además, puede consultar el método en el siguiente enlace para obtenerlo.

Power BI: calcular la medida porcentual en función de la selección de N superior

PercentTop2 =
    DIVIDE(
        SUMX(
            TOPN(2,
                SUMMARIZECOLUMNS(Companies[Company],
                    "Amount", SUM(Companies[Amount])),
                [Amount]),
            [Amount]),
        SUMX(ALLSELECTED(Companies), Companies[Amount]))

Saludos

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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