Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'indexVoici les réponses aux deux questions « Questions pour un outil » de la semaine du 18 septembre au 24 octobre 2021.
Vous pouvez toujours y participer sur LinkedIn ou la communauté :
La question du mardi était :
En comparant le jeu de données et le résultat on constate ceci :
Commençons par la partie simple de la configuration : les champs. Il faut définir le champ à modifier, celui utilisé pour identifier les valeurs et celui contenant les valeurs de remplacement.
Pour le champ à modifier, c'est simple, il n'y en a qu'un dans la première entrée : Mail. Étant donné qu'il est le seul, il est automatiquement choisi dans l'option Rechercher au sein du champ.
Ensuite, parmi les deux champs de la deuxième entrée, il faut utiliser Ancien comme champ d'identification dans l'option Rechercher une valeur et Nouveau comme champ de remplacement dans l'option Remplacer le texte trouvé par une valeur.
Ensuite, il faut choisir de quelle façon la recherche s'effectue parmi les options Début du champ, Une partie du champet Tout le champ. Ici, les valeurs peuvent se trouver au milieu de la chaîne de caractères, il faut donc choisir la deuxième option.
Puis, en prenant l'exemple du mot "point", on voit que la recherche n'est pas sensible à la casse. En effet, nous avons la valeur "point", en minuscules, et la valeur "Point" avec une majuscule. Cependant, les deux sont remplacées. Il faut donc cocher l'option Recherche insensible à la casse.
Enfin, bien que nous ayons coché l'option Une partie du champ, l'outil, par défaut, ne remplace que la première occurence. Il faut donc cocher l'option Remplacer plusieurs éléments trouvés pour que toutes les occurrences soient remplacées.
La configuration finale est celle-ci :
Voici la documentation de l'outil pour plus d'informations : https://help.alteryx.com/fr/current/designer/find-replace-tool
La question du jeudi était :
En comparant le jeu de données et le résultat on constate ceci :
Pour le premier point, nous souhaitons modifier le champ existant Article, pas en créer un nouveau. Il faut donc sélectionner le champ Article.
Ensuite, on veut supprimer le caractère "$" en début de chaîne et le caractère "." en fin de chaîne. Pour supprimer les caractères en bout de chaîne, on peut utiliser les fonctions suivantes : Trim(), TrimLeft() et TrimRight().
Comme nous avons un caractère à gauche et un caractère à droite, il est tentant de vouloir utiliser une fois la fonction TrimLeft() et une fois la fonction TrimRight(). Cependant, la fonction Trim() traite le début et la fin de la chaîne, et retire les caractères spécifiés à chaque bout. Nous pouvons donc l'utiliser comme ceci :
Trim([Article], "$.")
Ensuite, la colonne Total n'existant pas dans le jeu de données en entrée, il faut la créer. En observant les données, on peut déduire que la colonne Total est la multiplication entre les valeurs de la colonne Quantité et de la colonne Montant. Il suffit donc d'écrire l'expression suivante :
[Quantité] * [Montant]
C'était trop simple n'est-ce pas ? Effectivement, on obtient une erreur avec cette expression car la colonne Montant n'est pas numérique. C'est une chaîne de caractères, sinon nous n'aurions pas le caractère "€". Il faut donc transformer ce champ en numérique pour pouvoir faire le calcul. Pour ce faire, il suffit d'utiliser la fonction ToNumber(). Et nous allons l'utiliser directement dans le calcul, de cette manière :
[Quantité] * ToNumber([Montant])
Mais ce n'est pas encore fini. Pour faire les choses proprement et éviter ces erreurs de conversion que vous obtenez, dues a la partie " €" qui est forcée à disparaitre et est donc considérée comme une perte d'information, nous allons utiliser la fonction TrimRight() pour la supprimer avant de convertir. Le calcul final est donc celui-ci :
[Quantité] * ToNumber(TrimRight([Montant], " €"))
La configuration finale est celle-ci :
Voici la documentation de l'outil pour plus d'informations : https://help.alteryx.com/fr/current/designer/formula-tool
C'est tout pour cette semaine ! Rendez-vous la semaine prochaine pour deux nouvelles questions ! 🙂
Pour ajouter un commentaire ici, vous devez être inscrit. Si vous êtes déjà inscrit, connectez-vous. Dans le cas contraire, inscrivez-vous puis connectez-vous.