La función ISFILTERED devuelve el valor lógico True cuando la columna indicada está siendo filtrada directamente. Si no se está aplicando ningún filtro de forma directa o si el filtro ocurre debido a otra columna en la misma tabla o en una tabla relacionada, la función devuelve el valor lógico False.
ISFILTERED(
column
)
- column: Nombre de una columna existente. No puede ser una expresión DAX.
La función ISFILTERED devuelve un booleano.
Se dice que una columna recibe un filtro directo (o que está siendo filtrada de forma directa) cuando el filtro o los filtros se aplican directamente sobre la columna. Por el contrario, se dice que una columna recibe un filtro cruzado (o que está siendo filtrada de forma cruzada) cuando el filtro aplicado a otra columna de la misma tabla o a una tabla relacionada afecta a la columna en análisis filtrándola también.
Podemos averiguar si la columna City de la tabla Geography recibe un filtro directo con la siguiente medida:
IF(
ISFILTERED(Geography[City]),
TRUE(),
FALSE()
)
Por defecto, esta medida devuelve el valor False:
Si añadimos una segmentación con el listado de ciudades y seleccionamos una, la medida anterior devuelve True:
Sin embargo -y al contrario de lo que ocurre con la función ISCROSSFILTERED-, si deseleccionamos la ciudad, añadimos una segunda segmentación con el listado de países y seleccionamos uno (lo que supone que el listado de ciudades también se filtre aunque de forma indirecta), la media vuelve a devolver False, al no haber filtros directos aplicados a la columna: