<< Back

Une macro Alteryx pour les valider tous !

Que celui qui reçoit des fichiers de la part de son client au bon format lève le doigt ! Personne ? Sûr ? Et bien rassurez-vous, vous n’êtes pas seul !

Heureusement Alteryx peut être d’une grande aide. Je vous présente comment, à travers la macro « Data Validation », vous allez vous simplifier la vie.

Télécharger la macro

Voilà de nombreuses années que j’ai à traiter les problématiques de « reprise de données » et le scénario est toujours le même :

  1. J’envoie au client (interne aussi bien qu’externe) la structure du fichier CSV que j’attends de sa part (nom des colonnes, type de données, longueur min et max, valeurs autorisées, etc…)
  2. Le client m’envoie ses données
  3. Je les intégre au logiciel
  4. Ca bug ! (sic)
  5. J’analyse les logs, identifie les erreurs
  6. Je rédige un compte rendu au client…

…Et retour à l’étape 2.

Très souvent, de nombreuses itérations sont nécessaires pour obtenir enfin un fichier respectant les règles édictées.

Je me suis alors demandé comment Alteryx pourrait nous aider à fiabiliser le processus… et surtout comment l’accélérer.

J’ai posté un blog sur la communauté Alteryx pour un appel à l’aide… et ça a très bien marché ! L’Ace Joe Macko m’a proposé une macro répondant à la problématique.

J’ai repris son workflow, j’y ai ajouté quelques fonctionnalités additionnelles pour enfin obtenir la macro « Data Validation » que je vous propose de télécharger en bas de l’article.

Comment ça marche ?

ScreenShot Test Module

 

La macro gère 2 entrées :

 

  • (F)ile to Check  : Il s’agit des données à tester. La première ligne doit contenir le nom des champs. Il n’est pas nécessaire de forcer le typage des champ si vous lisez un fichier CSV, la macro va s’en charger pour vous.
  • Expected File (S)tructure : C’est la description du format attendu.

  • Les informations à renseigner :
    • Field Name : Le nom des champs attendus
    • Data Type : Le type de données attendu. Les valeurs possibles sont :
      • String
      • Int32, Int64
      • Double
    • Mandatory : Est-ce que le champ doit être obligatoirement renseigné ?
      • True : Oui
      • False : Non
    • Min Length : Nombre de caractères minimum autorisés pour le champ
    • Max Length : Nombre de caractères maximum autorisés pour le champ
    • Format (optionnel) : Une expression régulière permettant de valider le contenu du champ
      • Exemples :
        • Un numéro de téléphone ne doit contenir que des chiffres : \d*
        • Une date au format JJ/MM/AAAA : \d{2}\/\d{2}\/\d{4
        • La civilité ne peut être que « M » ou « MME » : ^(M|MME)$

 

La macro gère 3 sorties :

 

  • (F)ield Names Comparison : Les noms des champs attendus sont mis « en face » des noms de champs du fichier testé. Cela permet de repérer visuellement un décalage de colonnes

  • (D)etailed report anomalies : La liste détaillée des anomalies rencontrées. Pour chaque erreur rencontrée on obtient :
    • le numéro de la ligne
    • le champ concerné
    • le libellé de l’anomalie
    • la valeur responsable de l’erreur

 Voici les erreurs gérées par la macro :

  • Champ manquant (ou en trop)
  • Valeur manquante
  • Pas un entier, pas un chiffre décimal
  • Champ trop court
  • Champ trop long
  • Erreur de format (lorsque la règle édictée par l’expression régulière n’est pas vérifiée)

 

  • (S)ummary Report : C’est tout simplement la synthèse des anomalies.

 

Ce qui est super avec la macro, c’est qu’il est alors très simple et très rapide d’identifier les erreurs de contenu du fichier, surtout si vous avez plusieurs versions d’un même fichier à tester.
Ensuite, pour communiquer les erreurs au client, voilà comment je procède :

  1. Depuis un Browse Tool, je copie / colle le « Summary Report » dans un mail adressé au client (via un copie écran ou bien via la fonction adhoc du Browse Tool)
  2. J’exporte au format XLSX le détail des anomalies pour le mettre en PJ..
  3. Petite formule de politesse l’invitant le client à revoir sa copie…
  4. … et retour à l’envoyeur ! 🙂

 

Pour vous aider à sa première utilisation, vous pouvez télécharger le module d’exemple sur la Gallery Alteryx.

N’hésitez pas à me faire par de vos questions, commentaires ou suggestions d’améliorations. C’est toujours agréable d’avoir un retour de la communauté 🙂

Télécharger la macro sur la Gallery Alteryx !

 

Julien Beylat

Paris - Nantes

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.