Comportement des filtres utilisant plusieurs conditions et prédicats dans la solution MDM de Talend - 7.2

author
Talend Documentation Team
EnrichVersion
7.2
EnrichProdName
Talend Data Fabric
Talend MDM Platform
task
Gouvernance de données > Filtrage de données
Qualité et préparation de données > Filtrage de données
EnrichPlatform
Studio Talend
Talend MDM Server
Talend MDM Web UI

Comportement des filtres utilisant plusieurs conditions et prédicats dans la solution MDM de Talend

Dans la solution MDM de Talend, lorsque vous définissez des vues, des rôles, des filtres de clés étrangères, ou que vous récupérez ou supprimez des données à l'aide d'un composant tMDMInput, tMDMViewSearch ou tMDMDelete, vous pouvez ajouter autant de conditions que nécessaire afin de filtrer les données à interroger.

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