La solicitud

De Samantha Price, VP de Merchandising
Tu objetivo
La matriz tiene 'Date'[Year] en las filas y la medida [Sales] del informe. Crea una medida llamada Top 5 Sales: el [Sales] de los cinco productos (por products[name]) con el [Sales] más alto en el periodo de la celda.
- Llena
[Top 5 Sales]en cada fila del visualpendiente - También la fila Total correctapendiente
Tu medida
- Visual
- A matrix: rows = 'Date'[Year]; values = [Sales], [Top 5 Sales]
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
Panel de datos: tablas y columnas
- order_items order_item_id, order_id, product_id, quantity, unit_price, discount_pct, line_total
- orders order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code
- products product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active
- customers customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source
- returns return_id, order_item_id, returned_on, reason, refund_amount
- Date Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday
Cargando el editor…
Solución de referencia
| Year | Sales | Top 5 Sales |
|---|---|---|
| 2,023 | $1,600,511 | |
| 2,024 | $1,993,604 | |
| 2,025 | $2,300,170 | |
| Total | $5,894,284 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Lo que recibe Samantha, y por qué
La lección
La pregunta de Samantha es de concentración: si los cinco productos más vendidos generan una gran parte del año, el negocio queda expuesto a que cualquiera de ellos se agote. El número que necesita es “ventas, pero solo de los cinco mejores productos”, y esos cinco cambian de un año a otro.
Dónde estás trabajando
Este es un informe de práctica creado para este sitio, no Power BI: Power BI Desktop solo funciona en Windows. Un motor DAX en la página evalúa tu medida en cada celda de la matriz siguiendo las reglas de Power BI. En Power BI Desktop: Inicio → Nueva medida (Home → New measure), escribe la fórmula y suelta Top 5 Sales junto a Sales en la matriz.
TOPN devuelve una tabla
TOPN(5, ALL(products[name]), [Sales])
5es cuántas filas conservar.ALL(products[name])es la tabla de la que se elige: todos los nombres de producto.[Sales]es la expresión que la ordena, evaluada una vez por nombre. Como cualquier referencia a una medida dentro de un iterador, recibe una transición de contexto, así que cada nombre obtiene sus propias ventas. El orden predeterminado es descendente: primero el más alto.
TOPN no devuelve un número; devuelve una tabla de cinco filas. Los empates en el punto de corte pueden devolver más de cinco filas. Una tabla sola no cabe en la celda de una matriz, así que la usas como filtro.
Una tabla como filtro de CALCULATE
Top 5 Sales =
CALCULATE(
[Sales],
TOPN(5, ALL(products[name]), [Sales])
)
CALCULATE acepta una tabla como argumento de filtro: los cinco nombres pasan a ser los únicos
permitidos, y [Sales] se calcula para esos productos. Todo lo demás del contexto de la celda se
mantiene. En la fila de 2024 el filtro de año sigue ahí, así que TOPN clasifica los productos por sus
ventas de 2024 y el [Sales] exterior suma sus ventas de 2024.
Por qué el Total no es la suma de las filas
La fila Total no tiene filtro de año. TOPN elige los cinco mejores productos entre 2023 y 2025, que no son los mismos cinco de ningún año por separado, y suma sus ventas de los tres años. Es correcto para esa pregunta, y es distinto de sumar las tres filas.
Convertirlo en una participación
Divide entre el todo para obtener la razón de concentración que la junta leerá de verdad:
Top 5 Share = DIVIDE([Top 5 Sales], [Sales])
Errores comunes
- Sin ALL. Si los productos están en las filas del visual,
VALUES(products[name])contiene un nombre y el “top 5” es solo ese producto. - Ordenar por una columna.
TOPN(5, ALL(products[name]), products[unit_price])no puede leer un precio de una lista de nombres, y aun con la tabla products completa clasificaría por precio, no por lo que se vendió. - TOPN solo, como medida. Una medida debe devolver un valor; TOPN devuelve una tabla.
¡Linterna encendida!
Practicaste: topncalculatealltable functionsconcentration
- Resuelto
- Sin pistas
- Al primer intento
