Power Pivot의 DAX(데이터 분석 식)

참고: 사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서가 여기 있습니다.

DAX (데이터 분석 식)는 처음에는 다소 어려워 보이지만 이름을 속일 수는 없습니다. DAX 기본 사항은 매우 쉽게 이해할 수 있습니다. 먼저-DAX는 프로그래밍 언어가 아닙니다. DAX는 수식 언어입니다. DAX를 사용 하 여 계산 된 열측정값 (계산 필드 라고도 함)에 대 한 사용자 지정 계산을 정의할 수 있습니다. DAX에는 Excel 수식에 사용 되는 함수와 관계형 데이터를 사용 하 고 동적 집계를 수행 하도록 디자인 된 추가 기능이 포함 되어 있습니다.

DAX 수식 이해

DAX 수식은 Excel 수식과 매우 비슷합니다. DAX 수식을 만들려면 등호 뒤에 함수 이름 또는 식과 필요한 값 또는 인수를 입력합니다. DAX는 Excel과 같이 문자열을 사용하거나, 날짜 및 시간을 사용하여 계산을 수행하거나, 조건 값을 만드는 데 사용할 수 있는 다양한 함수를 제공합니다.

그러나 DAX 수식에는 다음과 같은 중요한 차이점이 있습니다.

  • 행 단위로 계산을 사용자 지정하려는 경우 DAX에 포함된 함수를 통해 현재 행 값이나 관련 값을 사용하여 컨텍스트에 따라 달라지는 계산을 수행할 수 있습니다.

  • DAX에는 단일 값이 아닌 테이블을 결과로 반환하는 함수 유형이 포함되어 있습니다. 이러한 함수는 다른 함수에 대한 입력을 제공하는 데 사용할 수 있습니다.

  • DAX의 시간 인텔리전스 함수는 날짜 범위를 사용 하 여 계산을 허용 하 고 결과를 병렬 기간별 비교 합니다.

DAX 수식을 사용하는 위치

파워 피벗 에서 계산 된 columns 또는 계산 된 fields에서 수식을 만들 수 있습니다.

계산 열

계산 열은 기존 파워 피벗 테이블에 추가하는 열입니다. 열에 값을 붙여 넣거나 가져오는 대신 열 값을 정의하는 DAX 수식을 만듭니다. 피벗 테이블(또는 피벗 차트)에 파워 피벗 테이블을 포함할 경우 다른 데이터 열과 마찬가지로 계산 열을 사용할 수 있습니다.

계산 열의 수식은 Excel에서 만드는 수식과 매우 비슷합니다. 하지만 Excel의 경우와 달리 테이블의 행마다 서로 다른 수식을 만들 수 없습니다. 대신 DAX 수식이 전체 열에 자동으로 적용됩니다.

열에 수식이 있으면 각 행에 대해 값이 계산됩니다. 수식을 작성하자마자 열에 대해 결과가 계산됩니다. 열 값은 관련 데이터를 새로 고치거나 수동 다시 계산을 사용할 경우에만 다시 계산됩니다.

측정값 및 기타 계산 열을 기반으로 하는 계산 된 열을 만들 수 있습니다. 그러나 계산 된 열과 측정값에 동일한 이름을 사용 하지 않는 것은 혼란 스 러 울 수 있습니다. 열을 참조할 때는 정규화 된 열 참조를 사용 하 여 실수로 측정값을 호출 하지 않도록 하는 것이 좋습니다.

자세한 내용은 Power Pivot의 계산 열을 참고하세요.

수단

측정값은 파워 피벗 data를 사용 하는 피벗 테이블 (또는 피벗 차트)에서 사용 하기 위해 특별히 만들어진 수식입니다. 측정값은 COUNT 또는 SUM과 같은 표준 집계 함수를 기반으로 하거나 DAX를 사용 하 여 고유한 수식을 정의할 수 있습니다. 측정값은 피벗 테이블의 영역에 사용 됩니다. 계산 된 결과를 피벗 테이블의 다른 영역에 놓으려면 계산 열을 대신 사용 합니다.

명시적 측정값에 대 한 수식을 정의 하는 경우에는 측정값을 피벗 테이블에 추가할 때까지 아무 작업도 수행 되지 않습니다. 측정값을 추가 하면 피벗 테이블의 영역에 있는 각 셀에 대해 수식이 계산 됩니다. 행 및 열 머리글의 각 조합에 대해 결과가 만들어지므로 각 셀에서 측정값의 결과가 다를 수 있습니다.

