Comportement des filtres utilisant plusieurs conditions et prédicats dans le MDM de Talend
Pour filtrer des données selon vos besoins, vous pouvez définir plusieurs conditions utilisant différents opérateurs, qui peuvent être combinés à l'aide de plusieurs prédicats (Or, And, Not).
Lorsque vous utilisez des filtres, gardez ceci à l'esprit :
-
Les prédicats sont appliqués aux conditions selon leur ordre de séquence. Par exemple, si un utilisateur définit quatre conditions a, b, c, d dans l'ordre suivant :
a Or b And c Or d None
les prédicats sont appliqués aux conditions de cette manière : (((a Or b) And c) Or d).
-
Lorsque plusieurs conditions sont utilisées, si le dernier prédicat est "None", il est équivalent à "And".
-
Lorsque vous définissez une condition, vous pouvez configurer la valeur de type String avec ou sans guillemets doubles.
Cet article s'applique aux versions 6.3.0 et supérieures de la solution MDM de Talend.
Pour plus d'informations concernant les opérateurs, consultez le Guide utilisateur de Talend MDM Platform Studio.
Exemples de filtres utilisant plusieurs conditions et prédicats dans la solution MDM de Talend
Exemple de filtre avec de multiples conditions d'une Vue
Par exemple, un utilisateur définit trois conditions C1, C2 et C3 dans une vue, comme suit :
XPath | Opérateur | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | >= | "2" | And | C1 |
ProductFamily/Id | <= | "5" | Or | C2 |
ProductFamily/Id | = | "9" | None | C3 |
Les trois conditions sont combinées pour donner ((C1 And C2) Or C3), ce qui signifie que les données interrogées dans la vue doivent avoir un ID de famille de produits compris entre 2 et 5 ou égal à 9.
Exemple de filtre avec de multiples conditions de deux Rôles
Vous pouvez combiner différents filtres définis pour être appliqués sur la même Vue.
Par exemple, un utilisateur a deux rôles assignés RoleFinance et RoleLogistics successivement. Ces rôles ont différents filtres sur la même Vue ProductFamily de l'entité ProductFamily.
Les filtres du premier rôle RoleFinance sont définis avec deux conditions C1 et C2, comme suit :
XPath | Opérateur | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | > | "3" | And | C1 |
ProductFamily/ChangeStatus | Contains | "Pending" | Or | C2 |
Les filtres du second rôle RoleLogistics sont définis avec deux conditions C3 et C4, comme suit :
XPath | Opérateur | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | < | "5" | And | C3 |
ProductFamily/ChangeStatus | Contains | "Completed" | None | C4 |
Les filtres des deux rôles sont combinés pour donner (((C1 And C2) Or C3) And C4).
Lorsqu'un utilisateur a les deux rôles (RoleFinance et RoleLogistics) assignés et effectue une requête sur les données avec la Vue ProductFamily, aucune donnée n'est retournée, car le statut de modification de la famille de produit ne peut être "Pending" et "Completed" en même temps.