PowerPivot의 DAX 시나리오

이 섹션에서는 다음 시나리오에서 DAX 수식을 사용 하는 방법을 보여 주는 예제에 대 한 링크를 제공 합니다.

  • 복잡 한 계산 수행

  • 텍스트 및 날짜 작업

  • 조건 값 및 오류 테스트

  • 시간 인텔리전스 사용

  • 값 순위 지정 및 비교

이 문서의 내용

시작

시나리오: 복잡 한 계산 수행

피벗 테이블에 대 한 사용자 지정 계산 만들기

수식에 필터 적용

선택적으로 필터를 제거 하 여 동적 비율 만들기

외부 루프의 값을 사용 하는 경우

시나리오: 텍스트 및 날짜 작업

연결을 통해 키 열 만들기

텍스트 날짜에서 추출 된 날짜 부분을 기반으로 날짜 작성

사용자 지정 날짜 또는 숫자 형식 정의

수식을 사용 하 여 데이터 형식 변경

시나리오: 조건 값 및 오류 테스트

조건을 기반으로 값 만들기

수식 내의 오류 테스트

시나리오: 시간 인텔리전스 사용

누적 매출 계산

시간에 따른 값 비교

사용자 지정 날짜 범위에 대 한 값 계산

시나리오: 값 순위 지정 및 비교

피벗 테이블에 상위 10 개의 항목만 표시

수식을 사용 하 여 동적으로 항목 순서를 정렬 합니다.

시작하기

산업 선두적인 전문가와 Microsoft에서 제공 하는 블로그, 샘플, 백서, 비디오를 포함 하 여 DAX에 대 한 모든 종류의 정보를 찾을 수 있는 Dax 리소스 센터 Wiki 를 방문 하세요.

시나리오: 복잡 한 계산 수행

DAX 수식은 조건부 값의 사용자 지정 집계, 필터링 및 사용을 포함 하는 복잡 한 계산을 수행할 수 있습니다. 이 섹션에서는 사용자 지정 계산을 시작 하는 방법에 대 한 예제를 제공 합니다.

피벗 테이블에 대 한 사용자 지정 계산 만들기

계산 및 CALCULATETABLE 계산 필드를 정의 하는 데 유용 하 게 사용할 수 있는 강력 하 고 유연한 함수입니다. 이러한 함수를 사용 하 여 계산을 수행할 컨텍스트를 변경할 수 있습니다. 수행할 집계 또는 수학 연산 유형을 사용자 지정할 수도 있습니다. 예제는 다음 항목을 참조 하세요.

수식에 필터 적용

DAX 함수가 인수로 테이블을 사용 하는 대부분의 경우에는 일반적으로 테이블 이름 대신 FILTER 함수를 사용 하거나 필터 식을 함수 인수 중 하나로 지정 하 여 필터링 된 테이블을 전달할 수 있습니다. 다음 항목에서는 필터를 만드는 방법과 필터가 수식의 결과에 미치는 영향에 대 한 예제를 제공 합니다. 자세한 내용은 DAX 수식의 데이터 필터링을 참조 하세요.

FILTER 함수는 식을 사용 하 여 필터 조건을 지정 하 고, 다른 함수는 특별히 빈 값을 필터링 하도록 디자인 되어 있습니다.

선택적으로 필터를 제거 하 여 동적 비율 만들기

수식에서 동적 필터를 만들면 다음과 같은 질문에 쉽게 대답할 수 있습니다.

  • 현재 제품의 총 판매량에 대 한 연간 판매액의 기여도는 무엇 인가요?

  • 이 부서가 다른 디비전과 비교 하 여 모든 운영 연도의 총 수익에 대 한이 수는 얼마나 되나요?

피벗 테이블에서 사용 하는 수식은 피벗 테이블 컨텍스트의 영향을 받을 수 있지만, 필터를 추가 하거나 제거 하 여 컨텍스트를 선택적으로 변경할 수 있습니다. 모든 항목의 예제에서는이 작업을 수행 하는 방법을 보여 줍니다. 모든 대리점에 대 한 판매를 통해 특정 대리점에 대 한 판매 비율을 찾으려면 현재 컨텍스트의 값을 ALL 컨텍스트의 값으로 나누어 계산 하는 측정값을 만듭니다.

ALLEXCEPT 항목은 수식에서 필터를 선택적으로 지우는 방법에 대 한 예제를 제공 합니다. 두 예제에서는 모두 피벗 테이블 디자인에 따라 결과가 어떻게 달라 지는 지를 살펴봅니다.

