본문 바로가기
POWER BI

[POWER BI/파워비아이] FILTER/ALLEXCEP/ALL 이해하기

by 하니in독일 2024. 12. 23.
반응형

 

안녕하세요?

POWER BI를 활용할 때 가장 많이 사용하는 함수는 고르라고 하면, CALCULATE를 떠오르실 텐데요. 이 함수의 장점은 다양한 필터링을 적용할 수 있다는 것입니다.

필터링에 따라 특정 콘텍스트를 조작할 수 있는 것이지요. 이러한 함수는 유연성과 정밀도를 제공합니다.

 

그래서 오늘은 POWER BI의 CALCULATE 함수를 좀 더 다채롭게 사용하는 방법에 대해 알아보겠습니다. 

알아볼 함수는: ALL, ALLEXCEPT, FILTER입니다.

 


예시 데이터는 아래를 참조해 주세요. 

 

Country Amount Category
Canada 680 Electronics
Brazil 1825 Furniture
Brazil 1328 Furniture
France 1964 Furniture
Brazil 1087 Electronics
France 1438 Electronics
Canada 1160 Clothing
France 507 Electronics
India 1400 Electronics
USA 1424 Clothing
Germany 1002 Electronics
Canada 1029 Clothing
USA 1242 Clothing
USA 685 Clothing
Brazil 1596 Electronics
Australia 869 Clothing
USA 1510 Electronics
Brazil 1231 Clothing
Australia 1199 Furniture
USA 1060 Furniture
Australia 979 Clothing
China 939 Clothing
UK 1414 Electronics
France 1407 Electronics
Australia 1200 Electronics
France 1393 Furniture
Australia 587 Clothing
Canada 568 Clothing
Australia 723 Furniture
Brazil 630 Furniture
Canada 785 Electronics
France 1483 Furniture
Germany 553 Clothing
Brazil 757 Electronics
Brazil 954 Furniture
Australia 624 Clothing
Germany 1991 Electronics
Japan 1105 Furniture
China 883 Furniture
France 1405 Clothing
Germany 1513 Clothing
India 564 Furniture
China 1878 Clothing

1. ALL: 필터 제거

: ALL 함수는 지정한 열이나 테이블에서 모든 필터를 제거합니다. 이 함수는 전체 데이터를 기준으로 계산을 수행하고자 할 때 유용합니다. 

 

예를 들어, 아래의 두 식을 비교해 봅시다. 

Total Sales = SUM(Sales[Amount])

 

All Sales = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Country]))

 


결괏값을 비교해 보면 다음과 같습니다.

 

Total Sales: 국가별로 총합이 나누어져서 표시가 됩니다. 

All Sales: Country의 필터가 적용이 되지 않고, 총합을 보여줍니다. 

 






2. ALLEXCEPT: 특정 열만 필터 유지

: ALLEXCEPT는 특정 열을 제외하고 나머지 모든 필터를 제거합니다. 특정 조건을 유지하면서 다른 필터를 무효화하고자 할 때 사용됩니다.

예를 들어, Country를 기준으로 한 총합을 계산하고자 할 때 사용할 수 있습니다. 

Region Sales
= CALCULATE(SUM(Sales[Amount]), ALLEXCEPT(Sales, Sales[Country]))

이는 다음과 같은 결과를 보여줍니다. 

 

Total Sales: Category와 Country, 두 가지 기준에 필터 된 총세일즈를 제공합니다. 

 

Country Sales: Country 기준에만 필터가 되고, Category에는 영향을 받지 않는 것을 볼 수 있습니다. 

 

 

반대로 ALLEXCEPT(Sales, Sales [Category])를 이용하면, 카테고리에만 영향을 받는 계산식을 만들 수 있습니다. 

 


 

3. FILTER: 조건 기반 필터

: FILTER는 특정 조건에 따라 테이블을 필터링합니다. 이 함수는 테이블 전체를 대상으로 조건을 적용하며, 결과는 새로운 테이블로 반환됩니다.

예를 들어, 카테고리가 Clothing인 세일즈의 합계만 계산하고자 할 때 다음과 같이 사용할 수 있습니다. 

Clothing Sales 
= CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Category]="Clothing"))

그러면 다음과 같은 결과를 볼 수 있습니다. 

 

Clothing Sales: 선택한 카테고리의 합계만 보여줍니다. 




ALL/ALLEXCEPT/FILTER


Power BI의 DAX 필터 함수는 데이터 컨텍스트를 자유롭게 조작할 수 있도록 도와줍니다.

ALL과 ALLEXCEPT는 필터를 제거하거나 특정 조건만 유지할 수 있게 해주며,

FILTER는 조건에 따른 정교한 데이터 필터링을 제공합니다.


 

오늘은 CALCULATE 함수를 더 다채롭게 해 주는 수식에 대해 배워보았습니다. 다음 시간에도 더 유용한 기능으로 찾아올게요! 감사합니다. 

반응형