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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Cómo obtener TopN+OurProducts, y el resto agrupados como otros. [Lea a continuación para obtener más información]

Por lo tanto, he podido obtener los productos TopN de la lista de productos, y el resto como otros. Creé una nueva tabla a partir de mi mesa principal e hice una relación 1:Many con ella. Código para la nueva tabla:

TopProducts = UNION(VALUES('LPO Combined Molecule Mo (2)'[Product]), ROW("Product", "Other"))

nueva medida que muestra los productos opN de la lista de productos, y el resto como otros:

Top N Value = 
Var TopNValue = 5

Var TopPProduct=
	TopN(TopNValue, ALLSELECTED(TopProducts), 'LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM])

Var AllValue = CALCULATE('LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM], ALLSELECTED(TopProducts))

Var OtherValue = AllValue - CALCULATE('LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM], TopPProduct)

Var TopNValue1 = CALCULATE('LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM], KEEPFILTERS(TopPProduct))

Var currentPProduct = SELECTEDVALUE(TopProducts[Product])

Return
IF(currentPProduct  = "Other", OtherValue, TopNValue1)

Además, tengo que mencionar que estoy usando una cortadora de fiambres. Por lo tanto, los productos que se muestran cambian según la categoría a la que pertenecen. Ahora mi pregunta es cómo puedo modificar esta medida para incluir siempre un determinado producto independientemente de que estén en el topN.

Aquí hay un ejemplo de mi tabla:

Afthab_0-1699814176827.png

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola @Afthab

¿Eres capaz de enviar los datos con los que estás trabajando? La razón por la que pregunto es que los $10,066,415 y los $5,891,691 son diferentes a la suma de la tabla de ejemplo que proporcionó anteriormente.

También es importante recordar que la medida se centra en el TopN y también en los productos "siempre incluidos". No estoy seguro de cómo se calcula el total de $10,066,415.

¿Necesitaría obtener una mejor comprensión de los datos de muestra si es posible?

Muchas gracias.

Theo

Syndicate_Admin
Administrator
Administrator

@TheoC,

Gracias por la solución. De hecho, esto me devuelve lo que quiero. Sin embargo, el total que se muestra no es el mismo que la suma total real. Vea la siguiente captura de pantalla:

Afthab_0-1699866909909.png

El primer valor es total y el segundo es nueva medida creada

Syndicate_Admin
Administrator
Administrator

@ThxAlot SQLBI es muy bueno en todos los aspectos. Sin embargo, no estoy seguro de que esto satisfaga las necesidades de lo que se ha preguntado en el segundo aspecto de la solicitud de @Afthab: "Ahora mi pregunta es cómo puedo modificar esta medida para incluir siempre un determinado producto independientemente de que estén en el topN".

Syndicate_Admin
Administrator
Administrator

Syndicate_Admin
Administrator
Administrator

Hola @Afthab

Intenta ajustar la medida para que incluyas IN en tu lógica. Es posible que necesite un poco de ajuste, pero dé lo siguiente y asegúrese de ajustarlo de acuerdo con su modelo:

Top N Plus OurProducts Value = 

VAR TopNValue = 5

VAR AlwaysProductsList = { "A", "B" , "C" ...} // Replace with your own products

VAR TopNPlusOurProducts = 

    UNION (
        TOPN ( TopNValue, ALLSELECTED ( TopProducts ) , 'LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM] ) , 
        FILTER ( ALL ( 'ProductTable' ) , 'ProductTable'[ProductColumn] IN AlwaysProductsList)
    )

VAR AllValue = CALCULATE ( 'LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM] , ALLSELECTED ( TopProducts ) )

VAR OtherValue = AllValue - CALCULATE ( 'LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM] , TopNPlusOurProducts )

VAR TopNPlusOurProductsValue = CALCULATE ( 'LPO Combined Molecule Mo (2)'[MAT 2023 Value SUM] , KEEPFILTERS ( TopNPlusOurProducts ) )

VAR CurrentProduct = SELECTEDVALUE ( TopProducts[Product] )

RETURN

IF ( CurrentProduct = "Other" , OtherValue , IF ( CurrentProduct IN OurProductsList , TopNPlusOurProductsValue , TopNPlusOurProductsValue ) )

Espero que ayude.

Theo

Helpful resources

Announcements
Fabcon_Europe_Social_Bogo

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors