DAX(Data Analysis Expressions, 데이터 분석 식)는 Analysis Services, Power BI, Power Pivot에서 사용되는 수식 표현 언어입니다. DAX 데이터 유형과 수식은 연산자, 함수, 값을 포함하여 다른 데이터 모델의 테이블과 열 내부에서 계산 및 쿼리를 수행합니다.
이 글에서는 DAX 데이터 유형과 그 외 다양한 측면을 소개하고, DAX 데이터 유형이 실제로 어떻게 작동하는지 자세히 설명합니다.
작업용 엑셀 파일 다운로드
아래 링크에서 직접 실습해볼 수 있는 작업용 파일을 다운로드하세요.
Power Pivot에서의 DAX 데이터 유형과 주요 개념
DAX 식은 다양한 데이터 분석 도구에서 널리 활용됩니다. 아래 섹션에서는 Power Pivot 테이블에서의 데이터 분석 식과 그 유형에 대해 하나씩 살펴보겠습니다.
DAX(Data Analysis Expressions)란?
Excel 함수가 셀이나 범위를 조작한다는 점은 잘 알려져 있습니다. 하지만 DAX는 Excel 함수처럼 셀이나 범위를 다루는 개념을 지원하지 않습니다. 대신 오직 열(Column) 또는 테이블(Table) 개념만 사용하며, 단일 행 또는 전체 테이블 단위로 열의 값을 가져올 수 있습니다. 특히 사용자가 임의로 특정 행에 직접 접근할 수 없다는 점이 중요한 차이점입니다.
예를 들어, 10명의 직원 판매 데이터가 담긴 두 개의 워크시트가 있다고 가정해 보겠습니다.

- B3:H12 범위 선택 > 복사(CTRL+C) > Power Pivot 탭 > (Data Model 섹션의) Manage 클릭

- Power Pivot for Excel 창이 열리면 (Clipboard 섹션의) Paste를 클릭합니다.

- 적절한 테이블 이름을 입력한 후 OK를 클릭하면 데이터가 PowerPivot에 붙여넣어진 것을 확인할 수 있습니다.

Power Pivot 탭이 보이지 않는다면, 관련 가이드를 참고해 Excel 리본 메뉴에 Power Pivot 탭을 추가할 수 있습니다.
Power Pivot 테이블에서의 기본 작업
- 먼저 열 머리글의 드롭다운 화살표를 클릭하면 해당 열의 모든 값이 목록으로 표시됩니다. 여기서 Gender 열을 선택하면 세 번째 열이 강조 표시됩니다.

- 필터링을 적용하려면 Gender 열의 드롭다운 화살표를 클릭하고 F에 체크합니다. 그러면 Gender 열 값이 F인 행만 필터링되어 표시됩니다.

- Power Pivot에서 새 수식을 만드는 방법은 매우 간단합니다. 테이블 끝에 있는 Add Column을 선택하고 수식 입력란에 "=["를 입력하면 열 목록이 드롭다운으로 나타납니다. 여기서 원하는 열을 선택하면 되는데, 이번 예제에서는 Quarter 1부터 선택하여 아래와 같이 전체 수식을 완성합니다.
=[Quarter 1] + [Quarter 2] + [Quarter 3] + [Quarter 4]
- 수식을 입력하면 Power Pivot이 새 열의 이름을 자동으로 CalculatedColumn1로 지정합니다. 열을 마우스 오른쪽 버튼으로 클릭하면 이름을 언제든 변경할 수 있습니다.

DAX 연산자
아래 표는 DAX에서 사용할 수 있는 다양한 연산자 유형을 보여줍니다. Excel 워크시트에서 사용하는 연산자와 거의 동일하기 때문에 익숙하게 활용할 수 있습니다.

