컨텍스트의 테이블 간 전파(PowerBI/PowerPivot/DAX)
1980 단어 PowerBIDAXPowerPivot
이번에는 테이블의 관계를 넘어서 컨텍스트가 어떻게 영향을 미치는지에 대해 써보고 싶습니다.
행 컨텍스트의 관계 간 전파
예로서 다음과 같은 테이블 구성을 생각해 보겠습니다.
이 경우 매출 품목 테이블에 계산 열을 만들고 아래와 같은 DAX 식을 정의해 봅니다.
[예실 비교] = 판매 항목 [판매 단가] - 상품 [정가]
판매 품목 테이블에서 행 컨텍스트가 평가되므로 판매 품목 테이블을 반복합니다. 이 경우 제품 테이블을 참조할 수 없습니다. 오류가 발생합니다.
그러나, 잘 생각해 보면, 신기합니다. 판매 품목 테이블에서 상품 테이블로의 관계는 한 방향으로, [상품] 1: [판매 품목] 여러 관계입니다. 판매 항목에서 상품을 고유하게 식별할 수 있으므로 참조할 수 없는 것 같습니다.
DAX에서는 이러한 경우 RELATED 함수를 사용하여 명시적으로 관계 참조를 지시해야 합니다. 아래와 같이 변경하면 잘 작동합니다.
[예실 비교] = 판매 항목 [판매 단가] - RELATED(상품 [정가])
RELATED 함수는 관계의 (일대 다) 관계 중 "다"측의 테이블에서 행 컨텍스트가 평가되는 경우에 작동합니다. 다중 측 테이블에서 관계 테이블을 참조할 수 있습니다.
그 반대는 어떻습니까? 반대의 경우 데이터를 고유하게 식별할 수 없으며 여러 값이 반환되므로 RELATED 함수에서는 잘 작동하지 않습니다. 이 경우 RELATEDTABLE 함수를 사용합니다.
[판매 수] = COUNTROWS(RELATEDTABLE('판매 항목'))
RELATEDTABLE 함수는 지정된 관계 테이블에서 관련 행을 모두 반환합니다. 위의 수식은 히트 한 행을 계산합니다.
필터 컨텍스트의 관계 간 전파
행 컨텍스트에서는 명시적으로 함수에 의해 관계의 참조를 실시할 필요가 있었습니다. 필터 컨텍스트의 경우, 말하자면 자동으로 참조합니다. 참조가 가능한 경우에만 참조한다고도 말할 수 있습니다.
그러나 어렵게 생각하지 않습니다. 기본적으로 관계 다이어그램의 화살표 방향을 따라만 참조가 가능하다는 이해로 문제가 없습니다.
예를 들어, 고객 테이블의 고객 ID를 행 요소로 표시하는 경우,
[고객별 판매량] = COUNTROWS(판매 항목)
로 판매량을 내는 것이 가능합니다. 왜냐하면 고객 테이블에서 판매 품목으로 화살표 방향을 따르기 때문입니다. 위의 예에서도 [상품]에서 [판매 항목]에 대한 참조도 마찬가지로 유효합니다.
역 참조가 이루어지면 (예 : 판매 품목에서 고객 테이블에 대한 참조가 이루어진 경우) 전체 수가 반환됩니다 (즉, 전체 고객 수가 반환됩니다). 수행되지 않고 전체 열이 반환됩니다.
또, 필터 문맥도 행 문맥의 경우와 같이, 관계를 몇 개나 넘어갈 수가 있습니다. 관계의 화살표 방향에 따른 형태이면 홉 수에 관계없이 참조할 수 있습니다.
Reference
이 문제에 관하여(컨텍스트의 테이블 간 전파(PowerBI/PowerPivot/DAX)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zaboom/items/55cf376f4f5fae3ac444텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)