Comportement des filtres utilisant plusieurs conditions et prédicats dans la solution 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 et not.
Comportement des filtres utilisant plusieurs conditions et prédicats dans les vues
Vous pouvez combiner plusieurs conditions de recherche lors de la définition d'une vue.
Lorsque vous utilisez plusieurs conditions et prédicats dans les rôles, gardez à l'esprit ceci :
- Les prédicats Or, And et Not peuvent désormais être utilisés.
- Le prédicat Not ne fonctionne pas s'il existe plusieurs conditions.
- Lorsque plusieurs conditions sont définies, le prédicat or ou and utilisé sur la dernière condition, ne l'est pas pour combiner des conditions.
- Les prédicats sont appliqués aux conditions selon leur ordre de séquence. Par exemple, si quatre conditions C1, C2, C3, C4 sont définies dans l'ordre suivant :
C1 and C2 or C3 and C4 none
Les prédicats sont appliqués aux conditions de cette manière : (((C1 and C2) or C3) and C4).
- Lors de la définition d'une condition, la valeur de type String peut être saisie avec ou sans guillemets doubles.
Voici un exemple d'utilisation de plusieurs conditions et prédicats dans une vue. Trois conditions C1, C2 et C3 sont définies dans une vue, comme affiché dans la table et sont combinées en ((C1 and C2) or C3), ce qui signifie que seuls les enregistrements de la famille de produits dont l'ID est compris entre 2 et 5 ou est égal à 9 seront retournés.
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | >= | "2" | and | C1 |
ProductFamily/Id | <= | "5" | or | C2 |
ProductFamily/Id | = | "9" | Aucun | C3 |
Comportement des filtres utilisant plusieurs conditions et prédicats dans les rôles
Vous pouvez combiner différents filtres définis pour être appliqués sur la même vue.
Lorsque vous utilisez plusieurs conditions et prédicats dans les rôles, gardez à l'esprit ceci :
- Les prédicats Or, And et Not peuvent désormais être utilisés.
- Le prédicat Not ne fonctionne pas s'il existe plusieurs conditions.
- Lorsque plusieurs conditions sont définies, le prédicat or ou and utilisé sur la dernière condition, ne l'est pas pour combiner des conditions.
- Les prédicats sont appliqués aux conditions selon leur ordre de séquence. Par exemple, si quatre conditions C1, C2, C3, C4 sont définies dans l'ordre suivant :
C1 and C2 or C3 and C4 none
Les prédicats sont appliqués aux conditions de cette manière : (((C1 and C2) or C3) and C4).
- Lors de la définition d'une condition, la valeur de type String peut être saisie avec ou sans guillemets doubles.
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 | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | > | "3" | and | C1 |
ProductFamily/ChangeStatus | Contains (Contient) | "Pending" | or | C2 |
Les filtres du second rôle RoleLogistics sont définis avec deux conditions C3 et C4, comme suit :
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Id | < | "5" | and | C3 |
ProductFamily/ChangeStatus | Contains (Contient) | "Completed" | Aucun | 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 produits ne peut être Pending et Completed en même temps.
Comportement des filtres utilisant plusieurs conditions et prédicats pour configurer le filtre de clé étrangère
Vous pouvez définir autant de conditions que nécessaire lors de la configuration du filtre de clé étrangère.
Lorsque vous configurez le filtre de clé étrangère à l'aide de plusieurs conditions et prédicats, gardez à l'esprit ceci :
- Les prédicats Or, And et Not peuvent désormais être utilisés.
- Le prédicat Not s'applique uniquement à la condition sur laquelle il est défini.
- Lorsque plusieurs conditions sont définies, le prédicat or ou and utilisé sur la dernière condition, ne l'est pas pour combiner des conditions.
- Lorsque plusieurs conditions sont utilisées, si le prédicat Not est défini sur une condition, sauf la dernière condition, le prédicat And est utilisé pour combiner la condition sur laquelle le prédicat Not est défini et sa condition suivante.
- Les prédicats sont appliqués aux conditions selon leur ordre de séquence. Par exemple, si quatre conditions C1, C2, C3, C4 sont définies dans l'ordre suivant :
C1 and C2 or C3 not C4 none
Les prédicats sont appliqués aux conditions de cette manière : (((C1 and C2) and (not C3)) and C4).
- Lors de la définition d'une condition, la valeur de type String peut être saisie avec ou sans guillemets doubles.
Voici un exemple d'utilisation de conditions et prédicats multiples lors de la configuration du filtre de clé étrangère. Quatre conditions sont définies dans un filtre de clé étrangère, comme affiché dans la table et sont combinées comme (((C1 or C2) or (not C3)) and C4), ce qui signifie que seules les valeurs des clés étrangères dont le nom contient Shirt ou Hat, ou ne contient pas Talend et dont le statut de modification contient Pending seront filtrées.
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
ProductFamily/Name | Contains (Contient) | "Shirt" | or | C1 |
ProductFamily/Name | Contains (Contient) | "Hat" | or | C2 |
ProductFamily/Name | Contains (Contient) | Talend | not | C3 |
ProductFamily/ChangeStatus | Contains (Contient) | "Pending" | Aucun | C4 |
Comportement des filtres utilisant plusieurs conditions et prédicats dans les composants MDM
Vous pouvez combiner plusieurs conditions de recherche dans les composants tMDMInput, tMDMViewSearch ou tMDMDelete afin de récupérer ou supprimer des données dans la solution MDM de Talend.
Lorsque vous utilisez plusieurs conditions et prédicats dans les composants MDM de Talend, gardez à l'esprit ceci :
-
Les prédicats none (default), or, and et Not peuvent désormais être utilisés. Les autres prédicats serviront plus tard.
- Le prédicat none est interprété comme and par défaut.
- Le prédicat Not s'applique uniquement à la condition sur laquelle il est défini.
- Lorsque plusieurs conditions sont définies, le prédicat or ou and utilisé sur la dernière condition, ne l'est pas pour combiner des conditions.
- Le prédicat or est interprété uniquement s'il est défini sur toutes les conditions, sauf la dernière d'entre elles. Sinon, le prédicat or est toujours interprété comme and et toutes les conditions sont combinées à l'aide du prédicat and.
- Les prédicats sont appliqués aux conditions selon leur ordre de séquence. Par exemple, si quatre conditions C1, C2, C3, C4 sont définies dans l'ordre suivant :
C1 and C2 or C3 not C4 none
Les prédicats sont appliqués aux conditions de cette manière : (((C1 and C2) and (not C3)) and C4).
- Quand vous définissez une condition, toutes les valeurs doivent être saisies entre guillemets doubles.
Comportement des filtres utilisant plusieurs conditions et prédicats dans les composants MDM de Talend.
Exemple 1 : les quatre conditions suivantes sont combinées et interprétées comme (((C1 and C2) and C3) and C4), qui retourne tous les produits dont le nom contient Talend et Shirt, dont le prix est supérieur à 10 et inférieur à 20.
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
Product/Name | Contains (Contient) | Talend | or | C1 |
Product/Name | Contains (Contient) | "Shirt" | and | C2 |
Product/Price | > | "10" | or | C3 |
Product/Price | < | "20" | Aucun | C4 |
Exemple 2 : les quatre conditions suivantes sont combinées et interprétées comme (((C1 and C2) and (not C3)) and C4), qui retourne tous les produits dont le nom contient Shirt, dont le prix est supérieur à 15, n'est pas égal à 15.99 et dont la famille est 1.
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
Product/Name | Contains (Contient) | "Shirt" | or | C1 |
Product/Price | > | "15" | or | C2 |
Product/Price | = | "15.99" | not | C3 |
Product/Family | = | "1" | Aucun | C4 |
Exemple 3 : les quatre conditions suivantes sont combinées et interprétées comme (((C1 or C2) or C3) or C4), qui retourne tous les produits dont le nom contient Shirt ou Hat, ou dont le prix est inférieur à 10, ou dont le prix est supérieur à 20.
XPath | Operator (Opérateur) | Valeur | Prédicat | Alias de la condition |
---|---|---|---|---|
Product/Name | Contains (Contient) | "Shirt" | or | C1 |
Product/Name | Contains (Contient) | "Hat" | or | C2 |
Product/Price | < | "10" | or | C3 |
Product/Price | > | "20" | Aucun | C4 |