비율과 백분율을 계산 하는 방법에 대 한 다른 예제는 다음 항목을 참조 하세요.

외부 루프의 값을 사용 하는 경우

계산에서 현재 컨텍스트의 값을 사용 하는 것 외에도 DAX는 관련 계산 집합을 만들 때 이전 루프의 값을 사용할 수 있습니다. 다음 항목에서는 외부 루프의 값을 참조 하는 수식을 작성 하는 방법을 보여 주는 연습을 제공 합니다. 이전 함수는 중첩 된 루프 수준을 2 개까지 지원 합니다.

행 컨텍스트 및 관련 테이블에 대해 자세히 알아보고 수식에서이 개념을 사용 하는 방법에 대 한 자세한 내용은 DAX 수식의 컨텍스트를 참조 하세요.

시나리오: 텍스트 및 날짜 작업

이 섹션에서는 텍스트 작업, 날짜 및 시간 값 추출 및 작성, 조건을 기반으로 값 만들기와 관련 된 일반적인 시나리오의 예를 포함 하는 DAX 참조 항목에 대 한 링크를 제공 합니다.

연결을 통해 키 열 만들기

파워 피벗 는 복합 키를 허용 하지 않습니다. 따라서 데이터 원본에 복합 키가 있는 경우 단일 키 열로 결합 해야 할 수 있습니다. 다음 항목에서는 복합 키를 기준으로 계산 된 열을 만드는 방법에 대 한 예제를 제공 합니다.

텍스트 날짜에서 추출 된 날짜 부분을 기반으로 날짜 작성

파워 피벗 에서는 SQL Server 날짜/시간 데이터 형식을 사용 하 여 날짜 작업을 수행 합니다. 따라서 외부 데이터에 서로 다른 형식의 날짜를 포함 하는 경우 (예: 날짜를 파워 피벗 데이터 엔진에서 인식 하지 못하는 지역 날짜 형식으로 기록 하거나 데이터에 정수 서로게이트 키가 사용 되는 경우) DAX 수식을 사용 하 여 날짜 부분을 추출 하 고 해당 파트를 유효한 날짜/시간 표현으로 구성 해야 할 수 있습니다.

예를 들어 정수로 표시 된 날짜 열을 텍스트 문자열로 가져온 경우 다음 수식을 사용 하 여 해당 문자열을 날짜/시간 값으로 변환할 수 있습니다.

= DATE (RIGHT ([Value1], 4), LEFT ([Value1], 2), MID ([Value1], 2))

value1

결과

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

다음 항목에서는 날짜를 추출 하 고 작성 하는 데 사용 되는 함수에 대 한 자세한 정보를 제공 합니다.

사용자 지정 날짜 또는 숫자 형식 정의

데이터에 표준 Windows 텍스트 형식 중 하나로 표시 되지 않는 날짜 또는 숫자가 포함 되어 있으면 사용자 지정 형식을 정의 하 여 값이 올바르게 처리 되도록 할 수 있습니다. 이러한 형식은 값을 문자열로 변환 하거나 문자열에서 변환할 때 사용 합니다. 다음 항목에서는 날짜 및 숫자 작업에 사용할 수 있는 미리 정의 된 형식의 자세한 목록도 제공 합니다.

수식을 사용 하 여 데이터 형식 변경

파워 피벗 에서 출력의 데이터 형식은 원본 열에 따라 결정 되며 최적의 데이터 형식은 파워 피벗 에 따라 결정 되므로 결과의 데이터 형식을 명시적으로 지정할 수 없습니다. 그러나 파워 피벗 에서 수행 하는 암시적 데이터 형식 변환을 사용 하 여 출력 데이터 형식을 조작할 수 있습니다. 

  • 날짜 또는 숫자 문자열을 숫자로 변환 하려면 1.0을 곱합니다. 예를 들어 다음 수식은 현재 날짜에서 3 일을 뺀 다음 해당 정수 값을 출력 합니다.

    = (TODAY ()-3) * 1.0

  • 날짜, 숫자 또는 통화 값을 문자열로 변환 하려면 값을 빈 문자열에 연결 합니다. 예를 들어 다음 수식은 오늘 날짜를 문자열로 반환 합니다.

    = "" & 오늘 ()

다음 함수를 사용 하 여 특정 데이터 형식이 반환 되도록 할 수도 있습니다.

