CROSSFILTER
두 열 사이에 있는 관계에 대한 계산에 사용할 교차 필터링 방향을 지정합니다.
통사론
CROSSFILTER(<columnName1>, <columnName2>, <direction>)
매개 변수
학기 | 정의 |
---|---|
columnName1 |
표준 DAX 구문을 사용하고 정규화된 기존 열의 이름으로, 일반적으로 사용할 관계의 여러 측면을 나타냅니다. 인수가 역순으로 지정되면 함수는 인수를 사용하기 전에 인수를 교환합니다. 이 인수는 식일 수 없습니다. |
columnName2 |
표준 DAX 구문을 사용하고 정규화된 기존 열의 이름으로, 일반적으로 사용할 관계의 한쪽 또는 조회 쪽을 나타냅니다. 인수가 역순으로 지정되면 함수는 인수를 사용하기 전에 인수를 교환합니다. 이 인수는 식일 수 없습니다. |
Direction |
사용할 교차 필터 방향입니다. 다음 중 하나여야 합니다.None - 이 관계에 따라 교차 필터링이 발생하지 않습니다.Both - 양쪽 필터가 다른 쪽을 필터링합니다.OneWay - 관계 필터의 한쪽 또는 조회 쪽에서 다른 쪽을 필터링합니다. 이 옵션은 일대일 관계와 함께 사용할 수 없습니다. 조회 쪽이 명확하지 않으므로 다대다 관계에서 이 옵션을 사용하지 마세요. 대신 OneWay_LeftFiltersRight 또는 OneWay_RightFiltersLeft 사용합니다.OneWay_LeftFiltersRight - columnName1 측면의 필터는 columnName2 측면을 필터링합니다. 이 옵션은 일대일 또는 다대일 관계와 함께 사용할 수 없습니다.OneWay_RightFiltersLeft - columnName2 측면의 필터는 columnName1 측면을 필터링합니다. 이 옵션은 일대일 또는 다대일 관계와 함께 사용할 수 없습니다. |
반환 값
함수는 값을 반환하지 않습니다. 함수는 쿼리 기간 동안 표시된 관계의 교차 필터링 방향만 설정합니다.
발언
1:1 관계의 경우 한 방향과 양방향 간에 차이가 없습니다.
CROSSFILTER 필터를 인수로 사용하는 함수(예: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD 및 TOTALYTD 함수)에서만 사용할 수 있습니다.
CROSSFILTER 모델의 기존 관계를 사용하여 끝점 열로 관계를 식별합니다.
CROSSFILTER관계의 교차 필터링 설정은 중요하지 않습니다. 즉, 관계가 필터로 설정되었는지 아니면 모델의 양방향이 함수의 사용량에 영향을 주지 않는지 여부입니다. CROSSFILTER 기존 교차 필터링 설정을 재정의합니다.
인수로 명명된 열이 관계의 일부가 아니거나 인수가 다른 관계에 속하는 경우 오류가 반환됩니다.
CALCULATE 식이 중첩되고 둘 이상의 CALCULATE 식에 CROSSFILTER 함수가 포함된 경우 가장 안쪽의 CROSSFILTER 충돌 또는 모호성의 경우 우선합니다.
이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.
본보기
다음 모델 다이어그램에서 DimProduct와 DimDate는 FactInternetSales와 단일 방향 관계를 갖습니다.
기본적으로 연도별로 판매된 제품 수는 가져올 수 없습니다.
연도별로 제품 수를 가져오는 방법에는 두 가지가 있습니다.
관계에 대해 양방향 교차 필터링을 켭니다. 이렇게 하면 이러한 두 테이블 간의 모든 데이터에 대해 필터가 작동하는 방식이 변경됩니다.
CROSSFILTER 함수를 사용하여 이 측정값에만 관계가 작동하는 방식을 변경합니다.
DAX사용하는 경우 CROSSFILTER 함수를 사용하여 관계로 정의된 두 열 간에 교차 필터 방향이 동작하는 방식을 변경할 수 있습니다. 이 경우 DAX 식은 다음과 같습니다.
BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))
측정값 식에서 CROSSFILTER 함수를 사용하여 예상 결과를 가져옵니다.