만든 측정값에 대 한 정의가 원본 데이터 테이블과 함께 저장 됩니다. 피벗 테이블 필드 목록에 나타나며 통합 문서의 모든 사용자가 사용할 수 있습니다.

자세한 내용은 Power Pivot의 측정값을 참조 하세요.

수식 입력줄을 사용하여 수식 만들기

Excel과 마찬가지로 파워 피벗에서는 수식을 손쉽게 만들고 편집할 수 있는 수식 입력줄과 입력 및 구문 오류를 최소화하는 자동 완성 기능을 제공합니다.

테이블 이름을 입력하려면   테이블 이름 입력을 시작합니다. 수식 자동 완성 사용 기능에서 해당 문자로 시작하는 유효한 이름이 포함된 드롭다운 목록을 제공합니다.

열 이름을 입력하려면   대괄호를 입력한 다음 현재 테이블의 열 목록에서 열을 선택합니다. 다른 테이블에 있는 열의 경우 테이블 이름의 처음 몇 문자를 입력한 후 자동 완성 드롭다운 목록에서 열을 선택합니다.

수식을 작성하는 방법을 보여 주는 연습과 자세한 내용은 Power Pivot에서 계산 수식 작성을 참고하세요.

자동 완성 사용 팁

중첩된 함수가 있는 기존 수식의 중간에 수식 자동 완성 기능을 사용할 수 있습니다. 삽입 포인터 바로 앞에 있는 텍스트가 드롭다운 목록에 값을 표시하는 데 사용되고 삽입 포인터 뒤에 있는 모든 텍스트는 변경되지 않고 그대로 유지됩니다.

상수에 대해 만드는 정의된 이름은 자동 완성 드롭다운 목록에 표시되지는 않지만 이 이름을 입력할 수 있습니다.

파워 피벗 기능은 함수의 닫는 괄호를 추가하거나 괄호를 자동으로 일치시키지 않습니다. 각 함수의 구문이 올바른지 확인해야 합니다. 구문이 올바르지 않으면 수식을 저장하거나 사용할 수 없습니다. 

수식에 여러 함수 사용

한 함수의 결과를 다른 함수의 인수로 사용하도록 함수를 중첩할 수 있습니다. 계산 열에서 함수의 64 수준까지 중첩할 수 있습니다. 그러나 함수를 중첩하면 수식을 만들거나 수식의 문제를 해결하기가 어려워질 수 있습니다.

DAX의 여러 함수는 중첩 함수로만 사용되도록 설계되었습니다. 이러한 함수는 테이블을 반환합니다. 테이블은 결과로 직접 저장할 수 없으며 테이블 함수에 대한 입력으로 제공해야 합니다. 예를 들어 SUMX, AVERAGEX 및 MINX 함수의 경우 첫 번째 인수로 테이블을 사용해야 합니다.

참고: 여러 열의 종속성에 필요한 많은 계산이 성능에 영향을 주지 않도록 측정값 내에 함수 중첩에 대 한 몇 가지 제한이 있습니다.

DAX 함수와 Excel 함수 비교

DAX 함수 라이브러리는 Excel 함수 라이브러리를 기반으로 하지만 여러 가지 차이점이 있습니다. 이 섹션에서는 Excel 함수 및 DAX 함수 간의 차이점 및 유사점에 대해 간략하게 설명합니다.

  • 대부분의 DAX 함수는 Excel 함수와 이름이 같고 동일한 일반 동작을 수행하지만 다른 형식의 입력을 받아들이도록 수정되었으며 경우에 따라 다른 데이터 형식을 반환할 수 있습니다. 일반적으로 수정 작업을 하지 않으면 Excel 수식에서 DAX 함수를 사용하거나 파워 피벗에서 Excel 수식을 사용할 수 없습니다.

  • DAX 함수는 셀 참조 또는 범위를 참조로 받아들이지 않고 열 또는 테이블을 참조로 받아들입니다.

  • DAX 날짜 및 시간 함수는 datetime 데이터 형식을 반환하지만 Excel 날짜 및 시간 함수는 날짜를 일련 번호로 나타내는 정수를 반환합니다.

  • 대부분의 새 DAX 함수는 값 테이블을 반환하거나 입력으로 값 테이블을 사용하여 계산을 수행합니다. 이와 달리 Excel에는 테이블을 반환하는 함수가 없지만 일부 함수에서 배열 작업을 수행할 수 있습니다. 전체 테이블 및 열을 쉽게 참조할 수 있는 기능은 파워 피벗의 새 기능입니다.

  • DAX에서는 Excel의 배열 및 벡터 조회 함수와 비슷한 새로운 조회 함수를 제공하지만 DAX 함수의 경우 테이블 간에 관계를 설정해야 합니다.

  • 열의 데이터 형식은 항상 동일한 데이터 형식이어야 합니다. 데이터가 동일한 형식이 아니면 DAX는 전체 열을 모든 값에 가장 적합한 데이터 형식으로 변경합니다.

