FILTER

적용 대상:계산 열계산 테이블측정값 시각적 계산

다른 테이블 또는 식의 하위 집합을 나타내는 테이블을 반환합니다.

구문

FILTER(<table>,<filter>)  

매개 변수

용어 정의
table 필터링할 테이블입니다. 테이블은 테이블을 생성하는 식일 수도 있습니다.
필터링 테이블의 각 행에 대해 계산할 부울 식입니다. 예를 들어 [Amount] > 0 또는 [Region] = "France"와 같습니다.

반환 값

필터링된 행만 포함하는 테이블입니다.

설명

  • FILTER를 사용하여 작업 중인 테이블의 행 수를 줄이고 계산에 특정 데이터만 사용할 수 있습니다. FILTER는 독립적으로 사용되지 않지만 테이블을 인수로 필요로 하는 다른 함수에 포함된 함수로 사용됩니다.

  • FILTER를 사용하는 경우 모범 사례는 FILTER를 필터 인수로 사용하지 않는 방법을 참조하세요.

DAX에서 COUNT 대신 COUNTROWS 사용

  • 이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.

예시

다음 예제에서는 미국 판매를 필터링하는 측정값을 사용한 다음, 연도 및 제품 범주별로 조각화하여 미국 외부에서 인터넷 판매 보고서를 만듭니다. 이 측정값을 만들려면 Sales Territory를 사용하여 테이블인 Internet Sales USD를 필터링한 다음 SUMX 함수에서 필터링된 테이블을 사용합니다.

이 예제에서 식은 다음과 같습니다.

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Internet Sales의 하위 집합에서 미국 판매 영역에 속하는 모든 행을 뺀 테이블을 반환합니다. RELATED 함수는 Internet Sales 테이블의 Territory 키를 SalesTerritory 테이블의 SalesTerritoryCountry에 연결합니다.

다음 표에서는 아래 코드 섹션에 제공되는 수식인 NON USA Internet Sales 측정값에 대한 개념 증명을 보여 줍니다. 이 표에서는 모든 인터넷 판매를 미국 이외의 인터넷 판매와 비교하여 계산에서 미국 판매를 제외하여 필터 식이 작동한다는 것을 보여 줍니다.

이 테이블을 다시 만들려면 SalesTerritoryCountry 필드를 보고서 또는 피벗 테이블의 행 레이블 영역에 추가합니다.

표 1. 미국 및 기타 모든 지역의 총 판매액 비교

Row Labels Internet Sales 미국 이외의 인터넷 판매
오스트레일리아 $4,999,021.84 $4,999,021.84
캐나다 $1,343,109.10 $1,343,109.10
프랑스 $2,490,944.57 $2,490,944.57
독일 $2,775,195.60 $2,775,195.60
영국 $5,057,076.55 $5,057,076.55
미국 $9,389,479.79
총합계 $26,054,827.45 $16,665,347.67

최종 보고서 테이블은 측정값인 NON USA Internet Sales를 사용하여 피벗 테이블을 만들 때의 결과를 보여줍니다. 피벗 테이블의 행 레이블 영역에 CalendarYear 필드를 추가하고 ProductCategoryName 필드를 열 레이블 영역에 추가합니다.

표 2. 제품 범주별 미국 이외의 판매액 비교

Row Labels Accessories Bikes Clothing 총합계
2005 $1,526,481.95 $1,526,481.95
2006 $3,554,744.04 $3,554,744.04
2007 $156,480.18 $5,640,106.05 $70,142.77 $5,866,729.00
2008 $228,159.45 $5,386,558.19 $102,675.04 $5,717,392.68
총합계 $384,639.63 $16,107,890.23 $172,817.81 $16,665,347.67
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

필터 함수
ALL 함수
ALLEXCEPT 함수