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
Anonymous
Not applicable

Devolver la categoría más grande en función de una suma

Hola

Estoy buscando una (esperemos) medida DAX simple para resolver el siguiente problema.

Tengo una gama compuesta por un número de empleados, un producto elegido y sus ahorros en cada producto. En una tabla diferente, necesito crear una medida que devuelva el nombre del producto que contiene la mayor suma combinada de ahorros. Por ejemplo, la Persona 1, esto sería "Producto B", porque los 750.000 en el Producto B superan los 500.000 del Producto A (si hubiera sido contrario, la medida debería devolver el "Producto A").

Sample.png

Estoy trabajando en PowerPivot en Excel 2013 y anteriormente he confiado en "FIRSTNONBLANK" ya que los rangos no han contenido valores de dulicado. Sin embargo, esa solución ya no es suficiente. Cualquier ayuda es muy apreciada.

¡Gracias!

3 ACCEPTED SOLUTIONS

Hola @Phil123456789,

Excel y power bi utilizan lógica y estructura diferentes para almacenar tablas de datos.

Tal vez pueda intentar convertir la tabla en la tabla de consulta y usar la 'consulta M' para crear una consulta de referencia para resumir los registros de tabla sin procesar.

let
    Source = RawTable,//change to your query table name
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Product", type text}, {"Amount", Int64.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Name", "Product"}, {{"Total", each List.Sum([Amount]), type nullable number}}),
    #"Grouped Rows1" = Table.Group(#"Grouped Rows", {"Name"}, {{"Count", each Table.LastN(_, 1), type table}}),
    #"Expanded Count" = Table.ExpandTableColumn(#"Grouped Rows1", "Count", {"Product", "Total"}, {"Product", "Total"})
in
    #"Expanded Count"

1.png
saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

Ashish_Mathur
Super User
Super User

Hola

Estas medidas funcionan

Importe total: SUM(Datos[Cantidad])

Producto superior: FIRSTNONBLANK ( TOPN ( 1, VALUES ( Data[Product] ), [Importe total] ), 1 )

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

View solution in original post

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

View solution in original post

16 REPLIES 16
Ashish_Mathur
Super User
Super User

Hola

Estas medidas funcionan

Importe total: SUM(Datos[Cantidad])

Producto superior: FIRSTNONBLANK ( TOPN ( 1, VALUES ( Data[Product] ), [Importe total] ), 1 )

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

Disculpas por mi respuesta retrasada, no tuvo la oportunidad de tratar de implementar las sugerencias.

@Ashish_Mathur,la solución funcionó perfectamente, gracias. Y también, gracias a todos los demás que vinieron con sugerencias, muy apreciado!

De nada.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

@Ashish_Mathur,seguimiento rápido de esto.

¿Hay una manera fácil de agregar una condición a la fórmula de que la clasificación está condicionada a que el producto no esté en blanco?

Recientemente tuvo un caso en el que faltaba un producto, pero como contenía el valor más grande, se devolvió un espacio en blanco.

¡Gracias!

Hola

Comparta algunos datos y muestre el resultado esperado.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

@Ashish_Mathur,por favor vea a continuación

Phil123456789_0-1604304560766.png

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

Gracias @Ashish_Mathur,exactamente lo que estaba buscando

De nada.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
FrankAT
Community Champion
Community Champion

Hola @Phil123456789

eche un vistazo a la siguiente solución:

24-09-_2020_19-48-41.png

Max Amount = 
Var _Rank = RANKX(ALL('Table'[Product]),[Sum of Amount],,DESC)
RETURN
    IF(_Rank = 1, [Sum of Amount], BLANK())

Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

Anonymous
Not applicable

Gracias @FrankAT,trabajó un encanto en PowerBI.

Sin embargo, al intentar convertir la fórmula a Excel PowerPivot, no puedo hacer que funcione.

Creo que el problema es que Excel no le permitirá devolver una cadena de texto en una tabla dinámica (a menos que se utilice con, por ejemplo, FIRSTNONBLANK).

¿Cómo ajusto la fórmula, para obtener la fórmula para devolver el producto correcto como una cadena de texto (no necesito mostrar las cantidades reales en la tabla, solo el producto)?

Hola @Phil123456789,

Excel y power bi utilizan lógica y estructura diferentes para almacenar tablas de datos.

Tal vez pueda intentar convertir la tabla en la tabla de consulta y usar la 'consulta M' para crear una consulta de referencia para resumir los registros de tabla sin procesar.

let
    Source = RawTable,//change to your query table name
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Product", type text}, {"Amount", Int64.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Name", "Product"}, {{"Total", each List.Sum([Amount]), type nullable number}}),
    #"Grouped Rows1" = Table.Group(#"Grouped Rows", {"Name"}, {{"Count", each Table.LastN(_, 1), type table}}),
    #"Expanded Count" = Table.ExpandTableColumn(#"Grouped Rows1", "Count", {"Product", "Total"}, {"Product", "Total"})
in
    #"Expanded Count"

1.png
saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
amitchandak
Super User
Super User

@Phil123456789 , Basado en lo que tengo

Crear una medida de rango y filtrar rango n.o 1

medida de rango ?

Rankx(all(Table[product]), calculate(Sum(Table[Amount])))

Anonymous
Not applicable

Gracias @amitchandak, fórmula parece funcionar.

Sin embargo, dado que uso los nombres ("Persona 1", "Persona 2", etc.) como filtro de fila en la tabla dinámica, solo se devuelve un producto como valor. Por lo tanto, la función rank simplemente devuelve "1" para todos los empleados, y por lo tanto no es posible filtrar.

¿Alguna sugerencia alternativa?

@Phil123456789, este trabajo de clasificación de cómo medir. El que sugerí creará un solo rango si se usa con el producto y si se usa con el empleado se meterá dentro del empleado.

Inténtalo como

RANKX (
FILTRO(
ALL( //////////Or allselected
'Tabla'[empleado],
'Tabla'[producto]
),
'Table'[empleado] á MAX('Table'[empleado])
),
CALCULATE(SUM('Table'[Amount]))
)

Para rango Consulte estos enlaces
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/3...

Anonymous
Not applicable

Gracias @amitchandak,voy a echar un vistazo a los enlaces.

No estoy seguro de cómo funciona la medida propuesta, ya que requiere tomar MAX de empleado, que es una cadena.

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