DAX 데이터 형식

다양한 데이터 형식을 지원하는 여러 데이터 원본의 데이터를 파워 피벗 데이터 모델로 가져올 수 있습니다. 데이터를 가져오거나 로드하고 계산 또는 피벗 테이블에서 사용하는 경우 데이터가 파워 피벗 데이터 형식 중 하나로 변환됩니다. 데이터 형식 목록은 데이터 모델의 데이터 형식을 참고하세요.

테이블 데이터 형식은 새로운 많은 함수에 대한 입력 또는 출력으로 사용되는 DAX의 새로운 데이터 형식입니다. 예를 들어 FILTER 함수는 테이블을 입력으로 사용하여 필터 조건을 충족하는 행만 포함하는 다른 테이블을 출력합니다. 집계 함수와 테이블 함수를 결합하면 동적으로 정의된 데이터 집합을 대상으로 복잡한 계산을 수행할 수 있습니다. 자세한 내용은 Power Pivot의 집계를 참고하세요.

수식 및 관계형 모델

파워 피벗 창은 여러 데이터 테이블을 사용 하 여 작업 하 고 관계형 모델에서 테이블을 연결할 수 있는 영역입니다. 이 데이터 모델 내에서는 테이블이 서로 연결 되므로 다른 테이블의 열을 사용 하 여 상관 관계를 만들고 보다 흥미로운 계산을 만들 수 있습니다. 예를 들어 관련 테이블의 값 합계를 계산 하 고 해당 값을 단일 셀에 저장 하는 수식을 만들 수 있습니다. 또는 관련 테이블에서 행을 제어 하기 위해 테이블 및 열에 필터를 적용할 수 있습니다. 자세한 내용은 데이터 모델에서 테이블 간의 관계를 참조 하세요.

관계를 사용하여 테이블을 연결할 수 있기 때문에 다양한 테이블의 여러 열에 있는 데이터가 피벗 테이블에 포함될 수도 있습니다.

하지만 수식이 전체 테이블과 열에 적용될 수 있기 때문에 Excel과는 다르게 계산을 디자인해야 합니다.

  • 일반적으로 열의 DAX 수식은 일부 행 또는 셀에만 적용되지 않고 항상 열의 전체 값 집합에 적용됩니다.

  • 파워 피벗의 테이블은 각 행에 항상 같은 수의 열이 있고 열의 모든 행에 동일한 데이터 형식이 포함되어야 합니다.

  • 관계를 통해 테이블을 연결할 경우 키로 사용된 두 열의 값이 대부분 일치해야 합니다. 파워 피벗에서는 참조 무결성을 강제로 적용하지 않기 때문에 키 열에 일치하지 않는 값이 있을 수 있으며 그래도 관계는 만들어집니다. 그러나 빈 값이나 일치하지 않는 값이 있으면 수식 결과와 피벗 테이블의 모양에 영향을 줄 수 있습니다. 자세한 내용은 Power Pivot 수식의 조회를 참고하세요.

  • 관계를 사용 하 여 테이블을 연결 하면 범위가 확대 되거나 수식이 계산 되는 context . 예를 들어 피벗 테이블의 수식은 피벗 테이블의 필터나 열 및 행 머리글에 의해 영향을 받을 수 있습니다. 컨텍스트를 조작 하는 수식을 작성할 수 있지만, 컨텍스트는 예상 하지 못하는 방식으로 결과가 변경 될 수도 있습니다. 자세한 내용은 DAX 수식의 컨텍스트를 참조 하세요.

수식 결과 업데이트

데이터 r efresh 및 다시 계산은 복잡 한 수식, 많은 양의 데이터 또는 외부 데이터 원본에서 가져온 데이터를 포함 하는 데이터 모델을 디자인할 때 이해 해야 하는 별도의 두 가지 관련 작업입니다.

