篩選準則 (MDX)
傳回根據搜尋條件篩選指定集合所產生的集合。
語法
Filter(Set_Expression, Logical_Expression )
引數
Set_Expression
傳回集合的有效多維度運算式 (MDX) 運算式。
Logical_Expression
評估為 true 或 false 的有效多維度運算式 (MDX) 邏輯運算式。
備註
Filter 函 式會根據指定集合中的每個 Tuple 評估指定的邏輯運算式。 函式會傳回集合,其中包含指定集合中邏輯運算式評估為 true 的每個 Tuple。 如果沒有 Tuple 評估為 true ,則會傳回空集。
Filter 函 式的運作方式與 IIf 函式類似。 IIf 函 式只會根據 MDX 邏輯運算式的評估傳回兩個選項之一,而 Filter 函式會傳回一組符合指定搜尋條件的 Tuple。 實際上, Filter 函式會在 IIf(Logical_Expression, Set_Expression.Current, NULL)
集合中的每個 Tuple 上執行,並傳回產生的集合。
範例
下列範例示範在查詢的 Rows 軸上使用 Filter 函式,只傳回 Internet Sales Amount 大於 $10000 的日期:
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 Cube 傳回維度中 Date
所含的 2003 年前 9 個月匯總的成員總和 Measures.[Order Quantity]
。 PeriodsToDate 函式會定義聚合 函數運作所在集合 中的 Tuple。 Filter 函 式會將傳回的 Tuple 限制為前一個期間轉銷商銷售金額量值較低的 Tuple。
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])