Share via


CROSSFILTER

적용 대상:계산 열계산 테이블측정값 시각적 계산

두 열 사이에 있는 관계에 대한 계산에 사용할 교차 필터링 방향을 지정합니다.

구문

CROSSFILTER(<columnName1>, <columnName2>, <direction>)  

매개 변수

용어 정의
columnName1 일반적으로 사용할 관계의 여러 측면을 나타내는 표준 DAX 구문과 정규화된 기존 열의 이름입니다. 인수가 역순으로 지정되면 함수는 인수를 사용하기 전에 인수를 교환합니다. 이 인수는 식일 수 없습니다.
columnName2 일반적으로 사용할 관계의 한쪽 또는 조회 쪽을 나타내는 표준 DAX 구문과 정규화된 기존 열의 이름입니다. 인수가 역순으로 지정되면 함수는 인수를 사용하기 전에 인수를 교환합니다. 이 인수는 식일 수 없습니다.
방향 사용할 교차 필터 방향입니다. 다음 중 하나여야 합니다.

없음 - 이 관계에 따라 교차 필터링이 발생하지 않습니다.

둘 다 - 양쪽 필터가 다른 쪽을 필터링합니다.

OneWay - 관계 필터의 한쪽 또는 조회 쪽에서 다른 쪽을 필터링합니다. 이 옵션은 일대일 관계와 함께 사용할 수 없습니다. 조회 쪽이 명확하지 않으므로 다대다 관계에서 이 옵션을 사용하지 마세요. 대신 OneWay_LeftFiltersRight 또는 OneWay_RightFiltersLeft 사용합니다.

OneWay_LeftFiltersRight - <columnName1> 측에 있는 필터는 <columnName2> 측을 필터링합니다. 이 옵션은 일대일 또는 다대일 관계와 함께 사용할 수 없습니다.

OneWay_RightFiltersLeft - of <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_Examp_DiagView

기본적으로 연도별로 판매된 제품 수는 가져올 수 없습니다.

CROSSFILTER_Examp_PivotTable1

다음과 같은 두 가지 방법으로 연도별 제품 수를 가져올 수 있습니다.

  • 관계에 대해 양방향 교차 필터링을 켭니다. 이렇게 하면 이러한 두 테이블 간의 모든 데이터에 대해 필터가 작동하는 방식이 변경됩니다.

  • CROSSFILTER 함수를 사용하여 이 측정값에 대한 관계 작동 방식을 변경합니다.

DAX를 사용하는 경우 CROSSFILTER 함수를 사용하여 관계에 정의된 두 열 간에 교차 필터 방향이 동작하는 방식을 변경할 수 있습니다. 이 경우 DAX 식은 다음과 같습니다.

BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))

측정값 식에서 CROSSFILTER 함수를 사용하면 예상된 결과를 얻을 수 있습니다.

CROSSFILTER_Examp_PivotTable2