Filter (MDX)

Devuelve el conjunto resultante de filtrar un determinado conjunto con una condición de búsqueda.

Sintaxis

  
Filter(Set_Expression, Logical_Expression )  

Argumentos

Set_Expression
Expresión MDX (Expresiones multidimensionales) válida que devuelve un conjunto.

Logical_Expression
Expresión lógica MDX (Expresiones multidimensionales) válida que se evalúa en true o false.

Comentarios

La función Filter evalúa la expresión lógica especificada en cada tupla del conjunto especificado. La función devuelve un conjunto que consta de cada tupla del conjunto especificado donde la expresión lógica se evalúa como true. Si ninguna tupla se evalúa como true, se devuelve un conjunto vacío.

La función Filter funciona de forma similar a la de la función IIf . La función IIf devuelve solo una de las dos opciones basadas en la evaluación de una expresión lógica MDX, mientras que la función Filter devuelve un conjunto de tuplas que cumplen la condición de búsqueda especificada. En efecto, la función Filter se ejecuta IIf(Logical_Expression, Set_Expression.Current, NULL) en cada tupla del conjunto y devuelve el conjunto resultante.

Ejemplos

En el ejemplo siguiente se muestra el uso de la función Filter en el eje de filas de una consulta para devolver únicamente las fechas en las que Internet Sales Amount es mayor que 10000 dólares:

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

FILTER(

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

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

ON 1

FROM

[Adventure Works]

La función Filter también puede usarse dentro de definiciones de miembros calculados. En el ejemplo siguiente se devuelve la suma del Measures.[Order Quantity] miembro, agregado durante los primeros nueve meses de 2003 contenidos en la Date dimensión, del cubo Adventure Works . La función PeriodsToDate define las tuplas del conjunto sobre el que funciona la función Aggregate . La función Filter limita esas tuplas que se devuelven a las que tienen valores inferiores para la medida Reseller Sales Amount durante el período de tiempo anterior.

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

Consulte también

Referencia de funciones MDX (MDX)