<< Back

Comment utiliser Generate Rows dans Alteryx ?

Comment utiliser « Generate Rows » sur Alteryx Designer ? À quoi sert cet outil ? Quand pouvons-nous l’utiliser et comment ? Pas d’inquiétude, vous êtes sur le bon endroit !

Qu’est-ce que l’outil « Generate Rows » ?

Comme son nom l’indique, l’outil “Generate Rows” permet de générer des lignes au sein d’un jeu de données. Sur Alteryx, la logique de l’outil consiste à spécifier trois choses :

  • Une expression initiale, appliquée au premier enregistrement.
  • Une condition (vraie ou fausse) qui aboutit à la construction des nouvelles lignes jusqu’à ce que la condition devienne fausse afin de terminer la boucle.
  • Une expression de boucle qui sert d’incrément et qui construit des lignes ultérieures pour chaque enregistrement généré.

Notons aussi que la connexion d’entrée de l’outil (Input Anchor) est facultative. Cela signifie que vous pouvez créer votre jeu de données depuis l’outil, grâce à ces trois fonctionnalités !

De même, vous pouvez soit mettre à jour un champ existant, soit créer un nouveau champ en spécifiant le type de données que vous souhaitez (Dates, Nombres entiers, etc.).

La puissance de l’outil “Generate Rows” est dans sa configuration, ainsi que la liberté qu’il procure dans la manipulation de vos données, grâce à l’éditeur d’expressions notamment.

Comment utiliser l’outil « Generate Rows » ?

Mise à jour de champs existant

Dans un premier temps, il est important de bien vérifier tous les paramètres de votre outil avant exécution.

Vous pouvez d’abord mettre à jour un champ existant, ou créer un nouveau champ. Le fait de pouvoir créer une nouvelle colonne vous permet aussi d’intégrer celle-là dans votre incrément ainsi que votre condition.

Enfin, il faudra surtout bien veiller à avoir la bonne condition d’expression. Il faut notamment que cette condition ait une fin, pour que la boucle puisse s’arrêter. Attention, une mauvaise condition risque de faire tourner votre workflow Alteryx Designer à l’infini ! Pour cette étape, la documentation de votre workflow sera cruciale !

À titre d’exemple, je souhaite que mon outil arrête l’exécution si la condition “ligne est supérieure à 1” est fausse. Or cette condition sera toujours vraie, car je commence par 2, avec un incrément +1.

Il est également possible de faire des conditions avec des valeurs fixes, comme nous le voyons ci-dessus. Mais, pour ne pas perdre le dynamisme de votre Workflow Alteryx, il est recommandé de travailler uniquement avec des colonnes.

Mise à jour de champs existant avec « Generate Rows »

Supposons que vous avez une liste où vous ajoutez les fournisseurs des services dont vous avez besoin. Vous souhaitez calculer le coût cumulé de vos fournisseurs que vous payez mensuellement durant la période entre la date de début et la date de fin. Or, vous n’avez que le coût mensuel.

Avec l’outil “Generate Rows”, vous pouvez créer une nouvelle colonne “date de paie” en spécifiant la condition suivante : elle doit être inférieure à la date de fin, ainsi qu’un incrément +1 mois, en utilisant la fonction DateTimeAdd.

Untitled

À l’aide de l’outil “Running Total” dans la palette des outils de transformation 🟠, vous pouvez créer la colonne désirée, sans oublier de grouper par le nom du fournisseur, afin de calculer un coût cumulé pour chaque fournisseur.

Untitled

Il faut donc au moins deux champs pour qu’une condition soit réalisée (e.g. Colonne 1 < Colonne 2, Colonne 3 = Colonne 5). Est-ce possible de garder le dynamisme du Workflow si nous n’avons qu’une seule colonne ? Oui !

Générer des lignes à partir d’une seule colonne dans Alteryx Designer

Que ce soit pour des champs numériques ou de dates, l’outil “Agréger” ou “Summarize” dans la palette des outils de transformation 🟠 permet de calculer un minimum et un maximum d’un champ de données. Avec celui-ci et l’outil Generate Rows, vous pourrez générer les lignes qui vont compléter votre colonne.

Par exemple, lors d’une course, vous n’avez renseigné la durée que de certains coureurs dans votre fichier. Vous souhaitez donc le compléter afin d’obtenir la liste de tous les coureurs.

Untitled

En cherchant le minimum et le maximum dans “Numéro de coureur”, vous obtenez le début et la fin de votre boucle.

Untitled

Ensuite, vous pouvez créer votre colonne complète, à l’aide de l’outil “Generate Rows”.

blog_alteryx_8.png

Enfin, à l’aide de l’outil “Jointure Multiple” (qui permet de garder toutes les lignes de toutes les entrées), vous pouvez ajouter cette nouvelle colonne aux autres de votre base de données initiale. Voici à quoi ressemble votre jeu de données final ! Vous pourrez plus facilement demander aux autres courreurs de compléter votre liste.

Untitled

L’outil “Generate Rows” d’Alteryx ne permet-il donc de manipuler que des données numériques ou relatives aux dates pour qu’il comprenne la logique d’incréments ? Il est possible d’être un peu plus astucieux !

Générer des lignes à partir de données textuelles

Cerise sur le gâteau, puisque vous avez lu l’article en entier ! Grâce aux fonctions CharToInt() et CharFromInt(), qui permettent la conversion entre un caractère (Char) et son nombre Unicode correspondant (Int = Integer), l’outil Generate Rows peut interpréter des caractères comme des séquences numériques. Et donc pouvoir générer des lignes à partir de ceci !

Attention : Les codes Unicode suivent l’ordre alphabétique, or une majuscule et une minuscule d’un même caractère n’ont pas le même code (les majuscules viennent avant les minuscules) !

blog_alteryx_9.png
Untitled
Untitled

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.