Filter (MDX)
Retourne le jeu résultant du filtrage d'un jeu spécifié selon une condition de recherche.
Syntaxe
Filter(Set_Expression, Logical_Expression )
Arguments
Set_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.
Logical_Expression
Expression logique MDX (Multidimensional Expressions) valide qui prend la valeur True ou False.
Remarques
La fonction Filter évalue l’expression logique spécifiée par rapport à chaque tuple du jeu spécifié. La fonction retourne un jeu qui se compose de chaque tuple dans le jeu spécifié où l’expression logique prend la valeur true. Si aucun tuple n’a la valeur true, un jeu vide est retourné.
La fonction Filter fonctionne de manière similaire à celle de la fonction IIf . La fonction IIf retourne une seule des deux options basées sur l’évaluation d’une expression logique MDX, tandis que la fonction Filter renvoie un ensemble de tuples qui répondent à la condition de recherche spécifiée. En effet, la fonction Filter s’exécute IIf(Logical_Expression, Set_Expression.Current, NULL)
sur chaque tuple du jeu et retourne le jeu résultant.
Exemples
L'exemple suivant illustre l'utilisation de la fonction Filter sur l'axe des lignes d'une requête afin de retourner uniquement les dates où le Montant des ventes sur Internet est supérieur à $10 000 :
SELECT [Measures].[Internet Sales Amount] ON 0,
FILTER(
[Date].[Date].[Date].MEMBERS
, [Measures].[Internet Sales Amount]>10000)
ON 1
FROM
[Adventure Works]
La fonction Filter peut également s'utiliser à l'intérieur des définitions de membre calculées. L’exemple suivant retourne la somme du Measures.[Order Quantity]
membre, agrégée sur les neuf premiers mois de 2003 contenue dans la Date
dimension, à partir du cube Adventure Works . La fonction PeriodsToDate définit les tuples dans le jeu sur lequel la fonction Aggregate opère. La fonction Filter limite les tuples retournés à ceux dont les valeurs sont inférieures pour la mesure Reseller Sales Amount pour la période précédente.
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])