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.

Observaciones

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 manera similar a la de la función IIf . La función IIf devuelve solo una de las dos opciones en función de la evaluación de una expresión lógica de MDX, mientras que la función de filtro devuelve un conjunto de tuplas que cumplen la condición de búsqueda especificada. En efecto, la función de filtro 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, agregada durante los primeros nueve meses de 2003 contenidos en la Date dimensión, del cubo Adventure Works . La función PeriodsToDate define las tuplas en el conjunto sobre el que funciona la función de agregado . La función de filtro limita las tuplas que se devuelven a aquellas con valores inferiores para la medida reseller sales amount para 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)