Free Trial

Blog

Les analyses et les idées des plus grands esprits de l'analyse.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
StephaneP
Alteryx
Alteryx

Tile raw.png

 

Un grand classique. Comment identifier les doublons au sein d’une liste ou en comparant 2 listes. Dans la réalité cela mène à l’étape suivante de comparaison des doublons pour savoir lequel corriger ou éliminer.

 

Nous allons donc parcourir les quelques méthodes pour obtenir ce résultat.

 

Cet article est « hybride » au sens ou les exemples et explications sont valables pour la version Desktop ou Cloud. Il y aura donc des screens shots distincts si besoin. Les workflows des 2 versions sont à disposition en fin d’article.

 

Au menu, un petit nettoyage d’une liste de personnes prise totalement au hasard.

 

StephaneP_128-1706808652251.png

 

1. Identification simple

 

Facile, il y a un outil dédié : Unique

 

StephaneP_129-1706808652252.png

 

Il suffit de lui déclarer les champs sur lesquels on veut tester l’unicité. Ici Prénom et Nom.

 

StephaneP_130-1706808652258.png

 

Il est très intéressant car il ne se contente pas d’alerter sur les doublons mais il les place dans une sortie dédiée D pour pouvoir potentiellement les traiter.

 

StephaneP_131-1706808652268.png

 

On voit ici que nos doublons Luke Skywalker et Han Solo ont bien été identifiés et placés dans la sortie D.

 

Points importants à prendre en compte :

  • Se brancher après la sortie U (Unique) est donc une garantie de n’avoir aucun doublon, ce qui est une sécurité pour tous workflow bien construit.
  • La sortie D est remplie avec les doublons si il y en a. Mais on a pas la main sur le doublon retenu. Il place le 1er couple Prénom/ Nom dans U et les prochains dans D. Est-ce le bon ou pas ? Il n’a pas de moyen de savoir. Peut-être est-ce la valeur erronée qui se trouve dans U.

 

Bonne pratique :

Pour rendre son flux robuste, placer un objet TEST sur cette sortie D qui alertera si on a un nombre de ligne différent de 0. Cela indique au moins un doublon.

 

StephaneP_132-1706808652269.png

 

StephaneP_133-1706808652273.png

 

Ainsi le fait de se brancher sur la sortie U nous garantit une absence de doublon et donc la robustesse du flux. Et si demain pour une raison X ou Y des doublons apparaissent on est alerté.

 

Note: Au 31.01.2024 l’objet TEST n’est pas encore présent dans la version Cloud.

 

2. Identification et regroupement pour comparaison

 

On l’a vu précédemment, oui on a identifié nos doublons, mais l’étape naturelle suivante est de les nettoyer et donc les comparer pour identifier celui qu’il faut corriger ou supprimer.

 

Le Unique est donc limité car ils sont séparés arbitrairement sur la base de l’ordre des lignes.

 

D’où le besoin de ces techniques de comparaison.

 

2.1. Au sein d’une même liste, comparaison verticale

 

C’est-à-dire qu’on a 1 seul fichier avec des doublons à l’intérieur.

 

StephaneP_134-1706808652274.png

 

On n’utilise pas ici l’objet UNIQUE mais l’objet AGGREGER/ SUMMARIZE en lui demandant de faire des regroupements par Prénom/ Nom et de compter les lignes au sein de ce regroupement.

Si j’ai plus de 1 ligne c’est que j’ai un doublon.

 

StephaneP_135-1706808652279.png

 

StephaneP_136-1706808652289.png

 

Il ne reste alors qu’à filtrer sur Count >1 pour obtenir la liste des doublons.

 

On va ensuite via le JOINTURE/ JOIN rechercher toutes les lignes en doublon qui ont ces Prénoms & Noms.

On obtient bien une comparaison visuelle verticale de nos doublons pour analyser le champs Métier et déterminer lequel est le bon.

 

StephaneP_137-1706808652290.png

 

2.2. Entre 2 listes, comparaison horizontale

 

StephaneP_138-1706808652295.png

 

Si on veut comparer 2 listes distinctes, il nous faut cette fois ci utiliser l’outil JOINTURE/ JOIN qui ramène toutes les lignes qui ont la correspondance sur les champs associés : Prénom et Nom.

 

StephaneP_139-1706808652306.png

 

StephaneP_140-1706808652316.png

 

C’est une technique très pratique et robuste.

 

Inconvénient :

Ici on a juste la colonne Métier à analyser. Mais parfois pour identifier le doublon en erreur vous devez parcourir de nombreux champs et la lecture est complexe. Comparer les 20 1ères colonnes aux 20 suivantes, une par une est fastidieux).

D’où le besoin de basculer ces blocs l’un en dessous de l’autre pour une comparaison verticale.

 

2.3. Entre 2 listes, comparaison verticale

 

On souhaite ici avoir les doublons l’un au-dessus de l’autre pour plus simplement comparer les valeurs des colonnes sans avoir à scroller. Nettement plus lisible donc.

 

StephaneP_141-1706808652316.png

 

StephaneP_142-1706808652318.png

 

La technique consiste à retraiter la liste initiale en 2 branches. L’une qui ne conservera que les colonnes de la Liste 1, l’autre les colonnes de la liste 2. On peut alors les consolider via l’outil UNION.

 

2 étapes préalables à cela :

  • Ajouter un identifiant unique de ligne pour pouvoir les regrouper ensuite
  • Harmoniser les noms des colonnes qui portent les mêmes notions (métier ici) pour qu’elles puissent s’aligner automatiquement lors de la consolidation du UNION.

 

  • Informations communes
  • Liste 1
  • Liste 2

 

StephaneP_143-1706808652326.png

 

Lorsqu’on consolide ces 2 sorties, comme les colonnes ont le même nom on obtient bien des lignes l’une au-dessus de l’autre.

 

Note :

L'exemple entre 2 listes ne traite que l'identification des doublons ENTRE les 2 listes mais pas les doublons au sein de chaque liste. Par exemple un doublon présent uniquement dans la liste 1 qui n'a pas de doublon dans la liste 2 n'apparaitra pas en sortie.

Il faut combiner les 2 techniques si vous souhaitez traiter ce "double" cas.

 

Avez-vous d’autres techniques pour identifier et comparer les doublons ?

N’hésitez pas à en faire part dans les commentaires.

 

Enjoy !

 

Note: Pour le wokrflow cloud, il faut dezipper pour obtenir le .json à charger dans votre workspace.

Stéphane Portier
Sales Engineer

Étiquettes