Free Trial

Base de Connaissance

Apprenez auprès des experts.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
L'outil Regex est un peu comme le couteau suisse de l'armée d'analyse dans Alteryx ; il y a beaucoup de façons dont vous pouvez l’utiliser pour faire les choses plus rapidement ou plus efficacement, mais même si vous utilisez simplement la lame, il est encore immensément utile. 
Afficher l'article complet
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
Création de valeurs NULL dans les données Dans le traitement et le formatage de vos données, vous pouvez décider que certains enregistrements doivent être classés en tant que valeurs NULL. Plutôt que de remplir des champs numériques avec un 0 ou de laisser un champ vide (''), une valeur NULL peut être la meilleure option pour analyser et stocker vos données. Dans cet exemple particulier, imaginons que nous avons des ID de client et les numéros de téléphone qui leur sont associés. Certains numéros de téléphone peuvent être incomplets ou détypés. Après suppression de la ponctuation avec l'outil de nettoyage des données, nous allons chercher des numéros de téléphone valides-ceux composés de 10 chiffres-pour stocker dans notre base de données client. Pour identifier nos résultats valides, nous allons appliquer une déclaration conditionnelle: si un numéro de téléphone n'est pas de 10 chiffres de long, alors l'enregistrement est null; sinon (sinon) utilisez le numéro de téléphone dans nos données. L'expression utilisée pour assigner une valeur null se trouve dans les fonctions spécialisées de l'outil de formule: À la suite de l'expression ci-dessus, les deux numéros de téléphone qui sont soit un chiffre trop court (9 chiffres de longueur) ou un chiffre trop long (11 chiffres de longueur) ont été exprimés comme NULL: Expression
Afficher l'article complet
Utilisation d'instructions conditionnelles pour modifier vos données Si vous utilisez l'outil de formule dans la version 11.0 +, assurez-vous de vous familiariser avec la refonte de l'interface de l'outil! Un composant important du mélange de données applique des processus mathématiques ou transformations à des sous-ensembles de vos données. Souvent, cela nécessite d'isoler les données qui sont conformes à un certain nombre de critères que vous avez définis: "je veux seulement marquer les SKU pour les produits dont le coût est inférieur à $10" «les clients âgés de 25 à 40 devraient être classés dans le groupe A, 41-65 en tant que groupe B et 66 + en tant que groupe C» "classer les transactions en semaine ou en week-end". "si un produit est rouge, renommez R." Si c'est bleu, renommez le B. Si c'est jaune, renommez ça en Y. Si c'est vert, renommez ça en G. Sinon, renommez l'autre ". L'une de ces situations vous semble familière? Si oui, alors un bon endroit pour commencer à transformer vos données est les fonctions conditionnelles de l'outil de formule (figure 1). Les fonctions conditionnelles construisent des expressions qui vous permettent d'appliquer des processus aux données qui satisfont les conditions que vous définissez. Peu importe si vous venez du monde de SQL, Excel, R ou un autre programme de données qui a été de rendre votre vie plus difficile que ce qu'il devrait être, le concept de l'énoncé conditionnel reste le même: si une condition est ou n'est pas vrai, puis appliquer un processus ou un résultat. Sinon, appliquez un processus ou un résultat différent. Cette logique peut prendre le format de l'un des quatre types d'expressions différents: (1) une déclaration traditionnelle If peut être un outil puissant dans la transformation des données. Structurellement, Alteryx requiert quatre clauses distinctes pour appliquer cette logique de type à vos données: Si une condition est (pas) vraie alors appliquez la fonction a else appliquent la fonction B endif En utilisant la première situation (SKU et prix) à titre d'exemple, la déclaration If nous permet de déterminer quels produits seront marqués pour une analyse plus poussée: (2) une instruction imbriquée if permet de définir plusieurs conditions, en regroupant essentiellement des instructions logiques, en utilisant des instructions logiques répétées semblables à une instruction if unique. Bien que la documentation fournit un exemple avec trois conditions définies, ce n'est en aucun cas une limite dans le nombre de critères qui peuvent être définis. Tant que la syntaxe correcte est utilisée, de nombreuses autres conditions peuvent être définies! Considérez la deuxième situation (groupes d'âge des clients). En continuant avec la syntaxe correcte, quatre groupes (A, B, C et autres) sont créés à la suite de l'instruction imbriquée. Lorsque vous travaillez avec des instructions imbriquées, vous pouvez trouver utile de diviser chaque clause en une nouvelle ligne dans la zone expression, comme indiqué dans l'exemple ci-dessous. (3) bien que les instructions If en ligne (IIF) appliquent une logique similaire à une instruction if, l'évaluation d'une condition soit «true» ou «false», elles diffèrent syntaxiquement. Les expressions IIF nécessitent trois composants séparés par une virgule: une expression booléenne à évaluer, le résultat «vrai» et le résultat «false». Les résultats vrais et faux prennent en charge non seulement le texte mais aussi les opérations mathématiques. Dans le cas de la troisième situation, où un enregistrement ne peut être classé que comme l'un des deux types (en semaine ou en fin de semaine), une déclaration IIF classe efficacement les données selon un critère logique de savoir si la valeur de [Day] n'est pas «SAT» ou «Sun». Le résultat réel de cette instruction renvoie «jour ouvrable»; le faux résultat est «weekend». (4) la fonction de commutation de l'outil de formule est une gemme cachée! Pièce Find/Replace Tool, partie imbriquée if, instruction part case dans SQL ... c'est pratique! Cette expression évalue plusieurs conditions pour assigner un résultat désigné. Si aucune condition n'est remplie, une valeur par défaut (value) est définie. La fonction Switch offre un couple d'avantages sur des fonctionnalités similaires dans Alteryx. Tout d'abord, il accorde une grande partie de la souplesse d'une déclaration imbriquée if sans avoir à répéter IFS, thenes, ELSEIFs .... etc. Deuxièmement, il peut servir une fonction similaire comme outil de recherche/remplacement sans avoir à créer une deuxième instance de toutes les données que vous souhaitez trouver et les données correspondantes utilisées comme remplacement. Me sauver un peu de temps et de frappe sujette aux erreurs? Fais-moi signe! Remarque: les types d'opérateurs qui peuvent être utilisés dans une expression dépendent du type de données du champ de sortie. Si vous écrivez dans le champ chaîne (ou autre type de texte), le résultat nécessitera des guillemets (simple ou double) autour. Notez comment le groupe'a'est encapsulé par des guillemets simples. Les champs numériques, d'autre part, ne nécessitent pas de guillemets autour du résultat. * le workflow ci-joint est compatible avec Alteryx designer version 10.0 et supérieure. Un composant important du mélange de données applique des processus mathématiques ou transformations à des sous-ensembles de vos données. Souvent, cela nécessite d'isoler les données qui respectent un certain critère que vous avez défini. Les fonctions conditionnelles construisent des expressions qui vous permettent d'appliquer des processus aux données qui satisfont les conditions que vous définissez. 10,0
Afficher l'article complet
Conversion de chaînes en nombres Parfois, un DataSet contiendra des numéros stockés sous forme de texte. J'ai l'ordre de faire des calculs à l'aide de ces chiffres, le type de données doit être converrted à une donnée numérique. Si les données sont propres, la modification du type de données dans un outil SELECT peut faire l'affaire. Une autre option consiste à utiliser la fonction Convert.ToNumber dans un outil de formule ou un outil de formule de champ multiple (si vous avez plusieurs champs à convertir). Convert.ToNumber (x, bIgnoreErrors, keepNulls) x: la colonne que vous convertissez en nombre bIgnoreErrors et keelNulls sont des paramètres optionnels. bIgnoreErrors: 0 ou false (par défaut) signifie qu'il signale des messages d'erreur de conversion; 1 ou true signifie qu'il ignorera les erreurs de conversion. keepNulls: 0 ou false (par défaut) signifie qu'il va convertir des valeurs non numériques (y compris null) à zéro; 1 ou true signifie qu'il va convertir des valeurs non numériques à null. Cette option peut être très utile si vous souhaitez traiter les valeurs NULL différemment de zéro dans votre DataSet. Maintenant, que faire si vos données sont salissantes? Que se passe-t-il si les utilisateurs ajoutent des zéros de tête, des symboles monétaires, etc.? Vous pouvez utiliser l'outil formule pour nettoyer vos données avant de les convertir en nombres. Fonctions que vous pouvez utiliser pour nettoyer les données: REPLACECHAR (x, y, z): renvoie la chaîne [x] après avoir remplacé chaque occurrence du caractère [y] par le caractère [z]. REGEX_REPLACE (String, pattern, Replace, iCase): permet le remplacement du texte à l'aide d'expressions régulières et retourne la chaîne résultant du modèle de recherche Regex et remplacez la chaîne. Consultez la page de syntaxe de Boost Regex perl Regular expression pour rendre le bâtiment de l'expression plus facile. Le paramètre replace peut être soit une valeur spécifiée, comme indiqué ci-dessous, soit un groupe marqué, tel que «$ 1» iCase est un paramètre facultatif. Lorsqu'il est spécifié, le cas doit correspondre. Par défaut iCase = 1 signifiant ignorer la casse. Si la valeur 0, le cas doit correspondre. Trim (x, y): supprimez le ou les caractères de la chaîne y à partir des extrémités de la chaîne x. Y est optionnel et par défaut pour rogner l'espace blanc. Avis dans la fonction Trim exemples les caractères spécifiés sont tronqués. Peu importe l'ordre dans lequel les personnages sont. Consultez également le workflow attaché pour obtenir des exemples d'utilisation de l'outil de formule pour nettoyer les données avant de les convertir en nombre. 10,5
Afficher l'article complet
Ajout de commentaires aux expressions Question Est-il possible d'ajouter un commentaire à une expression utilisée dans un filtre ou une formule? Réponse Oui, une fois que vous avez une expression valide, il suffit d'utiliser//suivi de votre commentaire sur la ligne suivante. Cas d'usage courant
Afficher l'article complet
Comment trouver le dernier jour de n'importe quel mois dans Alteryx Pour commencer, il y a beaucoup de fonctions dans Alteryx qui peuvent être exécutées dans l'outil de formule. Nous essayons de couvrir le plus grand nombre possible sous la forme de conditionnel, de conversion, spatial, et pour cet article, DateTime. Pour tout champ date ou DateTime dans Atleryx, vous avez la possibilité de modifier ou de mettre à jour ce champ directement dans l'outil formule. Par exemple, disons que vous voulez trouver la moyenne par jour des ventes du mois précédent. Avec les fonctions DateTime, vous pouvez déterminer le dernier jour du mois précédent pour savoir combien de jours ont été dans ce mois, puis diviser cela par les ventes totales. C'est bien sûr un exemple simple, mais vous obtenez le point. On avance! Vous pensez peut-être que les fonctions intégrées de l'outil de formule couvriraient quelque chose comme ceci. Dans un sens, vous avez raison. Il existe une fonction appelée DateTimeLastOfMonth (), qui renverra le dernier jour du mois en cours. Le problème est qu'il n'y a pas de paramètres supplémentaires pour cette fonction particulière, comme le dernier jour d'un mois particulier. Afin de trouver correctement le dernier jour de n'importe quel mois précédent (ou futur), nous devons imbriquer cette fonction dans une autre fonction, DateTimeAdd (). Cette fonction vous permet d'ajouter ou de soustraire des minutes, des heures, des jours, des mois ou des années à un champ DateTime donné. Dans notre cas, plutôt que de simplement énoncer DateTimeLastOfMonth (), nous voulons déterminer le premier jour du mois, moins un jour. Heureusement, nous avons une autre fonction appelée DateTimeFirstOfMonth () qui nous permet de faire exactement cela. Le résultat final: DateTimeAdd (DateTimeFirstOfMonth (),-1, "Days") le résultat est 2013-10-31. Simple, hein? Mieux encore, disons que nous devons déterminer le dernier jour d'il y a deux mois. Puisque nous ne pouvons pas dire dynamiquement-30 jours, ou-31 jours selon le mois en cours, tout ce que nous devons faire est de Nest dans une fonction de plus DateTimeAdd (): DateTimeAdd (DateTimeAdd (DateTimeFirstOfMonth (),-1, "months"),-1, "Days") le résultat est 2013-09-30 (si vous êtes exécution du module en novembre). En nichant dans une autre fonction DateTimeAdd () en tirant le premier jour du mois précédent moins un jour, vous vous retrouvez avec le résultat désiré. Comme mentionné précédemment, il y a beaucoup de fonctions dans Alteryx qui peuvent être exécutées pour une série de raisons. La fonction DateTime que nous touchons ici est juste une goutte dans le seau pour ce que nous avons la capacité de faire, mais est une bonne démonstration de certains de la flexibilité incroyable mais simple dans Alteryx. jusqu'à la prochaine fois! -ChadFor plus de conseils, astuces, et les enquêtes Alteryx général, suivez-moi sur Twitter! @AlteryxChad Date heure
Afficher l'article complet
Filtrer à l'aide de données de chaîne Il existe une poignée de façons de rechercher une chaîne particulière dans un champ de données. Si vous souhaitez effectuer une requête, identifier les enregistrements avec un champ de chaîne particulier dans un champ de données: Utilisez l'outil filtre: le résultat sera deux flux de jour-les enregistrements qui répondent à vos critères de filtrage et ceux qui ne le font pas. Sur les fonctions trab, développez l'arborescence de chaînes et sélectionnez FindString (STR, target) Remplacer Str par le nom du champ Remplacez Target par la chaîne que vous cherchez à identifier Terminez l'expression avec! =-1 qui séparera les vraies valeurs des fausses. Exemple-si vous essayez d'identifier tous les clients avec Joe dans un champ de données, «Name»: FindString ([nom], "Joe")! =-1 Les enregistrements qui satisfont à ce critère seront déroulés dans le flux vrai (le nom contiendra la valeur «Joe»). Tous les autres enregistrements seront déroulés par le faux flux. Cette fonction peut également être utilisée dans l'outil de formule si, par exemple, vous avez voulu renseigner une colonne de données différente en fonction de ce champ de nom, vous pouvez utiliser la méthode FindString dans une instruction if. Exemple: vous souhaitez classer vos données dans un nouveau champ en fonction de l'instance des clients avec Joe dans un champ de données, «Name» IF (FindString ([nom], "Joe")! =-1) puis "Joe client" Else "autre" endif Cela va remplir un nouveau champ de données avec "Joe client" f le champ "nom" contient "Joe" sinon il remplira ce champ avec la valeur "Other" À partir des propriétés de configuration de l'outil de formule, ajoutez un nouveau champ en tapant un nouveau nom de champ dans la zone, ou choisissez un champ existant pour mettre à jour les données avec. Assurez-vous que le type de champ et la taille appropriés sont également spécifiques Sous l'onglet fonctions, développez l'arborescence conditionnelle et sélectionnez si c alors t else f endif Sous l'onglet fonctions, développez l'arborescence de chaînes et sélectionnez FindString (STR, target) pour remplacer c Remplacer Str par le nom du champ Remplacez Target par la chaîne que vous cherchez à identifier Terminez cette partie de l'expression avec! =-1 qui séparera les vraies valeurs des fausses Remplacez "t" par la valeur souhaitée pour remplir le nouveau champ si la condition est remplie: "client Joe" Remplacez "f" par la valeur désirée pour remplir le nouveau champ si la condition n'est pas remplie: "autre" Expression
Afficher l'article complet
Étiquettes