Power BI - Dax - Calculate

Ryan·2025년 1월 16일

SQL/Python 분석

목록 보기
61/94

1. CALCULATE 함수 기본 구조 복습

DAX
코드 복사
CALCULATE(
    <expression>,
    <filter1>,
    <filter2>,
    ...
)
  • <expression>: SUM, AVERAGE, COUNT, DISTINCTCOUNT 등 집계 함수를 지정
  • <filter>: 테이블[컬럼] = "값" 같은 조건을 넣어, 해당 조건만 적용한 상태에서 <expression>을 계산

예) CALCULATE(COUNT(HR[EmployeeNumber]), HR[Attrition] = "No")

: 퇴사하지 않은 직원 수를 세어 줌.


2. 추가 사례: Attrition & Gender 별로 인원수 집계

아래 예시는 HR 데이터를 예로 들어, “퇴사 여부(Attrition)”와 “성별(Gender)” 조합별 인원수를 구해 시각화에 표시한 경우를 보여줍니다.

2-1. DAX Measure 작성

DAX
코드 복사
HC_By_Attrition_Gender =
CALCULATE(
    COUNT(HR[EmployeeNumber]),
    HR[Attrition] = "No",
    HR[Gender] = "Male"
)
  • 예) 위와 같이 만든 측정값(Measure)은 “퇴사하지 않은 남성(Male)”의 인원수만 세어줍니다.
  • 유사하게 다른 조건(여성, 퇴사한 케이스 등)들을 칼큘레이트로 분리해 측정값을 더 만들 수 있습니다.

2-2. 카드(Card) 시각화

  • 새 Measure를 만들면, 시각화 창에서 “카드(Card)”를 선택한 뒤 해당 측정값을 드래그 앤 드롭합니다.
  • 화면에 “퇴사하지 않은 남성 인원수” 같은 값이 한눈에 표시됩니다.

2-3. 파이 차트(Pie Chart)

  • 차원(범주)으로 Attrition, Gender 등을 드래그하고, 값(Values)에 인원수(COUNT) 혹은 새로 만든 Measure를 놓으면,
  • 파이 차트 형태로 각 조합별 비율을 직관적으로 확인 가능.
  • 아래 그림처럼, “퇴사 Yes/No” + “남/여” 조합으로 분류된 파이 차트가 나옵니다.

3. 보고서 화면 예시

  1. 카드 비주얼
    • 예: “Working HC: [Filtered HC]”로 이름 붙인 카드에서, CALCULATE를 활용해 조건부 집계를 표시.
    • 화면상에는 “1,253 명” / “237 명” / “16.2%” 등 다양한 조건에 따른 측정값을 배치할 수 있음.
  2. 파이 차트
    • “HC by Attrition / Gender”라는 제목의 파이 차트에,
    • 퇴사(Y/N)와 성별(M/F) 조합별로 인원수가 어떻게 나뉘는지 시각화.
    • 차트를 클릭해 세부값을 확인하거나, 다른 시각화와 상호 작용(필터링)시킬 수도 있음.

이처럼 CALCULATE 함수를 통해 특정 조건하의 집계 결과를 Measure로 정의해두면,

카드, 파이 차트, 테이블/매트릭스 등 다양한 시각화 컴포넌트에서 쉽고 빠르게 불러다 쓸 수 있습니다.


4. 요약 및 팁

  1. CALCULATE는 DAX의 대표적인 필터 함수로, 필터를 추가하거나 기존 컨텍스트를 재정의해 주어진 집계를 계산합니다.
  2. Attrition, Gender 등 여러 컬럼에 대해 AND 조건을 쉼표로 나열해도 좋고, 복잡한 경우에는 FILTER 함수를 중첩하여 OR 조건 등을 구성할 수 있습니다.
  3. 시각화 단계에서는 Measure로 만들어둔 값들을 카드차트에 배치해 손쉽게 KPI 지표를 표현 가능합니다.
  4. Power BI의 필터 컨텍스트와 CALCULATE 함수가 어떻게 상호작용하는지 이해하면, 같은 Measure가 필터링(슬라이서, 시각화 상호작용 등)에 따라 동적으로 업데이트되어 매우 유연한 보고서를 만들 수 있습니다.

0개의 댓글