필터(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])