Filter (MDX)

Returnerar mängden som uppstår genom att filtrera en specificerad mängd baserat på ett sökvillkor.

Syntax

  
Filter(Set_Expression, Logical_Expression )  

Arguments

Set_Expression
Ett giltigt Multidimensional Expressions (MDX)-uttryck som returnerar en mängd.

Logical_Expression
Ett giltigt Multidimensional Expressions (MDX) logiskt uttryck som utvärderas till sant eller falskt.

Remarks

Filterfunktionen utvärderar det specificerade logiska uttrycket mot varje tupl i den angivna mängden. Funktionen returnerar en mängd som består av varje tuple i den specificerade mängden där det logiska uttrycket utvärderas till sant. Om inga tupler utvärderas till sann, returneras en tom mängd.

Filterfunktionen fungerar på ett liknande sätt som IIf-funktionen. IIf-funktionen returnerar endast ett av två alternativ baserat på utvärderingen av ett MDX-logiskt uttryck, medan filterfunktionen returnerar en uppsättning tupler som uppfyller det specificerade sökvillkoret. I praktiken exekveras IIf(Logical_Expression, Set_Expression.Current, NULL)filterfunktionen på varje tupel i mängden och returnerar den resulterande mängden.

Examples

Följande exempel visar användningen av filterfunktionen på radaxeln i en fråga, för att endast returnera datum där internetförsäljningsbeloppet är större än 10 000 dollar:

SELECT [Measures].[Internet Sales Amount] ON 0,  
FILTER(  
[Date].[Date].[Date].MEMBERS  
,  [Measures].[Internet Sales Amount]>10000)  
ON 1  
FROM  
[Adventure Works]  

Filterfunktionen kan också använda definitioner av beräknade medlemmar inutifrån. Följande exempel återger summan av Measures.[Order Quantity] medlemmen, aggregerad under de första nio månaderna av 2003 som ingår i Date dimensionen, från Adventure Works-kuben. Funktionen PeriodsToDate definierar tuplerna i mängden som aggregatfunktionen verkar över. Filterfunktionen begränsar de tupler som returneras till de med lägre värden för Återförsäljarförsäljningsvolymen för föregående tidsperiod.

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