데이터 새로 고침은 통합 문서의 데이터를 외부 데이터 원본의 새 데이터로 업데이트하는 프로세스입니다. 지정한 간격마다 수동으로 데이터를 새로 고칠 수 있습니다. 또는 통합 문서를 SharePoint 사이트에 게시한 경우 외부 원본에서 자동 새로 고침을 예약할 수 있습니다.

다시 계산은 수식 변경 및 기본 데이터의 변경 내용을 반영하도록 수식의 결과를 업데이트하는 프로세스입니다. 다시 계산은 다음과 같은 방식으로 성능에 영향을 줄 수 있습니다.

  • 계산 열의 경우 수식을 변경할 때마다 항상 전체 열에 대해 수식의 결과를 다시 계산해야 합니다.

  • 측정값의 경우 수식이 피벗 테이블 또는 피벗 차트의 컨텍스트에 배치 될 때까지 수식의 결과가 계산 되지 않습니다. 데이터의 필터에 영향을 주는 행 또는 열 머리글을 변경 하거나 수동으로 피벗 테이블을 새로 고칠 때에도 수식이 다시 계산 됩니다.

수식 문제 해결

수식 작성 시 오류

수식을 정의할 때 수식에 구문 오류, 의미 오류 또는 계산 오류가 있는 경우 오류가 발생할 수 있습니다.

구문 오류는 해결하기 가장 쉽습니다. 일반적으로 괄호나 쉼표가 누락되었을 수 있습니다. 개별 함수의 구문에 대한 도움말은 DAX 함수 관련 참고 문서를 참고하세요.

구문이 올바르면 다른 오류가 발생했을 수 있지만, 참조한 값이나 열은 수식의 컨텍스트에서 적합하지 않습니다. 의미 오류와 계산 오류는 다음 문제로 인해 발생할 수 있습니다.

  • 수식에서 존재하지 않는 열, 테이블 또는 함수를 참조합니다.

  • 수식이 올바른 것 같지만, 데이터 엔진이 데이터를 인출할 때 형식 불일치를 발견하여 오류가 발생합니다.

  • 수식에서 잘못된 매개 변수의 수 또는 유형을 함수로 전달합니다.

  • 수식이 오류가 있는 다른 열을 참조하므로 값이 유효하지 않습니다.

  • 수식이 처리되지 않은 열을 참조합니다. 즉, 메타데이터가 있지만 계산에 사용할 실제 데이터는 없습니다.

처음 네 가지 원인의 경우 DAX는 유효하지 않은 수식이 포함된 전체 열에 플래그를 지정합니다. 마지막 원인의 경우 DAX는 열을 회색으로 표시하여 열이 처리되지 않은 상태임을 나타냅니다.

열 값의 순위나 순서 지정 시 잘못된 결과 또는 특이한 결과

NaN(숫자가 아님) 값이 포함된 열의 순위나 순서를 지정하면 잘못되거나 특이한 결과를 얻을 수 있습니다. 예를 들어 계산에서 0을 0으로 나누면 NaN 결과가 반환됩니다.

이것은 수식 엔진이 숫자 값을 비교하여 순서 및 순위 지정을 수행하기 때문입니다. 하지만, NaN은 열의 다른 숫자와 비교할 수 없습니다.

올바른 결과를 얻으려면 IF 함수를 사용하는 조건문을 사용하여 NaN 값이 있는지 테스트하고 숫자 값 0을 반환할 수 있습니다.

Analysis Services 테이블 형식 모델 및 DirectQuery 모드와의 호환성

일반적으로 파워 피벗에서 작성하는 DAX 수식은 Analysis Services 테이블 형식 모델과 완벽하게 호환됩니다. 그러나 파워 피벗 모델을 Analysis Services 인스턴스로 마이그레이션하고 해당 모델을 DirectQuery 모드에서 배포할 경우에는 몇 가지 제한이 있습니다.

  • 모델을 DirectQuery 모드에서 배포할 경우 일부 DAX 수식이 다른 결과를 반환할 수 있습니다.

  • 일부 수식에는 관계형 데이터 원본에 대해 지원되지 않는 DAX 함수가 포함되어 있으므로 모델을 DirectQuery 모드에 배포할 경우 이러한 수식으로 인해 유효성 검사 오류가 발생할 수 있습니다.

자세한 내용은 SQL Server 2012 온라인 설명서의 Analysis Services 테이블 형식 모델링 설명서를 참고하세요.

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×