濾波器(MDX)

回傳根據搜尋條件篩選指定集合所產生的集合。

Syntax

  
Filter(Set_Expression, Logical_Expression )  

論點

Set_Expression
一個有效的多維表達式(MDX)表達式,能回傳一個集合。

Logical_Expression
一個有效的多維表達式(MDX)邏輯表達式,能評估為真或假。

備註

Filter 函數會針對指定集合中的每個元組評估指定的邏輯表達式。 該函數回傳一個集合,包含指定集合中每個邏輯表達式值值為 的元組。 若無元組值為 ,則回傳空集合。

濾波器函數的運作方式類似於IIf函數。 IIf 函數僅根據 MDX 邏輯表達式的評估回傳兩個選項中的一個,而 Filter 函數則回傳符合指定搜尋條件的元組集合。 實際上, Filter 函數會 IIf(Logical_Expression, Set_Expression.Current, NULL) 對集合中的每個元組執行,並回傳結果集合。

Examples

以下範例展示了查詢列軸上的篩選功能,僅回傳網路銷售金額大於 $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 立方體中 2003 年前九個月成員的總和Measures.[Order Quantity],該維度包含於該Date維度中。 PeriodsToDate 函式定義了彙函數所作用的集合中的元組。 過濾功能限制回傳的元組為前一期間經銷商銷售金額指標中值較低的元組。

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])