<< Back

Les expressions conditionnelles dans Alteryx Designer

Les expressions conditionnelles sont incontournables pour créer des flux de données de qualité dans Alteryx Designer. Comme suggère leur nom, elles permettent de tester une ou plusieurs conditions sur un ou plusieurs champs afin de transformer, nettoyer ou filtrer le jeu de données initial. Le plus souvent, ces expressions font partie de la configuration d’outil Formule.

Qu’est-ce qu’une expression conditionnelle ?

L’expression conditionnelle commence toujours par l’instruction IF, suivie par THEN, ensuite ELSE ou ELSEIF (si on veut insérer plusieurs niveaux de conditions dans la formule de base) et terminent toujours par ENDIF. Il est important de respecter les règles de syntaxe pour que la formule fonctionne correctement : IF condition THEN true ELSEIF condition2 THEN true2 ELSE false ENDIF

La maîtrise de ces expressions ouvre de larges opportunités de configuration de vos formules dans Alteryx, car cela permet à la fois de nettoyer, de transformer et de filtrer vos données selon des conditions particulières et avec la plus grande granularité.

La formule découpe votre flux en plusieurs segments. Dans ces segments, il y a une première condition qui commence par IF, puis une ou plusieurs conditions commençant par ELSEIF jusqu’à la partie finale où aucune des conditions n’est applicable, regroupée par “ELSE”. Pour que la formule fonctionne, il faut toujours mettre ENDIF à la fin.

Configurer une expression conditionnelle dans Alteryx

Tout d’abord, la configuration des conditions est articulée par des opérateurs arithmétiques de comparaison <,>,=, ainsi que des opérateurs de calcul +,-,*,

Nous pouvons les utiliser à la fois avec des valeurs numériques et des chaînes de caractères (qu’il faut toujours mettre entre guillemets ‘simples’ ou “doubles” afin de ne pas les confondre avec des chiffres). On peut évidemment renseigner directement le nom de champ entre des [guillemets carrées] pour appliquer la formule à toutes les valeurs à l’intérieur du champ ligne par ligne.

Ensuite, à l’intérieur des conditions, il est possible d’utiliser des opérateurs logiques :

  • AND (si toutes les parties de la condition sont respectées)
  • OR (dans les cas où au moins une condition est TRUE).
  • Il est également possible d’utiliser l’opérateur IN pour tester la condition sur plusieurs champs.

Il existe aussi plusieurs fonctions qui peuvent être intégrées à l’intérieur des expressions conditionnelles et qui facilitent la configuration. Par exemple Trim(), Left(), Right() etc.

Il ne faut pas oublier les fonctions ToString() et ToNumber() qui permettent d’adapter les données aux exigences des fonctions et des opérateurs si les valeurs ne sont pas stockées dans le type de données attendu.

Exemples d’utilisations des expressions conditionnelles

Ici nous avons un jeu de données dédié à Game of Thrones contenant des informations (approximatives) sur certains des personnages principaux. Le jeu de données n’est pas en parfait état, et on peut l’améliorer avec les expressions conditionnelles.

Transformation des données

Tout d’abord, on peut utiliser une formule pour transformer le dernier champ Nobility pour que la distinction entre les 2 valeurs soit plus claire :

Il est important de s’assurer que le type de données correspond à la fois au type renseigné dans le champ sélectionné et aux conditions que l’on teste. Dans cet exemple le champ “Nobility” contient des strings, c’est pourquoi le “1” est mis entre guillemets pour que la formule fonctionne correctement.

Nettoyage des données

Dans le deuxième champ “Allegiance” on remarque l’incohérence dans la représentation d’alliance d’un personnage. Certaines variables contiennent le mot “House” et le nom de famille, tandis que d’autres évoquent seulement le nom de famille. Pour résoudre ce problème on peut utiliser la fonction Left() et TrimLeft() afin de garantir  l’uniformité de nos données.

Après d’exécution nos données sont nettoyées et uniformes:

Ajouts de champs et tests de plusieurs conditions

Avec la même logique, on peut créer un nouveau champ dans lequel on va saisir les nouvelles données. Alteryx permet de tester plusieurs conditions dans la même formule en utilisant ELSEIF. Créons un champ qui contient l’évaluation subjective du personnage basé sur son nom. N’oublions pas de créer un nouveau champ “Subjective Evaluation” !

Il est possible d’ajouter plusieurs conditions séparées l’une après l’autre si on veut introduire une exception qui dépend d’une autre condition. Après tout, Roose Bolton n’était pas un allié des Starks à la fin, c’est pourquoi on a subjectivement décidé de lui donner un statut de traître.

On teste la deuxième expression sur un autre champ (Name), et c’est pourquoi on l’a mise dans la deuxième partie de configuration. N’oublions pas de documenter notre travail en utilisant “//” pour que tout le monde sache ce qui a influencé notre perception subjective du personnage.

Les autres façons d’écrire une expression conditionnelle

Il existe d’autres façons d’écrire vos expressions conditionnelles sur Alteryx, notamment IIF(bool, x, y) qui va tester une condition boolean et rendre une valeur qui respecte la condition et l’autre qui ne le respecte pas :

Enfin, l’expression SWITCH() permet de comparer une valeur à un groupe des cas et rend un résultat correspondant. exemple??

Les bonnes pratiques Alteryx Designer

Les fonctions qui existent dans la fenêtre de configuration sont nombreuses et variées. Pour les découvrir en plus de détail, je vous propose de consulter la documentation sur le site d’Alteryx.

Pour terminer, voici la liste des bonnes pratiques à suivre :

  • Toujours renseigner le nom du champ qui va stocker le résultat
  • Toujours tester la condition la plus probable en premier pour optimiser le traitement des données
  • Documenter vos expressions – dans la fiche d’annotation ou encore mieux directement dans la fenêtre de configuration
  • Respecter le type de données et les fonctions que vous mettez ensemble
  • Respecter la syntaxe à l’intérieur de vos conditions – mettre les string entre guillemets et chiffres sans guillemets, faire attention à l’ordre des opérations dans les expressions arithmétiques, ne pas oublier les parenthèses quand c’est nécessaire.

Besoin d’aide avec Alteryx ?

Vous êtes curieux de savoir comment Alteryx peut s’intégrer dans votre pratique de l’analyse ? Où déjà utilisateur et vous cherchez à progresser davantage ? Ou bien, un utilisateur débutant et vous souhaitez vous former ?

Notre équipe se fera une joie d’en avec vous ! Faites-nous part de vos besoins en nous contactant à contact@theinformationlab.fr !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.