Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

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

이 문서의 내용

수식에 사용된 테이블에 필터 만들기

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

예를 들어 리셀러에 대한 주문 정보가 포함된 데이터 테이블이 있으며 각 리셀러가 판매한 수를 계산하려는 경우를 가정해 보겠습니다. 그러나 고가 제품의 여러 단위를 판매한 대리점에 대한 판매 금액을 표시하려는 경우 DAX 샘플 통합 문서에 기반한 다음 수식은 필터를 사용하여 이 계산을 만드는 방법의 한 가지 예입니다.

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

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

  • 수식의 두 번째 부분인 FILTER(table, expression),사용할 SUMX 알 수 있습니다. SUMX 테이블 또는 테이블을 결과로 하는 식이 필요합니다. 여기에서는 테이블의 모든 데이터를 사용하는 대신 FILTER 함수를 사용하여 테이블의 행 중 어느 행이 사용되는지 지정합니다.

    필터 식에는 필터가 적용되는 테이블의 이름을 첫 번째 부분으로 합니다. 두 번째 부분은 필터 조건으로 사용할 식을 정의합니다. 이 경우 5개가 넘는 단위 및 100달러 이상의 제품을 판매한 대리점에 대해 필터링합니다. 연산자는 && 논리 및 연산자입니다. 이는 행이 필터링된 하위 집합에 속하는 경우 조건의 두 부분 모두 true가 되어야 를 나타냅니다.

  • 수식의 세 번째 부분은 값을 SUMX 함수를 나타냅니다. 이 경우 판매 금액만 사용 중입니다.

    테이블을 반환하는 FILTER와 같은 함수는 테이블 또는 행을 직접 반환하지 않지만 항상 다른 함수에 포함되어 있습니다. 필터링에 사용되는 FILTER 및 기타 함수에 대한 자세한 내용은 DAX(필터 함수)를 참조하세요.

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

중복을 제거하는 필터

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

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

  • 값 함수는 고유 값 목록을 반환하지만 알 수 없는 멤버도 반환합니다. 관계에 의해 조인되는 두 테이블의 값을 사용하는 경우 이 기능은 한 테이블에 값이 누락된 후 다른 테이블에 있는 경우 유용합니다. 알 수 없는 멤버에 대한 자세한 내용은 DAX 수식의 컨텍스트를 참조하세요.

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

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

맨 위로 이동

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

피벗테이블에 DAX 수식을 추가하거나 피벗 차트 수식의 결과는 컨텍스트의 영향을 받을 수 있습니다. 테이블에서 작업하는 파워 피벗 컨텍스트는 현재 행 및 해당 값입니다. 피벗테이블 또는 피벗 차트 작업하는 경우 컨텍스트는 자르기 또는 필터링과 같은 작업에 의해 정의된 데이터의 집합 또는 하위 집합을 의미합니다. 피벗테이블 또는 피벗 차트 자체 컨텍스트도 부과합니다. 예를 들어 지역 및 연도별로 판매를 그룹화하는 피벗테이블을 만드는 경우 해당 지역 및 연도에 적용되는 데이터만 피벗테이블에 표시됩니다. 따라서 피벗 테이블에 추가하는 모든 측정값은 열 및 행 제목과 측정값 수식의 필터의 컨텍스트에서 계산됩니다.

자세한 내용은 DAX 수식의 컨텍스트를 참조하세요.

맨 위로 이동

필터 제거

복잡한 수식을 사용할 때 현재 필터의 위치를 정확히 알고 싶거나 수식의 필터 부분을 수정하려고 할 수 있습니다. DAX는 필터를 제거하고 현재 필터 컨텍스트의 일부로 보존되는 열을 제어할 수 있는 몇 가지 함수를 제공합니다. 이 섹션에서는 이러한 함수가 수식의 결과에 미치는 영향에 대한 개요를 제공합니다.

ALL 함수를 사용하여 모든 필터를 모두 드리우기

ALL 함수를 사용하여 이전에 적용된 모든 필터를 재지정하고 테이블의 모든 행을 집계 또는 기타 작업을 수행하는 함수로 반환할 수 있습니다. 테이블 대신 하나 이상의 열을 사용하는 경우 이 함수는 모든 컨텍스트 필터를 ALLALL 모든 행을 반환합니다.

참고: 관계형 데이터베이스 용어에 익숙한 경우 모든 ALL 왼쪽 외측 조인을 생성하는 것으로 생각할 수 있습니다.

예를 들어 테이블, Sales 및 Products가 있으며 현재 제품의 판매 합계를 모든 제품의 판매로 나눈 수식을 만들 수 있습니다. 수식이 측정값에 사용되는 경우 피벗 테이블의 사용자가 행의 제품 이름이 있는 특정 제품에 대해 필터링하기 위해 슬라이서를 사용할 수 있습니다. 따라서 필터 또는 슬라이서에 관계 없이 디모의 진정한 값을 얻게하려면 모든 필터를 다시 정하기 위해 ALL 함수를 추가해야 합니다. 다음 수식은 ALL을 사용하여 이전 필터의 효과를 오버라이드하는 방법의 한 예입니다.

=SUM(Sales[Amount])/SUMX(Sales[Amount], FILTER(Sales, ALL(Products))

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

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

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

자세한 예제를 비롯한 자세한 내용은 ALL Function 을 참조하세요.

ALLEXCEPT 함수를 사용하여 특정 필터를 오버라우드

ALLEXCEPT 함수는 기존 필터를 다시 지정하지만 기존 필터 중 일부를 유지해야 한다고 지정할 수 있습니다. ALLEXCEPT 함수의 인수로 이름을 지정하는 열은 필터링할 열을 지정합니다. 대부분의 열에서 필터를 다시 적용하려는 경우 ALLEXCEPT는 ALL보다 편리합니다. ALLEXCEPT 함수는 다양한 열에서 필터링될 수 있는 피벗 테이블을 만들 때 수식에 사용되는 값을 제어하려는 경우에 특히 유용합니다. 피벗테이블에서 ALLEXCEPT를 사용하는 방법에 대한 자세한 예제를 비롯한 자세한 내용은 ALLEXCEPT 함수를 참조하세요.

맨 위로 이동

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×