Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'index
L’outil « Remplacement Dynamique » (« Dynamic Replace » en anglais) est un des outils les plus puissants d’Alteryx. Rarement mis en avant, il permet pourtant de faire des merveilles lorsque l’on a beaucoup de règles de gestion à appliquer à un jeu de données.
Il permet de remplacer rapidement des valeurs de données dans une série de champs à partir d’une condition. Le remplacement des données peut être basé sur des règles de gestion (des formules) ou des valeurs statiques.
L’outil se trouve dans l’onglet développeur :
1. Appliquer une condition dynamiquement
Je souhaite créer un champ « Résultat » et y appliquer le calcul suivant :
SI A < = B, alors « A inférieur ou égal à B » SINON, alors « A supérieur à B »
|
Je peux très bien faire ça tranquillement avec une formule, correct ?
Oui bien sûr. Fin de l’histoire ? Pas si vite.
Imaginons que les règles de calcul soient un peu plus complexes.
SI A < = B, alors « A inférieur ou égal à B » SINON, SI A > B ET B < 2, alors « A supérieur à B et B inférieur à 2 » SINON, SI A > B ET B < 5, alors « A supérieur à B et B inférieur à 5 » SINON, SI A > B ET B < 10, alors « A supérieur à B et B inférieur à 10 » SINON, « A supérieur à B et B supérieur ou égal à 10 »
|
Toujours pareil, je peux faire ça avec un outil « Formule ». Pourquoi aller chercher plus compliquer ?
Oui d’accord. Mais si ces règles changent dynamiquement de manière imprévisible ? Est-ce que je vais modifier ma formule à chaque fois ? Et s’il n’y a pas 5 conditions mais 500 ?
C’est là ou l’outil « Remplacement Dynamique » devient intéressant et on va le dire franchement : incroyablement pratique. Il est quand même assez complexe de prime abord. Son utilité ne saute pas aux yeux, comme on vient le voir. Et sa configuration peut porter à confusion. Clairement, sans explication, je pense que personne ne pourrait le configurer correctement du 1er coup 😊.
Donc voyons à quoi ressemblerait notre 1er exemple, pour rappel :
SI A < = B, alors « A inférieur ou égal à B » SINON, alors « A supérieur à B »
|
Voici l’explication des options de l’outil Dynamic Replace :
Effectivement, un peu compliqué pour une simple condition. Maintenant, voyons à quoi ressemblerait notre workflow dans notre 2ème exemple, pour rappel :
SI A < = B, alors « A inférieur ou égal à B » SINON, SI A > B ET B < 2, alors « A supérieur à B et B inférieur à 2 » SINON, SI A > B ET B < 5, alors « A supérieur à B et B inférieur à 5 » SINON, SI A > B ET B < 10, alors « A supérieur à B et B inférieur à 10 » SINON, « A supérieur à B et B supérieur ou égal à 10 »
|
Et oui, nos règles ont changé mais pas l’outil « Remplacement Dynamique ».
Dans notre exemple nous sommes en train d’utiliser l’outil entrée de texte, mais imaginons que nous avons un fichier Excel avec l’ensemble des conditions et avec ça nous pouvons donner la main aux analystes pour ajouter ou modifier les formules au niveau du fichier et non au niveau du workflow.
2. Faire des calculs dynamiques entre colonnes avec une règle de gestion
Maintenant nous souhaitons faire un calcul :
SI [A]<=[B] ALORS [A]*[B] SI [A]>[B] ALORS [A]/[B] |
3. Faire des calculs sans règle de gestion
Dans l’exemple 2 nous avons une condition et une formule pour chaque ligne et si nous souhaitons faire une formule pour chaque ligne sans condition :
Nous allons adapter notre workflow afin de lire une seule entrée de données
Nous pouvons constater qu’Alteryx a appliqué la première formule pour toutes les lignes.
C’est parce que notre colonne de test est toujours vraie.
Pour résoudre le problème nous allons faire des modifications sur notre précédent workflow.
Ci-dessous les étapes à mettre en place :
1. Ajouter un filtre sur la colonne résultat
2. Ajouter un paramètre de contrôle afin de mettre à jour le filtre à chaque fois que nous avons une formule différente
3. Convertir les explorateurs à la fin de mon workflow en sortie de macro
4. Voici notre macro
5. Maintenant nous allons ajouter une icône à notre macro
a. Pour ce faire nous allons cocher « Afficher concepteur d’interface » dans l’onglet Afficher
b. Ensuite nous allons cliquer sur « Propriété »
c. Puis nous allons choisir une icône à partir de la liste déroulante
d. Une fois que c’est terminé, nous allons enregistrer notre macro avec le nom « Remplacement Dynamique »
6. Maintenant nous allons créer un workflow vierge et nous allons ajouter notre source de données
7. Insérons maintenant notre Macro Batch
8. Nous allons faire le lien entre notre paramètre de contrôle et notre colonne résultat pour la mise à jour du filtre à l’intérieur de la macro
9. Nous allons faire le lien avec l’entrée en bas du contrôle afin d’alimenter la macro avec les données et nous allons ajouter deux explorateurs afin de voir le résultat
Vous trouvez ci-joint les exemples que nous avons utilisés 🙂
N'hésitez pas à partager vos commentaires ci-dessous. Je serai très reconnaissant pour toutes les idées et suggestions qui permettront aux lecteurs de comprendre la puissance de l'outil « Remplacement Dynamique ».
Merci d'avoir lu et bonne analyse 🙂
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.