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
Ladarthure
14 - Magnetar
14 - Magnetar

Récemment j’ai été confronté à des problématiques de traitement de fichiers manuels de saisie avec tout ce que cela peut impliquer, fichiers qui différent d’une version à l’autre, champs pas assez normalisés et beaucoup d’éléments de ce type, beaucoup de colonnes.

 

Cet exercice qui peut paraître simple au premier abord m’a permis de redécouvrir certaines astuces et techniques que je vais vous partager ici.

 

Qui dit fichier manuel dit, problèmes de qualité de données, particulièrement dans des fichiers Excel où la qualité dépend de l’élément entre la chaise et le clavier. Voici donc quelques éléments que l’on peut utiliser face à ce genre de problématiques pour nous simplifier la vie.

 

Voici les 3 outils qui m’ont sauvé face à ce genre de problématiques ainsi qu’un exemple d'utilisation :

 

Dynamic Rename (Renommage Dynamique des champs) :

Cet outil qui est dans la catégorie développeur permet de renommer dynamiquement des champs, de plusieurs manières, on peut utiliser une table secondaire qui contient les noms de champs que l’on veut traiter (faire le travail une fois pour ne plus avoir à le refaire à chaque fois.). On peut aussi utiliser des formules pour renommer les champs, par exemple pour supprimer les accents ou bien tout mettre en majuscules.

 

Exemple d’utilisation :

Dans l’exemple du workflow, je normalise mes noms de champs en plusieurs outils qui chacun remplissent une tâche différente :

  1. Remplacement des caractères accentués par la version non accentuée :
    1. DecomposeUnicodeForMatch([_CurrentField_])
  2. Remplacement de la ponctuation par des espaces
    1. Regex_Replace([_CurrentField_], '([[:punct:]])', ' ')
  3. Remplacement des espaces par des underscore
    1. replacechar([_CurrentField_], ' ', '_')
  4. Suppression des underscore en début et fin de chaîne
    1. trim([_CurrentField_], '_')
  5. Remplacement des doubles underscore par un underscore simple
    1. Regex_Replace([_CurrentField_], '\_+', '_')
  6. Mise en majuscule
    1. uppercase([_CurrentField_])

 

 

Dynamic Select (Sélection dynamique des champs) :

Un outil simple mais qui permet de sélectionner des champs via des formules, cela m’a notamment permis de ne sélectionner que les champs qui m’intéressent, que ce soit en combinaison d’un outil Dynamic Rename pour par exemple ne sélectionner que les champs qui commencent par IMPORTANT_ ou bien ne sélectionner que les champs qui contiennent date dans le nom.

 

Exemple d’utilisation :

Dans l’exemple, je lis un fichier excel mis en forme avec des colonnes vides et sans en tête, je me retrouve donc avec des champs nommés F1, F2, F3… cela peut poser problème car ces champs varient d’une itération à l’autre en fonction de la mise en forme réalisée par l’utilisateur, les supprimer manuellement ne serait pas durable dans le temps.

On utilise donc un dynamic Select en utilisant la formule suivante : !Regex_Match([Name], 'F\d+').

Le point d’exclamation avant la formule permet de valider l’inverse de ce qui est mis dans le Regex_Match.

 

Multi Field Formula (Formule à plusieurs colonnes):

C’est un outil qui est bien connu mais que l’on peut utiliser d’une manière assez originale dans notre cas, on peut par exemple, l’utiliser pour transformer tous les champs en texte ou encore créer des nouveaux champs de manière dynamique pour faire des tests sur plusieurs champs à la fois.

 

Exemple d’utilisation :

Afin de simplifier certains processus de test, va parfois vouloir avoir l’ensemble des champs sous un format texte, cela permet par exemple de vérifier une syntaxe ou encore de normaliser certains éléments, comme remplacer les « , » par des « . » pour avoir les champs numériques exploitables quand on a des utilisateurs peu rigoureux qui utilisent l’un ou l’autre en fonction des jours. L’astuce principale ici réside dans le fait que l’outil permet de forcer le type des champs que l’on souhaite avoir en sortie.

 

 

En combinant l’ensemble de ces astuces, et ces techniques, on peut réaliser un travail de préparation optimal en normalisant l’ensemble de nos données dans un premier temps, puis en allant une fois que cette étape est réalisée travailler la donnée pour obtenir le format que l’on souhaite.

 

Étiquettes