ISCROSSFILTERED 함수(DAX)
동일 테이블 또는 관련 테이블에서 columnName 또는 다른 열이 필터링되는 경우 TRUE를 반환합니다.
구문
ISCROSSFILTERED(<columnName>)
매개 변수
- columnName
표준 DAX 구문을 사용하는 기존 열의 이름입니다. 이 매개 변수는 식이 될 수 없습니다.
반환 값
동일 테이블 또는 관련 테이블에서 columnName 또는 다른 열이 필터링되는 경우 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.
주의
동일 테이블 또는 관련 테이블의 다른 열에 적용된 필터가 필터링을 통해 columnName에 영향을 줄 경우 열이 교차 필터링된다고 말합니다. 필터가 해당 열에 적용될 때는 열이 직접 필터링된다고 말합니다.
관련 함수 ISFILTERED 함수(DAX)은 columnName이 직접 필터링되는 경우 TRUE를 반환합니다.
예
다음 예에서는 측정값을 만들어 ISCROSSFILTERED() 동작을 설명하는 여러 가지 시나리오를 소개합니다. 이러한 시나리오는 DAX_AdventureWorks 스프레드시트를 다운로드하여 따라 해볼 수 있습니다.
먼저 [Product] 테이블에 다음과 같이 [Is ProductName Cross Filtered]라는 측정값을 만듭니다.
=ISCROSSFILTERED(Product[ProductName])
ISCROSSFILTERED() 이해:
측정값을 만든 후에는 식이 전혀 필터링되지 않았으므로 피벗 테이블에 [Is ProductName Cross Filtered]가 FALSE인 것으로 표시됩니다. 이제 다음과 같이 표시됩니다.
Is ProductName Cross Filtered
FALSE
피벗 테이블에 아무것도 표시되지 않으면 [Is ProductName Cross Filtered] 열을 Values 상자로 끕니다.
DateTime[CalendarYear]를 열 레이블 상자로 끌고, SalesTerritory[SalesTerritoryGroup]을 행 레이블 상자로 끕니다. 모든 값이 FALSE로 표시됩니다. 이제 다음과 같이 표시됩니다.
Is Product Name CrossFiltered
열 레이블
행 레이블
2005
2006
2007
2008
총합계
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
NA
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
총합계
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
DateTime[CalendarYear] 및 SalesTerritory[SalesTerritoryGroup] 모두 Product[ProductName]에 대한 필터링 효과가 없기 때문에 모든 셀에 FALSE 값이 있는 것을 확인할 수 있습니다.
ProductCategory[ProductCategoryName] 열을 수평 슬라이서 상자로 끌고 ProductSubCategory[ProductSubCategoryName]를 수직 슬라이서 상자로 끕니다. 슬라이서 상자에 열을 추가할 때 아직 조각화 집합을 선택하지 않았으므로 모든 값이 계속해서 FALSE로 표시됩니다. 따라서 다음과 같이 표시됩니다.
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is Product Name CrossFiltered
열 레이블
Bib-Shorts
행 레이블
2005
2006
2007
2008
총합계
Bike-Racks
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bike-Stands
NA
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottles and Cages
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottom Brackets
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Brakes
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Caps
총합계
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
이제 관련 테이블 ProductCategory 및 ProductSubcategory를 통해 Product[ProductName] 열을 필터링하므로 슬라이서에서 아무 항목이나 선택하면 테이블의 모든 셀이 TRUE로 전환됩니다. 결과가 다음과 같이 표시됩니다.
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is Product Name CrossFiltered
열 레이블
Bib-Shorts
행 레이블
2005
2006
2007
2008
총합계
Bike-Racks
Europe
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bike-Stands
NA
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottles and Cages
North America
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottom Brackets
Pacific
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Brakes
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Caps
총합계
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
이제 슬라이서를 Product[ProductName] 및 Product[ModelName]과 교체할 수 있습니다. 슬라이서에서 항목을 선택하지 않는 한 측정값이 FALSE를 반환합니다. 하지만 Product[ProductName]이 자체적으로 필터링되거나 Product[ModelName]을 선택하여 필터링되므로 이제 슬라이서에서 항목을 선택하면 측정값이 TRUE를 반환합니다.
결론적으로 ISCROSSFILTERED()를 사용하면 DAX 식이 계산되는 컨텍스트에서 columnName이 필터링되는지를 확인할 수 있습니다.
이 예에서는 DAX_AdventureWorks 예제 스프레드시트 모델이 사용되었습니다.