실제 숫자를 정수로 변환

시나리오: 조건 값 및 오류 테스트

Excel과 마찬가지로 DAX에는 데이터의 값을 테스트 하 고 조건을 기준으로 다른 값을 반환할 수 있는 기능이 있습니다. 예를 들어, 연간 판매 금액 에 따라 대리점 에 레이블을 표시 하 Preferred 는 계산 된 열을 만들 수 있습니다. 값의 범위 또는 형식을 확인 하 여 예기치 않은 데이터 오류가 계산 되지 않도록 하는 데 해당 값을 테스트 하는 함수를 사용할 수도 있습니다.

조건을 기반으로 값 만들기

중첩 된 IF 조건을 사용 하 여 값을 테스트 하 고 조건적으로 새 값을 생성할 수 있습니다. 다음 항목에는 조건부 처리 및 조건부 값의 몇 가지 간단한 예가 포함 되어 있습니다.

수식 내의 오류 테스트

Excel과 달리 계산 된 열의 한 행에는 유효한 값이 있고 다른 행에는 잘못 된 값이 있을 수 없습니다. 즉, 파워 피벗 열의 일부에 오류가 있는 경우 전체 열에 오류가 있는 플래그가 지정 되므로 잘못 된 값을 반환 하는 수식 오류를 항상 수정 해야 합니다.

예를 들어 0으로 나누는 수식을 만드는 경우 무한대 결과 또는 오류를 가져올 수 있습니다. 숫자 값이 필요한 경우 함수에서 빈 값을 발견 하는 경우에도 일부 수식이 실패 합니다. 데이터 모델을 개발 하는 동안에는 오류 표시를 허용 하 여 메시지를 클릭 하 고 문제를 해결할 수 있도록 하는 것이 가장 좋습니다. 그러나 통합 문서를 게시할 때는 오류 처리를 통합 하 여 예기치 않은 값으로 인해 계산이 실패 하지 않도록 해야 합니다.

계산 된 열에서 오류를 반환 하지 않으려면 logical 및 information 함수의 조합을 사용 하 여 오류를 테스트 하 고 항상 유효한 값을 반환 합니다. 다음 항목에서는 DAX에서이 작업을 수행 하는 방법에 대 한 몇 가지 간단한 예제를 제공 합니다.

시나리오: 시간 인텔리전스 사용

DAX 시간 인텔리전스 함수에는 데이터에서 날짜 또는 날짜 범위를 검색 하는 데 도움이 되는 함수가 포함 되어 있습니다. 그런 다음 해당 날짜 또는 날짜 범위를 사용 하 여 비슷한 기간에 걸친 값을 계산할 수 있습니다. 또한 시간 인텔리전스 함수에는 표준 날짜 간격을 사용 하 여 작업 하는 함수가 포함 되어 있으므로 월, 연도 또는 분기 간의 값을 비교할 수 있습니다. 지정 된 기간에 대 한 첫 번째 및 마지막 날짜의 값을 비교 하는 수식을 만들 수도 있습니다.

모든 시간 인텔리전스 함수의 목록은 시간 인텔리전스 함수 (DAX)를 참조 하세요. 파워 피벗 분석에서 날짜 및 시간을 효과적으로 사용 하는 방법에 대 한 팁은 Power Pivot의 날짜를 참조 하세요.

누적 매출 계산

다음 항목에는 마감 및 개시 잔액을 계산 하는 방법의 예가 포함 되어 있습니다. 예를 들어 일, 월, 분기 또는 연도와 같은 다양 한 간격에 걸친 잔액을 만들 수 있습니다.

시간에 따른 값 비교

다음 항목에는 여러 기간에서 합계를 비교 하는 방법의 예가 포함 되어 있습니다. DAX에서 지 원하는 기본 기간은 월, 분기 및 연도입니다.

사용자 지정 날짜 범위에 대 한 값 계산

