USERELATIONSHIP

특정 계산에 사용할 관계를 columnName1과 columnName2 사이에 있는 관계로 지정합니다.

구문

USERELATIONSHIP(<columnName1>,<columnName2>)  

매개 변수

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

반환 값

함수는 값을 반환하지 않습니다. 함수는 계산 기간 동안 지정된 관계만 사용하도록 설정합니다.

설명

  • USERELATIONSHIP은 필터를 인수로 사용하는 함수(예: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD 및 TOTALYTD 함수)에서만 사용할 수 있습니다.

  • 측정값이 포함된 테이블에 대해 행 수준 보안이 정의된 경우 USERELATIONSHIP을 사용할 수 없습니다. 예를 들어 CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) DimCustomer에 대해 행 수준 보안이 정의된 경우 오류를 반환합니다.

  • USERELATIONSHIP은 모델의 기존 관계를 사용하여 해당 끝 지점 열로 관계를 식별합니다.

  • USERELATIONSHIP에서 관계의 상태 중요하지 않습니다. 즉, 관계가 활성 상태인지 여부에 관계없이 함수 사용에 영향을 주지 않습니다. 관계가 비활성인 경우에도 모델에 있을 수 있지만 함수 인수에 멘션 않은 다른 활성 관계를 사용하고 재정의합니다.

  • 인수로 명명된 열이 관계의 일부가 아니거나 인수가 다른 관계에 속하는 경우 오류가 반환됩니다.

  • 계산에서 테이블 A를 테이블 B에 조인하는 데 여러 관계가 필요한 경우 각 관계는 다른 USERELATIONSHIP 함수에 표시되어야 합니다.

  • CALCULATE 식이 중첩되고 두 개 이상의 CALCULATE 식에 USERELATIONSHIP 함수가 포함된 경우 가장 안쪽의 USERELATIONSHIP이 충돌 또는 모호성 발생 시 우선하는 식입니다.

  • 최대 10개의 USERELATIONSHIP 함수를 중첩할 수 있지만 식의 중첩 수준은 이보다 더 깊을 수 있습니다. 즉, 샘플 식 =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA]))에서 보면, 식은 3개 수준 깊이로 중첩되어 있지만 USERELATIONSHIP은 2개 수준 깊이로만 중첩되어 있습니다.

  • 일대일 관계의 경우 USERELATIONSHIP은 관계를 한 방향으로만 활성화합니다. 특히 필터는 columnName2의 테이블에서 columnName1의 테이블로만 흐름이 진행됩니다. 양방향 교차 필터링을 사용하고자 하는 경우 동일한 계산에서 방향이 반대인 USERELATIONSHIP 2개를 사용할 수 있습니다. 예: CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).

예시

다음 샘플에서는 InternetSales와 DateTime 테이블 간의 기본 활성 관계를 재정의하는 방법을 보여 줍니다. 기본 관계는 OrderDate 열, InternetSales 테이블 및 DateTime 테이블의 Date 열 사이에 존재합니다.

인터넷 판매 합계를 계산하고 기존 OrderDate 대신 ShippingDate로 조각화할 수 있도록 하려면 다음 식을 사용하여 측정값인 [ShippingDate의 InternetSales]를 만듭니다.

= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))  

InternetSales[ShipmentDate]와 DateTime[Date] 간의 관계는 존재해야 하며 활성 관계가 아니어야 합니다. 또한 InternetSales[OrderDate]와 DateTime[Date] 간의 관계가 존재해야 하며 활성 관계여야 합니다.