cancel
Showing results for 
Search instead for 
Did you mean: 
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
Vote for T-Shirt Design

Power BI T-Shirt Design Challenge 2023

Vote for your favorite t-shirt design now through March 28.

March 2023 Update3

Power BI March 2023 Update

Find out more about the March 2023 update.

March Events 2023A

March 2023 Events

Find out more about the online and in person events happening in March!