본문 바로가기
데이터 분석 및 업무 자동화

Power BI DAX 기초 - RELATED, USERELATIONSHIP, CROSSFILTER, TREATAS

by 공부머리 2022. 3. 30.
반응형

 

테이블 간의 관계를 물리적으로 연결하기도 하고 가상으로 연결하여 측정 식이나 계산 열에 활용합니다. 이러한 기능을 수행하기 위해서 Power BI DAX의 RELATED, USERELATIONSHIP, CROSSFILTER, TREATAS 함수가 사용됩니다.

 

물리적 관계 vs 가상 관계

  • 물리적 관계는 데이터 모델에서 링크를 연결하는 것을 의미합니다. 일반적으로 1:*의 관계가 설정됩니다. 상황에 따라서 활성화 또는 비활성화 상태가 될 수 있습니다.
  • 가상 관계는 RELATED, USERELATIONSHIP등의 DAX 식에 의하여 정의된 임시적인 관계를 의미합니다.

 

RELATED

데이터모델의 다른 테이블에서 관련 값을 가져옵니다.  

= RELATED(열이름)
  • 이 함수를 사용하기 위해서는 테이블 간에 관계가 있어야 합니다.
  • '일 대 다'의 관계에서 '일'에 해당하는 테이블의 열을 지정합니다. (예. 'Product Lookup'[current_cost] 또는 'Customer Lookup'[home_store]) 
  • RELATED 함수는 계산 등의 작업을 직접적으로 수행하지는 않고 연결된 테이블의 열에 접근할 수 있는 역할을 합니다.

 

RELATEDTABLE

지정된 필터로 수정된 컨텍스트에서 테이블 식을 평가하여 해당되는 행들만 포함된 테이블을 반환합니다.

=RELATEDTABLE(테이블이름)
  • '일 대 다'의 관계에서 '다'에 해당하는 테이블을 지정합니다.
  • 예 : COUNTROWS(RELATEDTABLE('Food Inventory'))
  • 예 : SUMX(RELATEDTABLE('Food Inveentory'), [Quantity Sold] * [Retail Price])
  • 필터 조건을 충족하는 행만 반환하기 위해 행 컨텍스트에서 필터 컨텍스트로 컨텍스트 전환을 수행합니다.

 

 

USERELATIONSHIP

DAX 식 평가에 사용할 기존 관계를 지정합니다. DAX 식에서는 끝점 역할을 하는 열을 인수로 지정합니다.

=USERELATIONSHIP(열이름1, 열이름2)
  • 필터 매개 변수를 받아들이는 함수에서만 사용할 수 있습니다. (예. CALCULATE, TOTALYTD)
  • 단일 달력 표에 연결된 날짜 열이 여러 개 있는 경우 USEREATIONHIP을 사용하면 모형에서 수동으로 활성화하지 않고도 비활성 관계를 강제로 사용할 수 있습니다.

 

CROSSFILTER

CROSSFILTER는 DAX 표현의 지속 시간 동안 사용되는 교차 필터링 방향을 지정합니다. 관계는 엔드포인트 역할을 하는 두 열의 이름을 지정하여 정의됩니다. 

=CROSSFILTER(왼쪽 열이름, 오른쪽 열이름, 크로스필터 타입)
  • 크로스 필터 타입 : oneway, Both, None
  • 양방향 관계 대신 CROSSFILTER를 사용하여 특정 경우에만 양방향 필터링을 활성화합니다.

 

TREATAS

TREATAS는 테이블 식 결과를 관련 없는 테이블의 필터 열에 적용합니다.

=TREATAS(테이블 식, 열이름, 열이름1, ...)
  • 테이블 식 : 매핑할 열 집합을 생성하는 테이블 표현식입니다. 테이블 표현식은 데이터 모델의 물리적 테이블을 기반으로 해야 합니다. 예. TREATAS(VALUES('Calendar'[Year_ID)...)
  • 열 이름 : 열 표현식이 아닌 출력 열 목록이 옵니다. 예. 'Target Sales'[Year], 'Target Sales'[Month] 지정된 열 수는 테이블 식에 있는 열 수와 일치해야 하며 같은 순서여야 합니다.
  • 가능하면 항상 물리적 관계 또는 USERELATIONSHIP을 사용하고 테이블 간에 직접 관계를 만들 수 없는 경우에만 TREATAS를 사용하는 게 좋습니다.

 

Power BI DAX 기초 - ALL, ALLEXCEPT, ALLSELECTED

 

Power BI DAX 기초 - ALL, ALLEXCEPT, ALLSELECTED

필터 기능은 테이블의 특정 조건에 만족하는 행들만 걸러내는 역할을 합니다. 반면에 ALL, ALLEXCEPT, ALLSELECTED는 필터 기능을 무시하여 테이블의 행들을 반환합니다. 세 가지 DAX함수는 어떤 차이가

shareluck.tistory.com

 

Power BI DAX 기초 - Time Intelligence

 

Power BI DAX 기초 - Time Intelligence

Power BI DAX 중 Time intelligence에 대해서 정리해보려고 합니다. 타임 인텔리전스는 기간을 커스터마이징하여 비교하거나 계산이 가능하게 합니다. 이것을 이용하여 현재까지 실적 계산, 기간 shift, ru

shareluck.tistory.com

 

반응형

댓글