Cet article fait partie de la série Maîtrise des outils, une compilation de contributions à la Base de connaissances visant à présenter divers exemples d'utilisation des outils Designer. Ici, nous allons nous pencher sur les utilisations de l'outil Formule à plusieurs lignes dans le cadre de notre apprentissage de la maîtrise d'Alteryx Designer :
L'outil de formule à plusieurs lignes fonctionne comme l'outil de formule normal, mais ajoute la possibilité de référencer plusieurs lignes de données dans une expression. Disons, par exemple, quelqu'un était au rez-de-chaussée d'une maison et avait un outil de formule. Ils ne seraient en mesure de parler aux gens aussi au rez-de-chaussée. Si ils avaient un outil de formule à plusieurs lignes, cependant, ils seraient également en mesure de parler aux gens à l'étage, dans le grenier, et dans le sous-sol ainsi.
L'outil de formule à plusieurs lignes permet à l'utilisateur de mettre à jour un champ existant ou de créer un autre. Les deux options peuvent être très utiles, et il ya de nombreux cas d'utilisation pour chacun. Les cas d'utilisation que nous détaillons ci-dessous sont joints dans le yxmd de workflow v 11.0.
Mettre à jour le champ existant
"remplissage vers le bas" un champ :
Souvent, les données peuvent être arrangées d'une manière qui semblerait bonne dans Excel mais n'est pas réaliste pour travailler avec dans Alteryx. Dans ces instances, vous pouvez souhaiter «remplir» une colonne qui a des valeurs manquantes.
Dans ce cas, seule la première personne dans chaque famille a son nom de famille peuplé. Par conséquent, nous aimerions modifier le champ famille où il est actuellement null (). Cela peut facilement être accompli comme ceci :
Pour obtenir facilement des variables et des fonctions dans la zone d'expression, il suffit de double-cliquer dessus à partir de leur onglet correspondant dans la configuration.
Créer un nouveau champ :
Créer un ID unique pour chaque personne du groupe :
Maintenant que les données sont nettoyées, nous voulons ajouter un ID unique à chaque personne en fonction de la famille à laquelle elles appartiennent. Afin d'y parvenir, nous allons configurer l'outil de formule multiligne comme suit :
Lors de la création d'un nouveau champ, l'utilisateur a la possibilité de sélectionner le type de champ à lui donner. Ici, int 16 a été choisi. Notez que nous regroupons par famille parce que nous voulons que l'ID soit unique au sein de chaque famille, mais il peut recommencer avec différentes familles. Ce nouveau champ ID peut être utilisé ultérieurement en tant qu'identificateur avec des outils tels que Filter, Resume et plus encore.
Effectuer des calculs :
Qu'est-ce qu'un bon outil multiligne sans la possibilité de référencer plus que juste les lignes directement avant ou directement après? En modifiant la valeur des lignes num dans la configuration, vous pouvez augmenter le nombre de lignes que vous pourrez utiliser dans vos expressions.
Dans cet exemple, nous avons augmenté les lignes num sur 2. Remarquez comment il ya maintenant plus de variables à sélectionner dans la section du milieu sur la configuration. Parce que nous voulons le total de fonctionnement par famille, nous regroupons à nouveau par ce champ.
Cette méthode peut être étendue pour générer des totaux en cours d'exécution dans de nombreux scénarios différents, y compris les ventes monétaires, les comptes d'articles et plus encore.
Maintenant, nous voulons calculer la quantité moyenne de temps d'écran total par famille. Dans cette boîte d'expression de l'outil de formule multiligne, nous écrivons:
iif([ID]=3,average([Row-2:Total Screen Time],[Row-1:Total Screen Time],[Total Screen Time]),iif([ID]=2,average([Row-1:Total Screen Time],[Total Screen Time],[Row+1:Total Screen Time]),average([Row+2:Total Screen Time],[Row+1:Total Screen Time],[Total Screen Time])))
Cette méthode vérifie la valeur d'ID de chaque ligne et personnalise la formule pour générer une moyenne en utilisant les lignes correctes.
Différence par rapport au précédent :
La dernière partie de la configuration de cet outil qui n'a pas encore été modifiée est les valeurs des lignes qui n'existent pas déroulantes. Cela indique à Alteryx ce qu'il faut utiliser lorsqu'une formule doit utiliser la valeur d'une ligne qui n'existe pas (d'où le nom de la liste déroulante). Cela se produirait, par exemple, lors du calcul d'une valeur pour la première ligne de données lorsque l'expression contient une variable Row-1. L'utilisateur peut choisir ce que la valeur de ligne inexistante est.
Dans cet exemple, la ligne qui n'existe pas est définie sur la ligne valide la plus proche. De cette façon, lorsque la formule tente d'utiliser [Row-1: temps total de l'écran] sur la ligne 1 et voit qu'elle n'existe pas, elle utilise à la place la valeur de la ligne 1. Cela se traduit par la différence de 0 que vous voyez dans la sortie.
Un tri a été placé avant cet outil de formule à plusieurs lignes pour trier le temps total de l'écran dans l'ordre décroissant. La formule ci-dessus a créé un champ qui est la différence entre la durée totale de l'écran de la ligne actuelle et la durée totale de l'écran de la ligne précédente. Cela rend facile de voir combien plus de temps d'écran chaque personne a besoin afin de rattraper la personne devant eux.
Plusieurs fois, l'outil de formule à plusieurs lignes sera utilisé en combinaison avec l'outil Cross Tab. Ceci est particulièrement utile si vous essayez de transformer quelques colonnes de données en une table. Un membre de la communauté Alteryx avait ce problème exact et a été en mesure de le faire résoudre dans ce post.
L'outil de formule à plusieurs lignes ne peut mettre à jour qu'un seul champ par instance d'outil. Si vous souhaitez mettre à jour plusieurs champs (et que vous vous sentez à l'aise avec l'outil de formule multiligne et l'outil de formule multichamp), essayez cette macro qui a été affichée dans la Galerie Alteryx publique.
Maintenant, vous devriez avoir une compétence de niveau expert avec l'outil de formule à plusieurs lignes ! Si vous pensez à un cas d'utilisation que nous avons oublié, n'hésitez pas à utiliser la section commentaires ci-dessous !
Vous souhaitez maintenant contribuer au blog de la communauté en partageant vos expériences et en apprenant à utiliser nos nouveaux outils dans votre vie quotidienne, envoyez moi un e-mail à Stephanie.jansen@alteryx.com.
Si vous avez des questions, la communauté est là pour y répondre sur le Forum.
Restez à l'écoute de nos dernières publications en vous abonnant aux notifications par email sur la Base de Connaissance.
*Cet article a été écrit par @Kenda sur la Communauté anglaise.
Afficher l'article complet