Filtrage des enregistrements doublons

La façon la plus simple de supprimer des enregistrements doublons est d'ajouter un stage Filter à votre flux de données après un stage de mise en correspondance. Le stage Filter supprime les enregistrements des collections d'enregistrements doublons en fonction des paramètres que vous indiquez.

  1. Dans Enterprise Designer, créez un flux de données identifiant les enregistrements en double à travers une mise en correspondance.

    La mise en correspondance est la première étape dans la déduplication, car vous devez identifier des enregistrements similaires, tels que des enregistrements disposant du même nom ou numéro de compte. Pour en savoir plus sur la création d'un flux de données qui met en correspondance les enregistrements, reportez-vous aux rubriques suivantes.

    Remarque : Vous devez uniquement créer le flux de données au stade où il lit les données et effectue une mise en correspondance avec un stage Interflow Match, Intraflow Match ou Transactional Match. Une fois que vous avez créé un flux de données à ce stade, continuez avec les étapes suivantes.
  2. Une fois que vous avez défini un flux de données qui lit les données et met les enregistrements en correspondance, faites glisser un stage Filter sur le canevas et connectez-le au stage qui effectue la mise en correspondance (Interflow Match, Intraflow Match ou Transactional Match).

    Par exemple, si votre flux de données lit des données à partir d'un fichier et effectue une mise en correspondance avec Intraflow Match, votre flux de données ressemblera à ce qui suit, après avoir ajouté un stage Filter :

  3. Double-cliquez sur le stage Filter sur le canevas.
  4. Dans le champ Grouper par, sélectionnez NuméroCollection.
  5. Laissez l'option Limiter le nombre d'enregistrements doublons renvoyés sélectionnée et la valeur définie sur 1. Il s'agit des paramètres par défaut.
  6. Décidez si vous souhaitez conserver le premier enregistrement de chaque collection ou définir une règle permettant de déterminer l'enregistrement à conserver dans chaque collection. Si vous souhaitez conserver le premier enregistrement de chaque collection, ignorez cette étape. Si vous souhaitez définir une règle, dans l'arborescence des règles, sélectionnez Règles et procédez comme suit :
    1. Cliquez sur Ajouter une règle.

      Les enregistrements de chaque groupe sont évalués pour déterminer s'ils respectent les règles que vous définissez ici. Si un enregistrement respecte la règle, il s'agit de l'enregistrement survivant et les autres enregistrements du groupe sont rejetés.

    2. Définissez une règle permettant d'identifier l'enregistrement de chaque groupe à retenir.

      Utilisez les options suivantes pour définir une règle :

      Option Description

      Nom du champ

      Indique le nom du champ de flux de données dont vous souhaitez évaluer la valeur afin de déterminer si l'enregistrement doit être filtré.

      Type de champ

      Indique le type de données dans le champ. L'un des éléments suivants :

      Non-numérique
      Choisissez cette option si le champ contient des données non numériques (par exemple, des données de chaîne).
      numériques
      Choisissez cette option si le champ contient des données numériques (par exemple, double, flottantes, etc.).

      Opérateur

      Indique le type de comparaison à utiliser pour évaluer le champ. L'un des éléments suivants :

      Contient
      Détermine si le champ contient la valeur indiquée. Par exemple, « bateau à voile » contient la valeur « bateau ».
      Est égal à
      Détermine si le champ contient la valeur exacte indiquée.
      Est supérieur à
      Détermine si la valeur du champ est supérieure à la valeur spécifiée. Cette opération ne fonctionne que sur les champs numériques.
      Supérieur ou Egal à
      Détermine si la valeur du champ est supérieure ou égale à la valeur spécifiée. Cette opération ne fonctionne que sur les champs numériques.
      Le plus haut
      Compare la valeur du champ pour tout le groupe d'enregistrements et identifie l'enregistrement qui possède la valeur la plus élevée dans le champ. Par exemple, si les champs dans ce groupe contiennent les valeurs 10, 20, 30, et 100, l'enregistrement qui dispose de la valeur 100 est sélectionné. Cette opération ne fonctionne que sur les champs numériques. Si plusieurs enregistrements sont à égalité pour la valeur la plus longue, un enregistrement est sélectionné.
      Est vide
      Détermine si le champ ne contient aucune valeur.
      N'est pas vide
      Détermine si le champ contient une valeur.
      Inférieur à
      Détermine si la valeur du champ est inférieure à la valeur spécifiée. Cette opération ne fonctionne que sur les champs numériques.
      Inférieur ou Egal à
      Détermine si la valeur du champ est inférieure ou égale à la valeur spécifiée. Cette opération ne fonctionne que sur les champs numériques.
      Le plus long
      Compare la valeur du champ pour tout le groupe d'enregistrements et identifie l'enregistrement qui possède la valeur la plus longue (en octets) dans le champ. Par exemple, si le groupe contient les valeurs « Mike » et « Michael », l'enregistrement possédant la valeur « Michael » est choisi. Si plusieurs enregistrements sont à égalité pour la valeur la plus longue, un enregistrement est sélectionné.
      Le plus bas
      Compare la valeur du champ pour tout le groupe d'enregistrements et identifie l'enregistrement qui possède la valeur la plus basse dans le champ. Par exemple, si les champs dans ce groupe contiennent les valeurs 10, 20, 30, et 100, l'enregistrement qui dispose de la valeur 10 est sélectionné. Cette opération ne fonctionne que sur les champs numériques. Si plusieurs enregistrements sont à égalité pour la valeur la plus longue, un enregistrement est sélectionné.
      Le plus commun
      Détermine si la valeur de champ contient la valeur qui se produit le plus fréquemment dans ce champ parmi les enregistrements dans ce groupe. Si deux valeurs, ou plus, sont les plus courantes, aucun action ne sera réalisée.
      N'est pas égal
      Détermine si la valeur du champ n'est pas égale à la valeur spécifiée.

      Type de valeur

      Indique le type de valeur à comparer avec la valeur du champ. L'un des éléments suivants :

      Remarque : Cette option n'est pas disponible si vous sélectionnez l'opérateur Highest, Lowest ou Longest.
      Champ
      Choisissez cette option si vous souhaitez comparer une autre valeur du champ de flux de données avec le champ.
      Chaîne
      Choisissez cette option si vous souhaitez comparer le champ avec une valeur spécifique.
      Valeur

      Indique la valeur à comparer avec la valeur du champ. Si vous avez sélectionnez Champ dans le champ Type de champ, sélectionnez un champ de flux de données. Si vous avez sélectionné Chaîne dans le champ Type de valeur, tapez la valeur à utiliser dans la comparaison.

      Remarque : Cette option n'est pas disponible si vous sélectionnez l'opérateur Highest, Lowest ou Longest.
    3. Cliquez sur OK.

      Vous avez désormais configuré le filtre avec une règle. Vous pouvez ajouter d'autres règles si nécessaire.

  7. Cliquez sur OK pour fermer la fenêtre Options de filtre.
  8. Faites glisser un stage de collecteur de données sur le canevas et connectez-le au stage Filter.

    Par exemple, si vous utilisiez un stage de collecteur de données Write To File, votre flux de données se présenterait comme suit :

  9. Double-cliquez sur le stage de collecteur de données et configurez-le.

    Pour obtenir des informations sur la configuration des stages de collecteur de données, reportez-vous au Guide du concepteur de flux de données.

Vous disposez désormais d'un flux de données identifiant les enregistrements correspondants et supprimant tous les enregistrements, sauf un, de chaque groupe de doublons, ce qui produit un fichier de sortie contenant des données dédupliquées.