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 TOPN

Hola, chicos

He visto este video de youtube en un tiempo y me pregunté si sería posible tener tanto la información de "Otros" como el TOPN que se está filtrando. Por ejemplo, en la imagen adjunta a continuación muestro lo que pretendo calcular, pero aún no pude encontrar una manera de calcularlo, así que aquí estoy. 🙂

Sem título.png

Las medidas son las siguientes

En primer lugar, se crea un parámetro:

TopN = GENERATESERIES ( 1, 20, 1 )

A continuación, se creó el nombre Otros y se agregó a la tabla original:

Product Names = UNION ( ALLNOBLANKROW ( 'Product'[Product Name] ), { "Others" } )

Posteriormente, se crea una medida de fila visible para mostrar solo aquellas líneas que son más pequeñas o iguales al valor en el parámetro creado anteriormente (esto se establece en el panel Filtro de la tabla):

Visible Row = 
VAR Ranking = [Ranking]
VAR TopNValue = [TopN Value]
VAR Result =
    IF ( NOT ISBLANK ( Ranking ),
        ( Ranking <= TopNValue ) - ( Ranking = TopNValue + 1 ))
RETURN Result

El último paso fue crear la medida que calcula el total para "Otros":

Sales Amt = 
VAR SalesOfAll =
    CALCULATE ( [Sales Amount],
        REMOVEFILTERS ( 'Product Names' ))
RETURN IF ( NOT ISINSCOPE ( 'Product Names'[Product Name] ),

        -- Calculation for a group of products 
        SalesOfAll,

        -- Calculation for one product name
        VAR ProductsToRank = [TopN Value]
        VAR SalesOfCurrentProduct = [Sales Amount]
        VAR IsOtherSelected =
            SELECTEDVALUE ( 'Product Names'[Product Name] ) = "Others"
        RETURN
            IF (
                NOT IsOtherSelected,
                
                -- Calculation for a regular product
                SalesOfCurrentProduct,

                -- Calculation for Others
                VAR VisibleProducts =
                    CALCULATETABLE (
                        VALUES ( 'Product' ),
                        ALLSELECTED ( 'Product Names'[Product Name] )
                    )
                VAR ProductsWithSales =
                    ADDCOLUMNS (
                        VisibleProducts,
                        "@SalesAmount", [Sales Amount]
                    )
                VAR SalesOfTopProducts =
                    SUMX (
                        TOPN (
                            ProductsToRank,
                            ProductsWithSales,
                            [@SalesAmount]
                        ),
                        [@SalesAmount]
                    )
                VAR SalesOthers = 
                    SalesOfAll - SalesOfTopProducts
                RETURN
                    SalesOthers))

Ahora pregunto: ¿alguien sabe cómo calcular el TOPN filtrado para mostrarlo junto con los Otros en la misma tabla?

¡Gracias de antemano!

Archivo Pbi aquí

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@pedrohp503 aquí hay un enlace para descargar el archivo con la solución:
C0120: filtre los 3 productos principales con una fila para otros mediante DAX en Power BI.pbix

Tomé el archivo de su artículo y agregué la lógica para mostrar también el TopN filtrado.



2022-05-19 17_30_22-Re_ Need help on DAX function with measure vs colu... - Microsoft Power BI Commu.png


Full-Logo11.png

SpartaBI_3-1652115470761.png SpartaBI_1-1652115142093.png SpartaBI_2-1652115154505.png

Informe de presentación – Contoso by SpartaBI

Esto es exactamente lo que estaba buscando, amigo. Muchas gracias por la solución que proporcionaste

@pedrohp503 bienvenida 🙂

Syndicate_Admin
Administrator
Administrator

@PEDROHP503,

Para su requerimiento, me gustaría sugerirle que cree una variable con función de resumen para resumir registros de tabla con categorías y cálculos.

Luego, simplemente puede usar la función iteradora (por ejemplo, sumx, averagex) y las condiciones de filtro para aplicar el segundo efecto agregado y de filtro en él.

Enlaces de referencia:

Medir totales, la última palabra - Microsoft Power BI Community

Mi característica favorita de DAX: SELECTEDVALUE con switch | Grupo de usuarios de Winston-Salem Pow...

Saludos

Xiaoxin Sheng

Gracias por tu apoyo, amigo 🤝

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.