The ISFILTERED function returns the logical value True when the indicated column is being filtered directly. If no filter is being applied directly or if the filter occurs because of another column in the same table or in a related table, the function returns the logical value False.
ISFILTERED(
column
)
- column: Name of an existing column. It cannot be a DAX expression.
The ISFILTERED function returns a Boolean.
A column is said to be receiving a direct filter (or being filtered directly) when the filter or filters are applied directly to the column. On the contrary, it is said that a column receives a cross filter (or that it is being cross filtered) when the filter applied to another column of the same table or to a related table affects the column under analysis by filtering it as well.
We can find out if the City column of the Geography table receives a direct filter with the following measure:
IF(
ISFILTERED(Geography[City]),
TRUE(),
FALSE()
)
By default, this measure returns the value False:
If we add a segmentation with the list of cities and select one, the previous measure returns True:
However -and contrary to what happens with the ISCROSSFILTERED function-, if we deselect the city, we add a second segmentation with the list of countries and select one (which means that the list of cities is also filtered although indirectly), the measure returns False, as there are no direct filters applied to the column: