La función HASONEFILTER devuelve el valor lógico True cuando el número de filtros directamente aplicados a los valores de la columna indicada es uno, y devuelve False en caso contrario.
HASONEFILTER(
column
)
- column: Nombre de una columna existente. No puede ser una expresión DAX.
La función HASONEFILTER devuelve un booleano.
Esta función es semejante a la función ISCROSSFILTERED con la diferencia de que aquella considera filtros tanto directos como cruzados mientras que HASONEFILTER considera solo filtros directos.
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 Country de la tabla Geography tiene un único filtro directo activo utilizando la siguiente medida:
hasonefilter =
IF(
HASONEFILTER(Geography[Country]),
TRUE(),
FALSE()
)
Por defecto, esta medida devuelve False:
Pero si añadimos una segmentación conteniendo el listado de países y seleccionamos uno de ellos, la medida creada pasa a devolver el valor True: