DAX 수식의 데이터 필터링

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

이 섹션 데이터 분석 식 (DAX) 수식 내에 필터를 만드는 방법에 설명 합니다. 계산에 사용 되는 원본 데이터의 값을 제한 하도록 수식 내에 필터를 만들 수 있습니다. 수식에 대 한 입력으로 테이블을 지정 하 고 다음 필터 식을 정의 하 여이 수행 합니다. 지정한 필터 식의 데이터를 쿼리하고 원본 데이터의 하위 집합을 반환 하려면 사용 됩니다. 필터가 적용 된 동적으로 때마다 데이터의 현재 컨텍스트에 따라 수식의 결과 업데이트 합니다.

이 문서의 내용

수식에 사용 되는 표에 필터 만들기

중복을 제거 하는 필터

컨텍스트가 필터에 미치는 영향

필터 제거

모든 함수를 사용 하 여 모든 필터 재정의

ALLEXCEPT 함수를 사용한 특정 필터 재정의

수식에 사용되는 표에 필터 만들기

수식에서 표를 입력으로 사용하는 필터를 적용할 수 있습니다. 표 이름을 입력하는 대신 FILTER 함수를 사용하여 지정된 표의 행 하위 집합을 정의합니다. 그러면 해당 하위 집합은 사용자 지정 집계와 같은 작업을 위해 다른 함수로 전달됩니다.

대리점에 대한 주문 정보가 들어 있는 데이터 표에서 각 대리점의 판매액을 계산하려는 경우를 예로 들어 보겠습니다. 이때 고가 제품을 여러 개 판매한 대리점에 대해서만 판매액을 표시하려 합니다. DAX 예제 통합 문서를 기반으로 하는 다음 수식에서는 필터를 사용하여 이 계산을 만드는 방법에 대한 한 가지 예를 보여 줍니다.

