Filter(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 큐브로부터 Date 차원에 포함된 2003년의 첫 9개월 동안 집계된 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])

참고 항목

참조