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의 계산 열을 참고 합니다.

측정값

측정값은 파워 피벗 데이터를 사용 하는 피벗 테이블 (또는 피벗 차트)에서 사용 하기 위해 구체적으로 만들어지는 수식입니다. 측정값 개수 또는 합계를 같은 표준 집계 함수 기반 수 또는 DAX를 사용 하 여 직접 수식을 정의할 수 있습니다. 피벗 테이블의 영역에 측정값 사용 됩니다. 피벗 테이블의 다른 영역에 계산 된 결과 배치 하려면 계산된 된 열을 대신 사용 합니다.

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

만든 측정 정의 해당 원본 데이터 테이블로 함께 저장 됩니다. 피벗 테이블 필드 목록에 표시 하 고 통합 문서의 모든 사용자가 사용할 수 있습니다.

자세한 내용은 Powerpivot에서 조치를 참조 합니다.

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

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 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×