cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Frequent Visitor

Ordenar una columna de matriz dinámicamente en función de los totales

Tengo una matriz donde quiero ordenar tanto en las filas como en las columnas al mismo tiempo. Por lo tanto, esto llevaría a la cantidad más alta tanto para las filas como para las columnas que se encuentran en la esquina superior izquierda de una Matriz. Sin embargo, a partir de hoy no puedo ordenar la columna por los importes/medidas. La columna se ordenará alfabéticamente siempre que tenga una columna y un valor de fila.

Como puede ver en el archivo, quiero usar el grupo de productos como columna. Esta dimensión debe ordenarse en función de la suma de los importes. Al mismo tiempo, las filas también deben ordenarse en función de la suma de los importes que ya son.

He intentado crear una fórmula RANKX que se puede ver en la matriz inferior donde he clasificado correctamente los grupos de productos en función de su suma de la cantidad. Sin embargo, no puedo conseguir que funcione en la matriz, ya que tampoco quiero mostrar eso como una medida.

Además, una columna calculada no es una solución a esto, ya que debe ser dinámica. Además de esto, tendremos que ser capaces de filtrar en diferentes países que podrían tener diferentes pedidos en la suma de importe del grupo de productos. Como puede ver, para 'NO' el pedido será Grande, Pequeño, Medio. En la versión agregada, debe ser Pequeño, Grande, Medio.

El resultado deseado se coloca como una imagen a la derecha que creé manualmente en Excel. Sin embargo, el resultado deseado también debería funcionar al filtrar en los países.

Creo que la solución sería usar una medida RANKX e incorporarla de alguna manera en la matriz. ¿Cómo puedo hacer eso?

Tenga en cuenta también que esto necesita trabajar en un conjunto de datos mucho más grande, esto es sólo un pequeño ejemplo de cómo se ve nuestro problema de la vida real.

Archivo PBIX: https://drive.google.com/file/d/1F8rq5iF-nFYLlYHSydZYmG9KfVOFkJVm/view?usp=sharing

5 REPLIES 5
Super User IV
Super User IV

@matsL1730 , si intenta ordenar una columna en función del total (medida). Pero podemos ordenar Pequeño, Grande y mediano.

Cree una columna de ordenación y márquela como columna de ordenación para Grupo de productos .

https://docs.microsoft.com/en-us/power-bi/desktop-sort-by-column



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

¿Y cómo crearía una columna de ordenación que cambiaría dinámicamente en función de los filtros aplicados? No puedo simplemente ordenar Pequeño, Grande y Medio estáticamente. Como se ha dicho en el ejemplo, el orden cambiará dependiendo de cuándo filtre en los países, por lo que seguir su enlace no ayudará en este caso.

Hola @matsL1730 ,

Cree las siguientes columnas:

en la tabla de compras:

Total sum = SUMX(FILTER('Purchase','Purchase'[Product ID]=EARLIER(Purchase[Product ID])),'Purchase'[Amount])

En la tabla de productos:

Value = 
LOOKUPVALUE('Purchase'[Total sum],'Purchase'[Product ID],'Product'[Product ID],0)
Rank = RANKX(GROUPBY('Product','Product'[Product Group]),SUMX(FILTER('Product','Product'[Product Group]=EARLIER('Product'[Product Group])),'Product'[Value]),,DESC,Dense)
_Product Group = 'Product'[Product Group]

Y seleccione la columna "Grupo _Product">ordenar por rango:

Screenshot 2020-11-24 161638.png

A continuación, en la matriz, coloque las columnas "__Product" y "Rank" en el campo de columnas:

Screenshot 2020-11-24 161819.png

Finalmente verá:

Screenshot 2020-11-24 161859.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

No funciona dinámicamente, por ejemplo, cuando cambio el filtro a País , 'NO', entonces muestra "Pequeño" como el más grande, aunque no sea para NO específicamente. Pequeño es el más grande en un nivel agregado, pero necesita cambiar el rango y el orden dependiendo de los diferentes filtros que se pueden utilizar.

Hola @matsL1730 ,

Sí, dinámicamente no está disponible. Es una solución alternativa para clasificar la fila y la columna, agregando un orden de clasificación en el campo Columnas para que se clasifique según sea necesario, no podemos usar measure, es por eso que el rango no puede ser dinámico.

Saludos
Kelly

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

Helpful resources

Announcements
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Wave Release 2

Check out the updates in Power BI.

Overview of Power BI 2020 release wave 2!

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.