ISFILTERED 함수(DAX)
columnName이 직접 필터링될 경우 TRUE를 반환합니다. 열에 필터가 없거나 동일 테이블 또는 관련 테이블의 다른 열에 대한 필터링이 수행될 경우 함수가 FALSE를 반환합니다.
구문
ISFILTERED(<columnName>)
매개 변수
- columnName
표준 DAX 구문을 사용하는 기존 열의 이름입니다. 이 매개 변수는 식이 될 수 없습니다.
반환 값
columnName이 직접 필터링될 경우 TRUE입니다.
주의
해당 필터가 열에 대해 적용될 때 columnName이 직접 필터링된다고 말하며, 동일 테이블 또는 관련 테이블의 다른 열에 적용된 필터가 필터링으로 인해 해당 열인 columnName에도 영향을 줄 때 열이 교차 필터링된다고 말합니다.
동일 테이블 또는 관련 테이블에서 columnName 또는 다른 열이 필터링되는 경우 관련 함수 ISCROSSFILTERED 함수(DAX)에서 TRUE를 반환합니다.
예
다음 예에서는 측정값을 만들어 ISFILTERED() 동작을 설명하는 여러 가지 시나리오를 소개합니다. 이러한 시나리오는 DAX(Data Analysis Expressions) 예제 데이터 스프레드시트를 다운로드하여 따라 해볼 수 있습니다.
먼저 [Product] 테이블에 다음과 같이 [Is ProductName Filtered directly]라는 측정값을 만듭니다.
=ISFILTERED(Product[ProductName])
ISFILTERED() 이해:
측정값을 만든 후에는 식이 전혀 필터링되지 않았으므로 피벗 테이블에 [Is ProductName Filtered directly]가 FALSE인 것으로 표시됩니다. 이제 다음과 같이 표시됩니다.
Is ProductName Filtered directly
FALSE
피벗 테이블에 아무것도 표시되지 않으면 [Is ProductName Filtered directly]를 Values 상자로 끕니다.
ProductCategory[ProductCategoryName]를 행 레이블 상자로 끌면 모든 값이 계속 FALSE로 표시되고 테이블은 다음과 같이 표시됩니다.
행 레이블
Is ProductName Filtered directly
Accessories
FALSE
Bikes
FALSE
Clothing
FALSE
Components
FALSE
FALSE
총합계
FALSE
테이블에 FALSE 값이 포함된 이유는 ProductCategory[ProductCategoryName]이 Product[ProductName]을 간접적으로 필터링하거나 교차 필터링하지만 해당 열에 대한 직접 필터가 아니기 때문입니다.
Product[Status]를 열 레이블 상자로 끕니다. 그러면 모든 값이 계속 FALSE이고 테이블은 다음과 같이 표시됩니다.
Is ProductName Filtered directly
열 레이블
행 레이블
Current
총합계
Accessories
FALSE
FALSE
FALSE
Bikes
FALSE
FALSE
FALSE
Clothing
FALSE
FALSE
FALSE
Components
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
총합계
FALSE
FALSE
FALSE
Product[Status]가 Product[Name]을 직접적으로 필터링하지 않으므로 여전히 테이블에는 FALSE 값이 많이 포함됩니다.
이 프로세스의 마지막 단계로 Product[Name]을 Report Filter 상자로 끕니다. 지금까지는 아무것도 변경된 것이 없습니다. 하지만 제품 이름을 선택하면 테이블이 TRUE로 변경됩니다. 선택한 제품에 따라 테이블이 다음과 같이 표시됩니다.
ProductName
Mountain-400-W Silver, 38
Is ProductName Filtered directly
열 레이블
행 레이블
Current
총합계
Accessories
TRUE
TRUE
Bikes
TRUE
TRUE
Clothing
TRUE
TRUE
Components
TRUE
TRUE
TRUE
TRUE
총합계
TRUE
TRUE
결론적으로 ISFILTERED()를 사용하면 식이 계산되는 컨텍스트에서 columnName이 직접 필터링되는지를 확인할 수 있습니다.
이 예에서는 DAX_AdventureWorks 예제 스프레드시트 모델이 사용되었습니다.