Filter (MDX)

Restituisce il set risultante dal filtro di un set specificato in base a una condizione di ricerca.

Sintassi

  
Filter(Set_Expression, Logical_Expression )  

Argomenti

Set_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Logical_Expression
Espressione logica MDX (Multidimensional Expression) valida che restituisce true o false.

Commenti

La funzione Filter valuta l'espressione logica specificata rispetto a ogni tupla nel set specificato. La funzione restituisce un set costituito da ogni tupla nel set specificato in cui l'espressione logica restituisce true. Se nessuna tupla restituisce true, viene restituito un set vuoto.

La funzione Filter funziona in modo simile a quello della funzione IIf . La funzione IIf restituisce solo una delle due opzioni in base alla valutazione di un'espressione logica MDX, mentre la funzione Filter restituisce un set di tuple che soddisfano la condizione di ricerca specificata. In effetti, la funzione Filter viene eseguita IIf(Logical_Expression, Set_Expression.Current, NULL) in ogni tupla del set e restituisce il set risultante.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo della funzione Filter sull'asse Rows di una query, per restituire solo le date in cui Internet Sales Amount è maggiore di $10.000:

SELECT [Measures].[Internet Sales Amount] ON 0,

FILTER(

[Date].[Date].[Date].MEMBERS

, [Measures].[Internet Sales Amount]>10000)

ON 1

FROM

[Adventure Works]

La funzione Filter può essere utilizzata anche nelle definizioni di membri calcolati. Nell'esempio seguente viene restituita Measures.[Order Quantity] la somma del membro , aggregato nei primi nove mesi del 2003 Date contenuto nella dimensione , dal cubo Adventure Works . La funzione PeriodsToDate definisce le tuple nel set su cui opera la funzione Aggregate . La funzione Filter limita le tuple restituite a quelle con valori inferiori per la misura Reseller Sales Amount per il periodo di tempo precedente.

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

Vedere anche

Guida di riferimento alle funzioni MDX (MDX)