Filter (MDX)

Retorna o conjunto resultante da filtragem de um conjunto especificado com base em um critério de pesquisa.

Sintaxe

  
Filter(Set_Expression, Logical_Expression )  

Argumentos

Set_Expression
Uma expressão MDX válida que retorna um conjunto.

Logical_Expression
Uma expressão lógica MDX válida avaliada como verdadeira ou falsa.

Comentários

A função Filter avalia a expressão lógica especificada em relação a cada tupla no conjunto especificado. A função retorna um conjunto que consiste em cada tupla no conjunto especificado em que a expressão lógica é avaliada como true. Se nenhuma tupla for avaliada como true, um conjunto vazio será retornado.

A função Filter funciona de maneira semelhante à da função IIf . A função IIf retorna apenas uma das duas opções com base na avaliação de uma expressão lógica MDX, enquanto a função Filter retorna um conjunto de tuplas que atendem à condição de pesquisa especificada. Na verdade, a função Filter é executada IIf(Logical_Expression, Set_Expression.Current, NULL) em cada tupla no conjunto e retorna o conjunto resultante.

Exemplos

O exemplo a seguir mostra o uso da função Filter no eixo Linhas de uma consulta para retornar somente as Datas em que o Valor das Vendas pela Internet é maior do que US$ 10.000:

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

FILTER(

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

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

ON 1

FROM

[Adventure Works]

A função Filter também pode ser usada em definições de membro calculado. O exemplo a Date seguir retorna a soma do Measures.[Order Quantity] membro, agregada nos primeiros nove meses de 2003 contidos na dimensão, do cubo Adventure Works. A função PeriodsToDate define as tuplas no conjunto sobre o qual a função Aggregate opera. A função Filter limita as tuplas que estão sendo retornadas àqueles com valores mais baixos para a medida Valor de Vendas do Revendedor do período 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 Também

Referência de função MDX (MDX)