필터(MDX)

검색 조건에 따라 지정된 집합을 필터링하여 발생하는 집합을 반환합니다.

구문

  
Filter(Set_Expression, Logical_Expression )  

인수

Set_Expression
집합을 반환하는 유효한 MDX(다차원 식) 식입니다.

Logical_Expression
true나 false가 되는 유효한 MDX 논리 식입니다.

설명

Filter 함수는 지정된 집합의 각 튜플에 대해 지정된 논리 식을 평가합니다. 함수는 논리 식이 true로 평가되는 지정된 집합의 각 튜플로 구성된 집합을 반환합니다. true평가되는 튜플이 없으면 빈 집합이 반환됩니다.

Filter 함수는 IIf 함수와 비슷한 방식으로 작동합니다. IIf 함수는 MDX 논리 식의 계산에 따라 두 옵션 중 하나만 반환하고 Filter 함수는 지정된 검색 조건을 충족하는 튜플 집합을 반환합니다. 실제로 Filter 함수는 IIf(Logical_Expression, Set_Expression.Current, NULL) 집합의 각 튜플에서 실행되고 결과 집합을 반환합니다.

다음 예에서는 Internet Sales Amount가 $10000보다 큰 Dates만 반환하기 위해 쿼리의 Rows 축에서 Filter 함수를 사용하는 방법을 보여 줍니다.

SELECT [Measures].[Internet Sales Amount] ON 0,

FILTER(

[Date].[Date].[Date].MEMBERS

, [Measures].[Internet Sales Amount]>10000)

ON 1

FROM

[Adventure Works]

Filter 함수는 계산 멤버 정의 내에서 사용할 수도 있습니다. 다음 예제에서는 Adventure Works 큐브에서 차원에 포함된 2003의 처음 9개월 동안 집계된 Date 멤버의 합계 Measures.[Order Quantity]반환합니다. PeriodsToDate 함수는 Aggregate 함수가 작동하는 집합의 튜플을 정의합니다. Filter 함수는 이전 기간 동안 Reseller Sales Amount 측정값에 대해 값이 낮은 튜플로 반환되는 튜플을 제한합니다.

WITH MEMBER Measures.[Declining Reseller Sales] AS Count  
   (Filter  
      (Existing  
         (Reseller.Reseller.Reseller),   
            [Measures].[Reseller Sales Amount] <   
               ([Measures].[Reseller Sales Amount],[Date].Calendar.PrevMember)  
        )  
    )  
MEMBER [Geography].[State-Province].x AS Aggregate   
( {[Geography].[State-Province].&[WA]&[US],   
   [Geography].[State-Province].&[OR]&[US] }   
)  
SELECT NON EMPTY HIERARCHIZE   
   (AddCalculatedMembers   
      ({DrillDownLevel  
         ({[Product].[All Products]})}  
        )  
    ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS   
FROM [Adventure Works]  
WHERE ([Geography].[State-Province].x,   
   [Date].[Calendar].[Calendar Quarter].&[2003]&[4],  
   [Measures].[Declining Reseller Sales])  

참고 항목

MDX 함수 참조(MDX)