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 (Multidimensional Expressions) 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 onde 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 ao critério de pesquisa especificado. Na verdade, a função de filtro é executada IIf(Logical_Expression, Set_Expression.Current, NULL) em cada tupla no conjunto e retorna o conjunto resultante.
Exemplos
**entre 100 e 200 mil
SELECT
NON EMPTY [Measures].[VlrMeta] ON COLUMNS,
NON EMPTY Order(Filter([Representante].[Todos(as) Representante].Children, (([Measures].[VlrMeta] > 100000.0) AND ([Measures].[VlrMeta] < 200000.0))), [Measures].[VlrMeta], DESC) ON ROWS
FROM [Metas]
WHERE [Periodo.Periodo (Ano/Mes/Dia)].[Todos Periodo].[2014].[Abril]
** Maior que 200 Mil
SELECT
NON EMPTY [Measures].[VlrMeta] ON COLUMNS,
NON EMPTY Filter([Representante].[Todos(as) Representante].Children, ([Measures].[VlrMeta] >= 200000.0)) ON ROWS
FROM [Metas]
WHERE [Periodo.Periodo (Ano/Mes/Dia)].[Todos Periodo].[2014].[Abril]