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

Power BI DAX 기초 - ALL, ALLEXCEPT, ALLSELECTED

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

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

 

ALL

필터를 무시하고 테이블의 모든행 또는 열의 모든 값을 반환하는 함수입니다.

ALL( <테이블이름> or <열이름>, <열이름1>,... )
  • 테이블 필터이자 CALCULATE modifier입니다.
  • 초기 필터 컨텍스트를 제거합니다.
  • 테이블식은 입력 매개변수로 올 수 없습니다. 즉, 물리적인 테이블만 매개변수로 입력받습니다.
  • 열식도 입력 매개변수로 올 수 없습니다. 즉, 기본 열을 입력으로 받습니다.
  • ALL(테이블)은 전체 값 대비 집계 값의 비율을 계산하는 측정값을 만들 때 주로 사용됩니다.
  • ALL(열 이름)은 특정 열에서 필터 컨텍스트를 유지하고 다른 모든 컨텍스트 필터를 유지하고자 할 때 사용됩니다.

 

 

ALLEXCEPT

테이블에서 지정된 열을 제외한 다른 모든 열들의 필터를 무시하고 테이블을 반환하는 함수입니다.

ALLEXCEPT( <테이블이름> or <열이름>, <열이름1>,... )
  • 테이블식은 입력 매개변수로 받을 수 없습니다. 존재하는 물리적 테이블만 입력받을 수 있습니다.
  • 열 이름은 테이블 내에서 지정이 됩니다. 필터를 유지하고자 하는 열 이름을 입력합니다. 1:M의 관계에서 1에 해당하는 테이블의 열도 지정할 수 있습니다.
  • 테이블을 반환하기 위해서 사용되지 않고 CALCULATE의 modifier를 위해 주로 사용됩니다.

 

예제

1. CALCULATE의 modifier로써 ALLEXCEPT 함수가 사용되었습니다. 'Calendar'[Transcation_Date]와 'Store Lookup'[sales_outlet_id]열은 필터가 유지되고 'Sales by Store'의 다른 모든 열은 필터가 제거됩니다. 

2. 위 측정값 DAX 식은 store ID와 Date에 대해서는 필터가 유지되고 다른 요소에 대해서는 필터가 제거됩니다. store ID는 필터가 적용되어 다른 값이 나왔고 같은 store ID내의 카테고리별로는 모두 같은 값을 가지고 있는 것을 확인할 수 있습니다. 

ALLEXCEPT함수
ALLEXCEPT 예제 그림

 

ALLSELECTED

테이블에서 지정된 열만 필터를 제거하고 다른 모든 열들은 필터를 유지한 테이블이 반환됩니다. 

ALLSELECTED( <테이블이름> or <열이름>, <열이름1>,... )
  • 필터를 제거의 대상이 되는 테이블 이름을 지정합니다.
  • 필터를 제거하고자 하는 열 이름을 지정합니다. 여러 개의 열을 지정할 수 있습니다.
  • 시각화 개체에서 보이는 열의 필터를 제거하기 때문에 시각화 내에서 보이는 값 합계 등을 구할 때 쓰입니다.

 

예제

1. customer sales 측정값이 선택된 필터 조건의 모든 값으로 변경되는 DAX 식입니다. CALCULATE의 modifier로 ALLSELECTED가 적용된 것을 볼 수 있습니다.

2. 슬라이서의 Beverages, Food, Merchandise를 선택합니다.

3. 선택된 값을 기준으로 모든 customer sales값이 결과로 반환된 것을 확인할 수 있습니다. 선택된 값의 합계를 구하여 선택된 값에 대한 sales 비율을 구할 수 있습니다. 

ALLSELECTED 예제
ALLSELECTED 예제 그림

 

Power BI DAX 배우기 - CALCULATE

 

Power BI DAX 배우기 - CALCULATE

CALCULATE는 필터를 수정하는 강력한 DAX 기능입니다. CALCULATE()는 DAX에서 가자 중요하고 강력한 함수입니다. CALCULATE()는 시각적 개체에서 비롯된 필터 컨텍스트를 수정할 수 있는 유일한 함수입니다

shareluck.tistory.com

파워비아이 DAX 함수, TABLE과 FILTER를 알아보자

 

파워비아이 DAX 함수, TABLE과 FILTER를 알아보자

오늘은 파워비아이 DAX 함수 중에서 TABLE과 FILTER 기능에 대해서 살펴보겠습니다. DAX측정값 내에서 새로운 데이터를 만들거나 새로운 테이블을 생성화여 활용합니다. 이번 포스팅에서 다룰 내용

shareluck.tistory.com

 

반응형

댓글