DAX 데이터 유형
DAX는 다양한 데이터 유형을 지원합니다. 데이터가 모델로 가져와지는 시점에 테이블 형식 모델(tabular model)의 데이터 유형 중 하나로 변환됩니다. 앞선 예제에서는 PowerPivot이 숫자 값을 처리하는 과정을 살펴보았는데, 실제로는 Integer(정수), Real(실수), Currency(통화), Date(날짜/시간), TRUE/FALSE(부울) 등 다양한 유형이 존재합니다.
- 다음 이미지는 워크시트에 입력된 원본 데이터를 보여줍니다.

- 데이터를 가져와 몇 가지 작업을 수행한 후의 결과는 아래와 같습니다.

결과를 보면 "9/13/2022"가 "9/13/2022 12:00:00 AM"으로 표시된 것을 알 수 있습니다. 이는 PowerPivot이 날짜를 항상 DateTime 형식으로 저장하기 때문이며, 그렇다고 해서 DAX 연산자가 다양한 계산을 수행하는 데 문제가 되지는 않습니다.
열을 참조하는 구문
Power Pivot에서 열을 참조하는 방법에는 두 가지가 있습니다.
(i) '테이블이름'[열이름]
(ii) 테이블이름[열이름]
열 이름은 반드시 대괄호([ ])로 묶어야 하며, 테이블 이름은 작은따옴표(' ')로 묶습니다. 다만 대부분의 경우 이름에 특수 문자가 포함되어 있지 않으면 따옴표를 생략해도 됩니다. 테이블 이름을 생략하면 Power Pivot은 현재 테이블 내에서 해당 열을 찾습니다. 혼동을 피하기 위한 가장 좋은 습관은 테이블 이름과 열 이름을 모두 포함한 전체 이름을 항상 명시하는 것입니다.
- 아래 화면은 Excel 365가 기본적으로 열을 참조하는 방식을 보여줍니다. 빨간 상자로 표시된 부분이 바로 IntelliSense인데, 수식에 사용할 수 있는 모든 열 이름과 참조 후보를 자동으로 보여주므로 매우 유용한 기능입니다.

- 기본적으로 IntelliSense는 테이블 이름을 함께 표시하지 않습니다. 테이블 이름이 포함된 전체 참조를 보려면 테이블 이름의 첫 글자 이상을 직접 입력해야 합니다. 예를 들어 테이블 이름이 "Sales"이므로 "Sa"를 입력하면 Excel이 Sales 테이블의 모든 열을 표시해 줍니다.

오류 확인 및 처리
DAX로 새로운 계산 열을 만들다 보면 때때로 오류가 발생할 수 있습니다. 오류를 빠르게 파악하고 수정하는 방법을 알아두면 작업 효율이 크게 향상됩니다.
- 예를 들어 Gender와 Age 열을 결합하는 계산 열을 추가하려고 하면, 아래 사진과 같이 Excel이 #ERROR를 반환합니다.

- 이 경우 계산 열 영역 좌측 상단에 나타나는 Ctrl(알림 아이콘)을 클릭하고 Show Error를 선택하면 PowerPivot for Excel 대화 상자가 열립니다. 여기에 표시되는 경고 메시지를 확인하면 오류의 원인을 파악하고 수식을 올바르게 수정할 수 있습니다.

참고로, DAX에서는 IFERROR, ISERROR 같은 오류 처리 함수를 활용하면 오류 발생 시 대체 값을 반환하도록 수식을 미리 설계할 수 있으므로, 반복적인 오류가 예상되는 경우 함께 사용해 보는 것이 좋습니다.
마무리
이 글에서는 데이터 분석 식(DAX)의 데이터 유형과 열 참조 구문, 그리고 오류 확인 및 처리 방법까지 기본 개념을 정리했습니다. 이 내용이 DAX를 처음 배우는 분들께 훌륭한 출발점이 되기를 바랍니다.
Excel 관련 더 많은 유용한 글을 원하신다면 저희 웹사이트 Exceldemy를 방문해 주세요.
함께 읽으면 좋은 글
- Excel에 데이터 분석 기능 추가하는 방법(2단계로 끝내기)
- Excel 데이터 분석 Toolpak 활용법(필수 기능 13가지)