Filtro (MDX)

Retorna o conjunto que resulta da filtragem de um conjunto especificado com base em uma condição de busca.

Sintaxe

  
Filter(Set_Expression, Logical_Expression )  

Argumentos

Set_expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um conjunto.

Logical_Expression
Uma expressão lógica válida de Expressões Multidimensionais (MDX) que avalia como verdadeiro ou falso.

Remarks

A função Filter avalia a expressão lógica especificada contra cada tupla do conjunto especificado. A função retorna um conjunto que consiste em cada tupla do conjunto especificado onde a expressão lógica avalia como verdadeira. Se nenhuma tupla avalia como verdadeira, um conjunto vazio é retornado.

A função Filtro funciona de forma semelhante à função IIf . A função IIf retorna apenas uma de duas opções baseadas na avaliação de uma expressão lógica MDX, enquanto a função Filtro retorna um conjunto de tuplas que atendem à condição de busca especificada. Na prática, a função Filter executa IIf(Logical_Expression, Set_Expression.Current, NULL) em cada tupla do 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 apenas as Datas em que o Valor das Vendas na Internet é maior que $10000:

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 por definições de membros calculadas internamente. O exemplo a seguir retorna a soma do Measures.[Order Quantity] membro, agregado nos primeiros nove meses de 2003 contido na Date dimensão, do cubo Adventure Works . A função PeríodosToData define as tuplas no conjunto sobre o qual a função Agregado opera. A função Filtro limita as tuplas devolvidas àqueles com valores menores para a medida de 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])