다음을 통해 공유


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 함수를 중첩할 수 있습니다. 그러나 식의 중첩 수준이 더 깊을 수 있습니다. 즉, 다음 샘플 식은 3개 수준 깊이로 중첩되지만 USERELATIONSHIP경우 2개만 중첩됩니다. =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

  • 1 대 1 관계의 경우 USERELATIONSHIP 한 방향으로만 관계를 활성화합니다. 특히 필터는 columnName2테이블에서 columnName1테이블로만 흐를 수 있습니다. 양방향 교차 필터링을 원하는 경우 반대 방향의 두 USERELATIONSHIP를 동일한 계산에 사용할 수 있습니다. 예들 들어 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] 간의 관계가 존재해야 하며 활성 관계여야 합니다.