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.

Osservazioni:

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 quella 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 IIf(Logical_Expression, Set_Expression.Current, NULL) eseguita su ogni tupla del set e restituisce il set risultante.

Esempi

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 Measures.[Order Quantity] seguente viene restituita la somma del membro, aggregato nei primi nove mesi del 2003 contenuto nella Date dimensione, dal cubo Adventure Works . La funzione PeriodsToDate definisce le tuple nel set su cui opera la funzione Aggregate . La funzione Filter limita tali 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])  

Vedi anche

Guida di riferimento alle funzioni MDX (MDX)