Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
Estimados,
Quiero hacer una matriz de cliente (columnas) y articulo (filas). Tienen que aparecerme el top10 de cada una.
Puede ser que el cliente A sera el n° 5, y con el articulo 5° no tenga ninguna venta. En ese caso, me mostrara con valor 0. De esta forma vere oportunidades de mejora.
La pregunta es, como puedo hacer que las filas y columnas respeten el orden del ranking global?
Hay alguna visual que me de ordenes personalizados a las columnas y filas?
Desde ya gracias.
Sds.
Hi @TesterDiseño ,
Gracias por ponerse en contacto con el foro de la comunidad de Microsoft Fabric.
Para ordenar una matriz en Power BI por las ventas totales de cada cliente para el año 2022, empiece por crear una tabla de calendario y crear una relación con la tabla de ventas mediante la columna Fecha. A continuación, defina una medida de DAX para clasificar a los clientes en función de sus ventas de 2022 mediante la fórmula:
Aquí está el DAX :
Rango 2022 = SI(ISINSCOPE(Ventas[Cliente]), RANKX(TODOS(Ventas[Cliente]), CALCULAR(SUMA(Ventas[Valor de ventas]), 'Calendario'[Año] = 2022), , DESC, OMITIR))
Agregue un objeto visual de matriz con Cliente en filas, Producto en columnas (opcional) y Valor de ventas en el área Valores.
Incluya la medida Clasificación 2022 (ya sea en Valores o en Información sobre herramientas) y, a continuación, ordene la matriz por Clasificación 2022 en orden descendente. Este enfoque muestra los clientes ordenados por sus ventas totales en 2022, incluso si se aplican otras segmentaciones
Encuentre el archivo pbix adjunto para su referencia.
Saludos
Tejaswi.
Apoyo de la comunidad
V-tejrama,
Muchas gracias por tu respuesta.
Saludos.
Hi @TesterDiseño ,
¿Con solo registrarse, ha podido resolver este problema? Si es así, le agradecería mucho que marcara la respuesta más útil en consecuencia. Esto ayuda a otros miembros de la comunidad a encontrar rápidamente soluciones relevantes.
Gracias.
Gracias por la respuesta. No es exactamente lo que busco. Paso un ejemplo para dar claridad.
En una matriz de 2000 clientes y 20.000 articulos.
Quiero sacar el top5 de cada uno y ver como participan entre si.
Datos de ejemplo:
| Ventas por Cliente (Ranking Global) | ||
| Clasificación Global | Cliente | Venta |
| 1 | Juan | $ 100,00 |
| 2 | Pedro | $ 90,00 |
| 3 | Mario | $ 80,00 |
| 4 | Jose | $ 70,00 |
| 5 | Mario | $ 60,00 |
| Ventas por Articulo (Ranking Global) | ||
| Clasificación Global | Articulo | Venta |
| 1 | Silla | $ 1.500,00 |
| 2 | Mesa | $ 950,00 |
| 3 | Ropero | $ 850,00 |
| 4 | Surco | $ 710,00 |
| 5 | Cama | $ 600,00 |
Matriz a generar:
| Matriz | |||||
| Juan | Pedro | Mario | Jose | Mario | |
| Silla | $ 10,00 | $ 0,00 | $ 10,00 | $ 0,00 | $ 4,00 |
| Mesa | $ 8,00 | $ 0,00 | $ 5,00 | $ 0,00 | $ 5,00 |
| Ropero | $ 0,00 | $ 0,00 | $ 4,00 | $ 0,00 | $ 0,00 |
| Surco | $ 12,00 | $ 0,00 | $ 0,00 | $ 0,00 | $ 0,00 |
| Cama | $ 0,00 | $ 0,00 | $ 0,00 | $ 20,00 | $ 1,00 |
Para hacer la matriz, tengo el detalle de como esta compuesta por articulo/cliente los valores que estan indicados en los ranking globales.
Necesito que en funcion de estos ranking globales, se ordenen las columnas y las filas. Va haber mas de una columna.
Inclusive, lo trataria de ver en una headmap para que visualmente se vean oportunidades de mejora. En las medidas nativas de power bi no encontre como hacerlo.
Desde ya muchas gracias por la ayuda.
Gracias por la aclaración, esto no se puede hacer de forma nativa solo con el objeto visual de matriz de Power BI, ya que no permite TopN dinámico en filas y columnas simultáneamente. Puede ser que pueda intentarlo con posiblemente una imagen personalizada que pueda lograr.
gráficos personalizados como: xViz Heatmap, Deneb.
Deneb: Visualización declarativa en Power BI | Deneb
Espero que la información anterior ayude.
Muchas gracias por la respuesta.
Probe con Deneb, pero me encontre con el siguiente inconveniente.
Creo una medida para ver el ranking total de cliente y de articulo, y cargo la misma en Denebe junto con las otras variables.
Cuando defino que clientes y articulos va mostrarme, si utilizo "||" me trae muchos mas de 10, me trae todos los de la seria. Si utilizo "&&" como separador, me trae solo 10, pero de existiir algun articulo del top10 que no se cruce con ningun cliente del top10, me lo saltea, lo excluye del ranking, por mas que forme parte de los 10 del ranking global. Lo mismo para con cliente, si tengo un cliente del rankin 10, que no ha comprado ninguno de los articulos del ranking 10, me lo exlcuye.
En la muestra de datos de ejemplo que pase, "Pedro" seria excluido con con el separador "&&" (and), me traeria otro, teniendo al mismo por inexistente por ser blank.
Si le pongo "||" (or) me traeria muchos mas registros.
Estuve dando vueltas en json y hasta busque mejorar el codigo con las IA, pero no consegui resolverlo. Tal vez si hubiera una forma en json de limitar los campos/filas que aparecen podria usarlo con "||", aunque tengo entendido que Deneb no lo permite.
Muchas gracias por la molestia.
Hola @TesterDiseño - A continuación se muestran algunos de los hilos resueltos y el enlace de YT:
Resuelto: N superior dentro de la tabla de matrices - Microsoft Fabric Community
Espero que esto ayude.
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!
Check out the July 2026 Power BI update to learn about new features.