= SUMX (
필터 ('ResellerSales_USD', 'ResellerSales_USD' [수량] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • 수식의 첫 번째 부분 테이블을 인수로 사용 되는 파워 피벗 집계 함수 중 하나를 지정 합니다. SUMX는 테이블에 대해 합계를 계산합니다.

  • 수식의 두 번째 부분 FILTER(table, expression),확인할 수 SUMX 데이터를 사용 합니다. 표 또는 표 생성 되는 식 SUMX 사용 해야 합니다. 여기에서 테이블의 모든 데이터를 사용 하는 대신 함수를 사용 하는 FILTER 사용 되는 테이블의 행을 지정할 수 있습니다.

    필터 식에 두 부분으로 구성: 첫 번째 부분은 필터가 적용 되는 테이블의 이름을 지정 합니다. 두 번째 부분은 필터 조건으로 사용 하 여 식을 정의 합니다. 이 경우 5 개 이상인 단위와 $100 개 이상의 비용 제품 판매 대리점에서 필터링 하는 합니다. 연산자, & &, 조건은의 두 부분 필터링 된 속할 행에 대 한 충족 되어야 함을 나타내는 논리 AND 연산자입니다.

  • 수식의 세 번째 부분은 SUMX 함수에서 합계를 계산할 값을 알려 줍니다. 이 경우에는 판매액만 사용합니다.

    테이블을 반환 하는 필터를 같은 함수 적이 없는 테이블 또는 행을 직접 반환 되지만 항상 다른 함수에 포함 됩니다. 필터 및 더 많은 예제를 포함 하 여 필터링에 사용 되는 기타 기능에 대 한 자세한 내용은 Filter 함수 (DAX)를참조 하십시오.

    참고: 필터 식 사용 되는 컨텍스트에 의해 결정 됩니다. 예를 들어 측정값을에서 필터를 사용 하 고 피벗 테이블 또는 피벗 차트에 사용 되는 측정값을 하는 경우 반환 되는 데이터의 하위 집합 추가 필터 또는 슬라이서: 사용자가 피벗 테이블에 적용 하 여 영향을 받을 수 있습니다. 상황에 맞는 대 한 자세한 내용은 DAX 수식의 컨텍스트를 참조 합니다.

중복을 제거하는 필터

특정 값을 필터링 하는 것 외에도 다른 테이블 또는 열에서 고유 값 집합을 반환할 수 있습니다. 한 열에 고유 값의 개수 또는 다른 작업에 고유 값의 목록을 사용 하려는 경우 유용할 수 있습니다. DAX 고유한 값을 반환 하기 위한 두 가지 기능 제공: DISTINCT 함수값 함수입니다.

  • DISTINCT 함수는 함수의 인수로 지정하는 단일 열을 검토하고 고유한 값만 포함하는 새 열을 반환합니다.

  • VALUES 함수 고유 값 목록에도 반환 하지만 알 수 없는 멤버를 반환 합니다. 관계를로 연결 된 두 테이블의 값을 사용 하는 경우 유용 하 고 한 테이블의 누락 되거나 다른에 있는 값이 있습니다. 알 수 없는 멤버에 대 한 자세한 내용은 DAX 수식의 컨텍스트를 참조 하십시오.

이러한 함수는 모두 전체 값 열을 반환합니다. 따라서 함수를 사용하여 다른 함수에 전달되는 값 목록을 가져올 수 있습니다. 예를 들어 다음 수식에서 고유 제품 키를 사용하여 특정 대리점에서 판매한 고유 제품 목록을 가져온 다음 COUNTROWS 함수를 사용하여 해당 목록의 제품 수를 셀 수 있습니다.

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

맨 위로 이동

컨텍스트가 필터에 미치는 영향

DAX 수식을 피벗 테이블 또는 피벗 차트를 추가 하면 수식 결과 컨텍스트에 따라 영향을 받을 수 있습니다. 파워 피벗 테이블에서 작업 하는 경우 현재 행과 해당 값의 컨텍스트는입니다. 피벗 테이블 또는 피벗 차트에서 작업 하는 경우의 상황에 맞는 집합 또는 분리, 필터링 또는 같은 작업에 의해 정의 된 데이터의 하위 집합을 의미 합니다. 피벗 테이블 또는 피벗 차트의 디자인은 고유한 컨텍스트를 내용도 포함 됩니다. 예를 들어 판매 지역 및 year를 기준으로 그룹화 된 피벗 테이블을 만드는 경우 해당 지역 및 년에 적용 되는 데이터만 피벗 테이블에 나타납니다. 따라서 피벗 테이블에 추가 하는 측정값 열 및 행 머리글 plus 측정값 수식에 필터의 컨텍스트로 계산 됩니다.

자세한 내용은 DAX 수식의 컨텍스트를 참조 합니다.

맨 위로 이동

필터 제거

복잡한 수식을 사용할 경우 현재 필터가 무엇인지 정확히 알아야 하거나 수식의 필터 부분을 수정해야 할 수도 있습니다. DAX에서는 필터를 제거하고 현재 필터 컨텍스트의 일부로 유지할 열을 제어하는 데 사용할 수 있는 여러 함수를 제공합니다. 이 섹션에서는 이러한 함수가 수식의 결과에 어떤 영향을 주는지에 대해 간략히 설명합니다.

ALL 함수를 사용하여 모든 필터 재정의

ALL 함수를 사용 하 여 이전에 적용 된 필터를 재정의 하 한 집계 또는 다른 작업을 수행 하는 함수에 테이블의 모든 행을 반환할 수 있습니다. 하나 이상의 열을 표로 대신 ALL인수로 사용 하면 ALL 함수는 모든 컨텍스트 필터를 무시 하 고 모든 행을 반환 합니다.

참고: 관계형 데이터베이스 용어를 잘 알고 있는 경우 ALL 함수가 모든 표의 자연 왼쪽 우선 외부 조인을 생성하는 것으로 간주할 수 있습니다.

예를 들어 매출 및 제품 표가 있고 현재 제품의 매출액 합계를 모든 제품의 매출액으로 나눈 값을 계산하는 수식을 만들려고 한다고 가정합니다. 이 수식을 측정값에서 사용하는 경우 피벗 테이블의 사용자가 슬라이서를 사용하여 각 행에 제품 이름을 표시하도록 특정 제품을 필터링할 수 있다는 점을 고려해야 합니다. 따라서 필터나 슬라이서에 관계없이 분모에 대해 true 값을 가져오려면 ALL 함수를 추가하여 필터를 재정의해야 합니다. 다음 수식은 ALL 함수를 사용하여 이전 필터의 효과를 재정의하는 방법의 한 가지 예입니다.

= SUM (Sales [수량]) / SUMX (판매 [수량] 필터 (영업, ALL(Products)))

  • 첫 번째 부분인 SUM 수식 (Sales[Amount]), 분자를 계산 합니다.

  • 이러한 합계에서는 현재 컨텍스트를 고려합니다. 즉, 수식을 계산 열에 추가하면 행 컨텍스트가 적용되고 수식을 피벗 테이블에 측정값으로 추가하면 피벗 테이블에 적용된 모든 필터(필터 컨텍스트)가 적용됩니다.

  • 수식에서 두 번째 부분 분모를 계산 합니다. ALL 함수 Products 테이블을 적용할 수 있는 필터를 재정의 합니다.

자세한 예제를 비롯 한 자세한 내용은 모든 함수를 참고 하세요.

ALLEXCEPT 함수를 사용한 특정 필터 재정의

ALLEXCEPT 함수 기존 필터를 재정의 하지만 몇 가지 기존 필터 보존 해야 지정할 수 있습니다. ALLEXCEPT 함수의 인수로 이름을 지정할 열 필터링 할 열 계속 지정 합니다. 일부만 있지만 대부분의 열에서 필터를 무시 하려면 ALLEXCEPT이 모두 보다 더 편리 합니다. 여러 다른 열에서 필터링 할 수 있는 피벗 테이블을 만들 때 ALLEXCEPT 함수는 특히 유용 하 고 수식에 사용 되는 값을 제어 해야 합니다. ALLEXCEPT 피벗 테이블을 사용 하는 방법에 대 한 자세한 예를 비롯 한 자세한 내용은 ALLEXCEPT 함수를 참고 하세요.

맨 위로 이동

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

이 정보가 유용한가요?

의견 주셔서 감사합니다!

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

×