안녕하세요?
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 함수를 더 다채롭게 해 주는 수식에 대해 배워보았습니다. 다음 시간에도 더 유용한 기능으로 찾아올게요! 감사합니다.
'POWER BI' 카테고리의 다른 글
[POWER BI/파워비아이] 데이터 분석을 위해 반드시 알아야 할 5가지 DAX 함수 (0) | 2025.01.06 |
---|---|
[POWER BI / 파워비아이] KEEPFILTERS / REMOVERFILTERS 이해하기 (0) | 2024.12.30 |
[POWER BI/파워비아이] DAX - 데이터 관계도를 좀 더 다양하게 사용하고 싶다면? USERRELATIONSHIP 활용법 (1) | 2024.12.16 |
[POWER BI/파워비아이] 롤링 계산과 교차점을 이용한 예측 모델 구성하기 (0) | 2024.12.09 |
[POWER BI/파워비아이] 롤링 3, 6, 12개월 계산으로 트렌드 예측하기 (0) | 2024.12.04 |