영업 홍보 시작 후 처음 15 일 (예: 사용자 지정 날짜 범위를 검색 하는 방법에 대 한 예제는 다음 항목을 참조 하세요.

시간 인텔리전스 함수를 사용 하 여 사용자 지정 날짜 집합을 검색 하는 경우 계산을 수행 하는 함수에 대 한 입력으로 해당 날짜 집합을 사용 하 여 기간에 따른 사용자 지정 집계를 만들 수 있습니다. 이 작업을 수행 하는 방법의 예제는 다음 항목을 참조 하세요.

  • PARALLELPERIOD 함수

    참고: 사용자 지정 날짜 범위를 지정할 필요가 없지만 월, 분기 또는 연도와 같은 표준 회계 단위를 사용 하는 경우에는 TOTALQTD, TOTALMTD, TOTALQTD 등의이 용도로 디자인 된 시간 인텔리전스 함수를 사용 하 여 계산을 수행 하는 것이 좋습니다.

시나리오: 값 순위 지정 및 비교

열 또는 피벗 테이블에 상위 n 개 개수의 항목만 표시 하려면 다음과 같은 몇 가지 옵션을 사용 합니다.

  • Excel 2010의 기능을 사용 하 여 상위 필터를 만들 수 있습니다. 피벗 테이블에서 상위 또는 하위 값의 수를 선택할 수도 있습니다. 이 섹션의 첫 번째 부분에서는 피벗 테이블의 상위 10 개 항목을 필터링 하는 방법에 대해 설명 합니다. 자세한 내용은 Excel 문서를 참조 하세요.

  • 값을 동적으로 순위를 지정 하는 수식을 만든 다음 순위 값을 기준으로 필터링 하거나 순위 값을 Slicer로 사용할 수 있습니다. 이 섹션의 두 번째 부분에서는이 수식을 만든 다음 슬라이서에서 해당 순위를 사용 하는 방법에 대해 설명 합니다.

각 방법에는 장점과 단점이 있습니다.

  • Excel Top 필터는 쉽게 사용할 수 있지만 필터는 단순히 표시 목적 으로만 사용 됩니다. 피벗 테이블의 기본 데이터를 변경한 경우에는 피벗 테이블을 수동으로 새로 고쳐 변경 내용을 확인 해야 합니다. 순위를 동적으로 사용 해야 하는 경우 DAX를 사용 하 여 값을 열 내의 다른 값과 비교 하는 수식을 만들 수 있습니다.

  • DAX 수식이 더 강력 합니다. 또한 슬라이서에 순위 값을 추가 하면 슬라이서를 클릭 하 여 표시 되는 상위 값의 수를 변경할 수 있습니다. 그러나 계산은 계산 비용이 비싸고이 방법이 행이 많은 테이블에 적합 하지 않을 수 있습니다.

피벗 테이블에 상위 10 개의 항목만 표시

피벗 테이블에서 상위 또는 하위 값을 표시 하려면

  1. 피벗 테이블에서 행 레이블 머리글의 아래쪽 화살표를 클릭 합니다.

  2. 상위 10 개> 값 필터 를 선택 합니다.

  3. 상위 10 개 필터 <열 이름> 대화 상자에서 다음과 같이 순위를 지정 하는 열과 값의 개수를 선택 합니다.

    1. 상위 값이 있는 셀을 보거나 맨 아래 를 선택 하 여 값이 가장 낮은 셀을 표시 합니다.

    2. 표시할 상위 값 또는 하위 항목의 수를 입력 합니다. 기본값은 10입니다.

    3. 표시할 값을 선택 합니다.

이름

설명

항목

피벗 테이블을 필터링 하 여 해당 값을 기준으로 상위 또는 하위 항목의 목록만 표시 하려면이 옵션을 선택 합니다.

백분율

이 옵션을 선택 하면 피벗 테이블을 필터링 하 여 지정 된 백분율까지 추가 되는 항목만 표시 합니다.

Sum

상위 또는 하위 항목에 대 한 값의 합계를 표시 하려면이 옵션을 선택 합니다.

  1. 순위를 지정할 값이 포함 된 열을 선택 합니다.

  2. 확인을 클릭합니다.

수식을 사용 하 여 동적으로 항목 순서를 정렬 합니다.

다음 항목에는 DAX를 사용 하 여 계산 된 열에 저장 되는 순위를 만드는 방법의 예가 나와 있습니다. DAX 수식이 동적으로 계산 되므로 기본 데이터가 변경 되어도 항상 순위가 정확 하다는 것을 알 수 있습니다. 또한 수식은 계산 된 열에서 사용 되므로 슬라이서에서 순위를 사용한 다음 상위 5 개, 상위 10 개 또는 상위 100 값을 선택할 수 있습니다.

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

Microsoft 365로 앞서 나가세요.

추가 도움이 필요하신가요?

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

이 정보가 유용한가요?

의견 주셔서 감사합니다!

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

×