Share via


篩選準則 (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])  

另請參閱

MDX 函數參考 (MDX)