- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Combine ALL() y FILTER() para eliminar filas
Queridos todos,
Soy relativamente nuevo en PowerBI y estoy teniendo algunos problemas para entender qué criterios utiliza PowerBI para mostrar u ocultar filas.
Supongamos los siguientes datos ficticios sobre ventas:
CountryTable:
country_id | país |
1 | España |
2 | Países Bajos |
3 | Alemania |
Tabla de ventas:
sale_id | country_id | provincia | amount_euros |
1 | 2 | A | 50 |
2 | 2 | B | 100 |
3 | 3 | C | 20 |
Ambas tablas están relacionadas por el campo de país con "dirección" establecida en "Ambos".
1. Si creo una matriz con:
Filas: CountryTable.country
Valores: SalesTable.amount_euros
Luego, en la tabla de resultados, PowerBI está omitiendo a España, ya que no tiene ninguna venta.
Ahora quiero hacer lo mismo con el siguiente cálculo y no entiendo por qué en este caso PowerBI está mostrando España. Quiero que no aparezca:
2. Quiero crear una medida que muestre la suma de amount_euros para las provincias A y C, (pero no filtrada por país, utilizando así la función ALL(). En otras palabras, quiero la siguiente tabla:
país | new_measure |
Países Bajos | 70 |
Alemania | 70 |
Si lo hago:
new_measure =
VAR _table = FILTRO (
TODOS (SalesTable),
SalesTable [provincia] - "A" || SalesTable [provincia] - "C"
)
RETURN SUMX ( _table, [amount_euros] )
PowerBI muestra:
país | new_measure |
Países Bajos | 70 |
Alemania | 70 |
España | 70 |
¿No se supone que el filtro de la provincia se "propaga"? España ni siquiera aparece en las ventas, por lo que la provincia no es ni A ni C...
Muchas gracias de antemano
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hola @Ashish_Mathur
Gracias por su respuesta. Me temo que aunque este no es el resultado que necesito: necesito 70 en todas las filas, como estaba afirmando en mi post original.
saludos
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hola @rabin ,
en DAX cada cálculo se realiza independientemente de los cálculos de otros campos.
Esto significa que al crear en la visualización una tabla a partir de la columna CountryTable[país], la tabla tiene este aspecto:
país |
España |
Países Bajos |
Alemania |
Si agrega ahora la suma de SalesTable[amount_euros], se calculará para cada fila:
país | Fórmula evaluada | Lo que se muestra |
España | SUM(amount_euros) | en blanco (se ocultará porque en blanco) |
Países Bajos | SUM(amount_euros) | 150 |
Alemania | SUM(amount_euros) | 20 |
¿Qué sucede ahora cuando se utiliza la función FILTER?
El mismo mecanismo ocurre para su cálculo.
El FILTRO (ALL(SalesTable))... producirá una tabla que se ve así:
sale_id | country_id | provincia | amount_euros |
1 | 2 | A | 50 |
3 | 3 | C | 20 |
Llamaré a esta tabla para el resto de mi respuesta 'FILTER-Table'.
En esta 'Tabla DE FILTROS' se utiliza la función SUMX. Importante aquí es que SUMX tiene un contexto de filtro (todo el filtro en el contexto, como el país en cada fila) y un contexto de fila (lo que sucede como segundo argumento, en su caso sólo tiene que hacer referencia a la columna SalesTable[amount_euros] (por cierto, escribir siempre columna incluyendo la tabla y medidas sin. Esta es la forma común de escribir DAX)).
Así que su SUMX está usando 'FILTER-Table' y haciendo una SUMA de la columna 'FILTER-Table'[amount_euros], que es 50+20 = 70.
Su pregunta ahora es ¿por qué está apareciendo España?
Esto es lo que sucede:
país | suma | Lo que se muestra |
España | La función FILTER crea 'FILTER-Table', y luego ocurre SUMX | 70 |
Países Bajos | La función FILTER crea 'FILTER-Table', y luego ocurre SUMX | 70 |
Alemania | La función FILTER crea 'FILTER-Table', y luego ocurre SUMX | 70 |
El resultado inesperado proviene del hecho de que nunca se hace una transición de contexto del contexto actual (país como España o en la siguiente fila Países Bajos o en la siguiente fila Alemania) al contexto de fila de SUMX.
A medida que se evalúa la función para cada fila, también se mostrará para España.
¿Tiene sentido para ti? Espero que no haya sido demasiado confuso 😅
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hola @selimovd ,
Muchas gracias por su respuesta. Permítame profundizar un poco más en él:
1. Todavía no me queda claro cómo "ocultar" España. Este es solo un ejemplo ficticio (simplemente podría ocultarlo usando los filtros de interfaz de usuario de PowerBI Desktop) pero en mi escenario real necesito que esta tabla FILTER se calcule solo para los países que tienen ventas. Supongo que necesito algún tipo de estructura "IF", pero no puedo entenderlo.
2. ¿Qué quieres decir exactamente con:
2.1 todo el filtro en el contexto, como el país en cada fila. De hecho, me cuesta algo: el contexto de filtro aquí sería la variable "_table" o lo que puse en la interfaz de usuario PBI en la sección "fila" al hacer la matriz, en este caso el campo "país"? Creo que hay cierta ambigüedad en general entre el "contexto de filtro" y el "contexto de consulta" que leí en el documento oficial de PBI.
2.2. Por cierto, escriba siempre columna incluyendo la tabla y medidas sin. Esta es la forma común de escribir DAX. ¿Quiere escribir "SalesTable[amount_euros]" en lugar de "[amount_euros]"? Ni siquiera estaba seguro de si era lo mismo... Estaba bastante confundido porque el "amount_euros" que quiero sumar es de hecho el de la tabla FILTER que mencionas, no el de la "Mesa de Ventas"... Pensé que eso era lo que estaba haciendo al escribir [amount_euros] sin el nombre de la tabla anterior...
2.3 nunca se hace una transición de contexto del contexto actual (país como España o en la siguiente fila Países Bajos o en la siguiente fila Alemania) al contexto de fila de SUMX. ¿Cómo debo hacer esta transición?
Muchas gracias de nuevo por su ayuda,
Atentamente

Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - February 2025
Check out the February 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
03-29-2021 10:35 PM | |||
08-21-2023 08:46 AM | |||
12-03-2020 10:22 PM | |||
07-25-2023 09:57 AM | |||
02-01-2024 05:33 AM |