Sintaxis de Filter en MDX:
FILTER( «Set», «Search Condition» )
Esta función toma un conjunto y una expresión booleana como argumentos y devuelve un subconjunto si la expresión booleana es TRUE.
Ejemplo de la función Filter en MDX:
FILTER( [Dim Producto].[Categoria Producto].[Producto], [Measures].[Importe Pedido] > 1000 )
Este ejemplo muestra del conjunto de los productos sólo los que tienen un importe de pedido superior a 1000€.
Para ver el resultado creamos la siguiente query:
with Set [Catprod] as
'FILTER( [Dim Producto].[Categoria Producto].[Producto],
[Measures].[Importe Pedido] > 1000 )'
select Catprod on columns, [Measures].[Importe Pedido] on rows
from [Analysis DW]
Resultado:
Si queremos comprobar que realmente se ha hecho bien el subconjunto ejecutamos la siguiente query que nos muestra todos los productos con el importe de pedido correspondiente:
select [Dim Producto].[Categoria Producto].[Producto] on columns,
[Measures].[Importe Pedido] on rows
from [Analysis DW]
Resultado:
Como se puede observar sólo hay dos productos que superan los 1000€ de importe de pedido, y se corresponden con los productos resultantes de usar la funcion Filter anterior.