Nivel 1 · Qué le hace una segmentación a una medida
¿Es nuevo para ti? Lee primero el concepto: Cada clic es un filtro
0 de 3
La solicitud

De Rachel Moreno, Gerente regional de ventas
Tu objetivo
La matriz tiene products[category] en las filas; las segmentaciones seleccionan 'Date'[Year] = 2025 y orders[channel] = web. El informe ya tiene Sales (solo pedidos completados). Crea una medida llamada All Channel Sales que devuelva Sales de todos los canales: debe ignorar la segmentación de canal pero seguir respetando la de año y la categoría de cada fila.
- Llena
[All Channel Sales]en cada fila del visualpendiente - También la fila Total correctapendiente
Tu medida
- Visual
- A matrix: rows = products[category]; values = [Sales], [All Channel Sales]
- Segmentaciones
- 'Date'[Year] = 2025orders[channel] = web
- 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
| category | Sales | All Channel Sales |
|---|---|---|
| Decor | 121,360.48 | |
| Furniture | 261,924.1 | |
| Kitchen | 120,343.39 | |
| Lighting | 156,002.69 | |
| Outdoor | 219,252.66 | |
| Textiles | 101,463.46 | |
| Total | 980,346.78 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Lo que recibe Rachel, y por qué
La lección
Una segmentación parece un control de la página, pero para DAX es simplemente un filtro. Elige web
y Power BI añade orders[channel] = "web" al contexto de filtro de cada visual al que llega la
segmentación. Tus medidas no saben que existe una segmentación; solo ven menos filas.
Dónde estás trabajando
Este es un informe de práctica, no Power BI: Power BI Desktop solo funciona en Windows, así que la página te da el modelo de la tienda, una matriz y las selecciones de las segmentaciones escritas encima (año 2025, canal web). Un motor DAX creado para este sitio evalúa tu medida en cada celda con esos filtros activos y compara cada celda con la respuesta.
Para hacerlo de verdad en Power BI Desktop: añade una segmentación desde Visualizaciones →
Segmentación de datos (Visualizations → Slicer), suelta orders[channel] en su pozo Campo
(Field) y elige web. Luego selecciona una tabla en el panel Datos (Data), Inicio → Nueva
medida (Home → New measure), escribe la fórmula y arrastra la medida a Valores (Values) de la
matriz.
Cómo llega una segmentación a una medida
Para la fila Furniture en 2025, [Sales] se evalúa con tres filtros: categoría = Furniture (la fila),
año = 2025 (una segmentación, a través de la tabla Date) y canal = web (la otra segmentación). Son
$261,924. Todos los visuales de la página reciben los mismos filtros de segmentación a menos que cambies
sus interacciones (nivel 3).
Normalmente eso es justo lo correcto. A veces un número debe quedarse fijo mientras el lector hace clic: un denominador para una participación, una línea de meta, “todos los canales” para comparar.
Quitar un solo filtro
CALCULATE evalúa una expresión en un contexto de filtro modificado. Sus argumentos de filtro pueden
añadir filtros, reemplazarlos o quitarlos:
All Channel Sales = CALCULATE([Sales], REMOVEFILTERS(orders[channel]))
REMOVEFILTERS(orders[channel]) quita cualquier filtro sobre esa columna, venga de una segmentación,
de un encabezado de fila o del panel de filtros. La fila de categoría y la segmentación de año se
mantienen. En la fila Total la medida da $2,300,170: todo 2025, todos los canales.
ALL(orders[channel]) usado como filtro de CALCULATE hace lo mismo; REMOVEFILTERS se añadió después
como un nombre más claro para exactamente este uso.
Hasta dónde llega la eliminación
Quita lo más estrecho que quieras decir:
| argumento de filtro | canal | año | categoría |
|---|---|---|---|
REMOVEFILTERS(orders[channel]) |
quitado | conservado | conservado |
REMOVEFILTERS(orders) |
quitado | quitado | conservado |
REMOVEFILTERS() (sin argumento) |
quitado | quitado | quitado |
La fila del medio sorprende a la gente. El filtro de año empieza en la tabla Date, pero llega a
orders a través de la relación, y borrar toda la tabla orders lo borra también.
La otra vía: cambiar el visual, no la medida
En Power BI también puedes evitar que la segmentación toque un visual entero con Formato → Editar interacciones (Format → Edit interactions). Está bien cuando todos los números del visual deben ignorarla. Cuando una columna sigue la segmentación y la siguiente no, como aquí, solo DAX puede hacerlo.
Errores comunes
- Quitar la tabla entera.
ALL(orders)descarta también el año sin avisar. - Escribir a mano los otros canales.
orders[channel] IN {"web", "app", "marketplace"}parece equivalente, pero reemplaza el filtro; se rompe el día que aparece un cuarto canal. - Olvidar la segmentación en el título. Si una columna ignora una segmentación, dilo en su nombre.
¡Linterna encendida!
Practicaste: slicerfilter contextremovefilterscalculate
- Resuelto
- Sin pistas
- Al primer intento
