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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Syndicate_Admin
Administrator
Administrator

N superior en datos filtrados

¡Hola!

Estoy trabajando en un conjunto de datos para un negocio de moda. En mi conjunto de datos, tengo una dimensión para "Estilo" y una dimensión de calendario.

También tengo una medida para "Stock" que detalla cuánto de un estilo determinado está en stock, junto con varias otras métricas de stock y ventas

Estoy tratando de crear una lista de estilos con alto stock y baja venta. He creado una medida llamada Sellthrough%, que analiza las cantidades de existencias al principio del período seleccionado, las cantidades vendidas en el período y las divide para obtener un porcentaje.

Lo que ahora estoy tratando de crear es una imagen que detalle los N estilos principales (en relación con el stock) por debajo de un cierto umbral de venta:

EstiloAcciónVenta directa
Estilo B12.00041%
Estilo A10.00049%
Estilo C8.00036%

Esto es lo que funciona:

  • Puedo crear el visual sin filtrar muy bien
  • Puedo agregar filtros para que mi tabla no contenga valores fuera de ciertos umbrales de existencias y ventas directas (por ejemplo, "Las existencias son mayores que 100", "El porcentaje de ventas directas es inferior al 50%") y ordenar por existencias. Esto devuelve el resultado deseado, excepto que la lista es demasiado larga
  • Puedo filtrar mi objeto visual para mostrar solo los N estilos principales por stock

Sin embargo, si filtro por encima de N (stock) y filtro por umbrales de venta al mismo tiempo, la tabla devuelve pocos o ningún resultado. Efectivamente, puedo crear la imagen exacta que quiero, simplemente no puedo acortarla a N elementos sin eliminar primero mi filtro Sellthrough% (lo que anula el propósito)

Supongo que mi filtro en la medida Sellthrough (que se basa en stock) y el filtro top N (stock) están interfiriendo entre sí, por lo que hay poca o ninguna superposición entre los resultados en el filtro "top N" y los resultados en el filtro "Sellthrough%", lo que significa que se devuelven pocos o ningún resultado. Me gustaría devolver el N superior del conjunto de datos filtrado .

Hay decenas de miles de estilos en mi conjunto de datos, por lo que no se debe a menos de N resultados posibles.

Esto es lo que he probado:

  • Cree una medida de rankx basada en el stock y utilícela como filtro Top N (mismo resultado)
  • Creación de una medida de N superior basada en el stock
    • Casi funciona. Devuelve los n resultados superiores correctos y nada más, pero dado que tengo otras medidas en mi tabla (por ejemplo, Sellthrough%), la imagen aún contiene todos los estilos y no solo los N superiores
    • El filtrado de la medida N superior produce pocos o ningún resultado

Estas son las medidas que he creado para tratar de resolver el problema:

Sellthrough % = 
var _min = minx('Calendar','Calendar'[Date])
Return
DIVIDE([Sales Quantity],
CALCULATE([Stock Quantity],'Calendar'[Date]=_min))

_TOP 8 Styles = CALCULATE([Stock],TOPN(8,ALLSELECTED(Style),[Stock],DESC),VALUES(Style))

_rankStock = RANKX(ALLSELECTED('Style'),[Stock],,DESC,Dense)

¡Espero que alguien pueda ayudarme a entender lo que está pasando!

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

No proporcionó su modelo, por lo que asumo que necesita una medida para el stock al comienzo del período:

InitialStock =
CALCULATE(
[Stock Quantity],
FILTER(ALL('Calendar'), 'Calendar'[Date] = MIN('Calendar'[Date]))
)

Ya tiene una medida para el porcentaje de ventas, así que aquí hay una medida actualizada:

Sellthrough% =
DIVIDE([Sales Quantity], [InitialStock], 0)



y para Top N Filtrado por Stock:

TopNStock =
CALCULATE(
[Stock Quantity],
TOPN(8, ALL('Style'), [Stock Quantity], DESC)
)



y:

RankByStock =
RANKX(ALL('Style'), [Stock Quantity], , DESC, Dense)



A continuación, cree una tabla o medida calculada que tenga en cuenta tanto el filtro de ventas directas como el filtro de acciones N superiores:

FilteredStyles =
CALCULATETABLE(
VALUES('Style'),
FILTER(
ALL('Style'),
[Sellthrough%] < 0.5 && [RankByStock] <= 8
)
)

¡Muchas gracias por tomarse el tiempo de responder!

No estoy seguro de lo que quiere decir con "proporcione su modelo". Estoy trabajando en un modelo semántico de Power BI si eso ayuda.

El CALCULATETABLE sugerido no parece funcionar para mí, recibo el siguiente error:

Snymoen_0-1721300231017.png


Si bien no estoy familiarizado con el funcionamiento de CALCULATETABLE, me preocupa que la solución no funcione, ya que RankByStock clasifica todos los estilos, lo que significa que los 8 estilos principales de mi tabla pueden no tener un rango < = 8.

Vea el ejemplo de visual antes de limitar a N superior:

Snymoen_1-1721300508229.png

He censurado parcialmente los nombres de estilo por seguridad

Por modelo me refiero a sus tablas de datos y dimensiones.

Muy bien, creo que te entiendo. Aquí están las cuatro tablas de datos que tengo en uso.

Snymoen_0-1721372972081.png

Están conectados a través de CalendarID y StyleID

Es probable que todo el modelo sea demasiado enrevesado para publicarlo de manera significativa:

Snymoen_1-1721373033562.png

Hola @Snymoen

Gracias por la respuesta de @AmiraBedh .

@Snymoen , ¿Desea mostrar las 8 principales clasificaciones de acciones en la visualización? Pruebe lo siguiente:

MEASURE = 
VAR _rankStock = RANKX(ALL('Style'),[Stock],,ASC,Dense)
RETURN
IF(_rankStock <= 8, 1, 0)

Coloque la medida en los filtros de nivel visual, configure mostrar elementos cuando el valor sea 1.

La medida anterior también se puede utilizar como condición de cribado para otras fórmulas.

Si aún tiene preguntas, comparta los datos de muestra y los resultados esperados de las tablas que utilizó, así como las fórmulas utilizadas. Cómo proporcionar datos de ejemplo en el foro de Power BI - Microsoft Fabric Community Los datos de ejemplo solo deben incluir las columnas que se utilizan. Podemos entender mejor el problema y ayudarle. O muéstralos como capturas de pantalla. Elimine cualquier dato confidencial por adelantado.

Saludos
Yulia Xu

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.