Base de Connaissance - Français

Apprenez auprès des experts.
Maîtrise de l'outil | Formule à plusieurs lignes Cet article fait partie de la série d'outils de maîtrise, une compilation des contributions de base de connaissances pour introduire des exemples de travail diversifiés pour les instruments de concepteur. Ici, nous allons plonger dans les utilisations de l'outil de formule à plusieurs lignes sur notre façon de maîtriser le concepteur Alteryx: 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 pouvez penser à un cas d'utilisation, nous avons laissé de côté, n'hésitez pas à utiliser la section commentaires ci-dessous! Considérez-vous comme un maître d'outils déjà? Faites-nous savoir à Community@alteryx.com si vous souhaitez que votre outil créatif utilise pour être présenté dans la série de maîtrise d'outils. Restez à l'écoute avec nos derniers messages chaque #ToolTuesday en suivant @alteryx sur Twitter! Si vous souhaitez maîtriser tous les outils de concepteur, envisagez de vous abonner aux notifications par courrier électronique. 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. 11,0
Afficher l'article complet
Maîtrise de l'outil | Regex Cet article fait partie de la série d'outils de maîtrise, une compilation des contributions de base de connaissances pour introduire des exemples de travail diversifiés pour les instruments de concepteur. Ici, nous allons plonger dans les utilisations de l'outil Regex sur notre façon de maîtriser le concepteur Alteryx: L'outil Regex est un peu comme le couteau suisse de l'armée d'analyse dans Alteryx; Il ya un tas de façons que 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. Parfois, c'est tout ce dont vous avez besoin, mais si vous prenez le temps de comprendre comment utiliser quelques autres outils dans ce couteau, vous allez commencer à voir qu'il n'y a pas grand-chose que vous ne pouvez pas faire avec elle. Avant et après l'utilisation de l'outil Regex. Regex: qu'est-ce que c'est bon pour? Regex est une abréviation de l'expression régulière, et vous pouvez essentiellement y penser comme une autre langue. Il utilise des symboles comme n'importe quelle autre langue, mais dans des expressions régulières ces symboles sont utilisés pour assortir des séquences de lettres, de chiffres ou de caractères dans le texte. C'est une langue qui consiste à reconnaître les modèles. Les humains sont vraiment bons à ce genre de chose-disons que je vous ai donné ce bloc de texte: 3345 Michelson Drive, suite 400, Irvine, ca 92612 12303 Airport Way, suite 250, Broomfield, co 80021 Deux North Riverside Plaza, suite 1430, Chicago, il 60606 Vous n'auriez aucun problème à me dire que ce sont des adresses, et quelle partie est un numéro de rue ou un nom de ville. Mais un ordinateur serait juste voir un bloc de texte, et il ne serait pas soin de vérifier si c'était une adresse ou non. Regex est une façon que nous pouvons «reconnaître» les données utiles dans le texte. Let's Translate this à une version Regex: 3345 ^ /d + Le ^ signifie le début d'une ligne dans Regex, donc c'est une bonne pratique pour l'inclure avec votre motif initial. Ici, notre modèle est /d qui signifie «n'importe quel caractère numérique» (0-9). Le + signifie que nous voulons correspondre à l'expression précédente une ou plusieurs fois. Puisque la première partie de l'adresse est un numéro de rue, cela nous permet d'avoir un certain nombre de toute longueur. Michelson Drive [^ /d] + Pour correspondre à la rue, nous devons permettre à notre expression de ramasser plusieurs mots de caractères, y compris un certain nombre d'espaces, puisque les rues seront souvent plus d'un mot. Une façon de faire correspondre ce qui est par ce que nous ne nous attendons pas à l'aide de [^ ...]. Cette notation de regroupement correspond à «n'importe quel caractère non répertorié ici». Ce que nous finissons avec correspond à une ou plusieurs fois un caractère qui n'est pas un nombre. Suite 400 .* La partie suivante de l'adresse est un numéro de suite, qui peut être présent ou non, et qui pourrait potentiellement prendre diverses conventions de dénomination. Afin de définir une expression flexible pour correspondre à tout ce que nous voyons là-bas, nous pouvons utiliser un. pour correspondre à'n'importe quel caractère'. Le * signifie alors que nous pouvons égaler n'importe quel caractère zéro ou plusieurs fois. Irvine [^ /d] + Comme avant, cela signifie simplement «n'importe quel caractère qui n'est pas un nombre». Ca /u{2} Pour correspondre à l'État, nous pouvons faire usage de /Vous pour signifier «toute lettre majuscule». Puisque nous nous attendons à ce que ce soit toujours une séquence de deux lettres, nous pouvons également spécifier la longueur du match en utilisant {...} après notre expression, ou «correspondre à deux lettres majuscules». 92612 /d{5 $ Le code postal sera également venir en tant que 5 chiffres, afin que nous puissions faire quelque chose de semblable à dire «correspondre à cinq caractères de nombre». Ensuite, nous pouvons Tack sur $ pour signifier que nous attendons que ce soit la fin de la ligne actuelle. Outils du commerce Il ya tout à fait quelques symboles utilisés pour construire des expressions Regex, mais Alteryx fournit un joli petit'cheat-sheet'droit dans l'outil pour vous. Vous n'avez pas vraiment besoin de beaucoup plus que cela pour obtenir rouler avec l'utilisation de Regex, et un peu comme dans Alteryx, vous verrez qu'il existe de nombreuses façons différentes, vous pouvez créer une expression pour correspondre à un modèle. Alors ne transpirez pas trop les détails, et n'ayez pas peur de passer du temps avec le bon vieux "Guess-and-test" méthode d'apprentissage. Ne vous inquiétez pas, je suis classiquement entraîné. Pour obtenir des guides plus complets sur Regex, vous pouvez également vous tourner vers le Guide de syntaxe de chaîne de format Boost-Extended, ainsi que le Guide de syntaxe Regex perl. Alteryx a structuré la fonctionnalité Regex en quatre méthodes: match, Parse, replace %26; tokenze. Notre documentation d'aide pour ces méthodes est très bonne ainsi. Match La méthode match vérifie simplement si une chaîne peut être décrite par l'expression régulière donnée et vous donne une valeur true ou false. Nous allons utiliser les éléments d'expression dans le tableau ci-dessus pour correspondre à nos adresses. Vous pouvez créer une expression longue en les mettant ensemble et y compris les espaces /s et les virgules, où qu'ils apparaissent. Les deux premières adresses correspondent très bien à l'aide de cette expression, mais la troisième adresse s'égare de ce que nous nous attendions à voir et échoue. En raison d'une règle obscure sur les bâtiments qui partagent un nom avec leur adresse, le numéro de rue est orthographié et notre expression régulière est incapable de le faire correspondre. La clé pour écrire un bon Regex est de prévoir ces exceptions dans vos données, et de les comptabiliser dans l'expression. Afin de faire correspondre les «deux» dans cette adresse, nous allons mettre dans une autre expression pour vérifier si et seulement si celui-ci ne parvient pas à correspondre. La plupart des adresses commencent par des caractères numériques, mais si elles n'ont pas alors cette expression va vérifier un mot à la place. Voici à quoi il ressemble: (?:^/ d +) | (?:^/ w +) C'est beaucoup plus simple qu'il n'y paraît, et utilise vraiment deux autres symboles Regex. Le symbole de la pipe signifie «ou». Par exemple, un | b ne ferait que vérifier si une correspondance, et si elle ne fonctionne pas, si b correspond. Le deuxième symbole est (?: ...), également connu sous le nom de groupe non marqué. C'est juste une façon pour nous de regrouper ces choses ensemble pour l'opération ou. En résumé, le premier groupe ici (?: ^ /) (d +) est juste faire la même chose qu'avant, mais quand il échoue l'expression tente de faire correspondre le deuxième groupe (?: ^ /) w +). Ce groupe est juste à la recherche de caractères Word (l'alphabet), et ne correspond pas à des espaces ou des chiffres. Cela nous permet de correspondre à la version Word de notre adresse ci-dessus sans problème. Pour en savoir plus sur match: Cet excellent poste par Adam Riley sur le chaos règne dans le blog. Comment: Démarrer avec des expressions régulières La fonction Regex_Match pour l'outil de formule. Crédit supplémentaire: il existe de nombreuses façons de structurer Regex; commentaire ci-dessous avec une meilleure alternative pour (?: ^ /) d +) | (?:^/ w +). Pourquoi est-ce mieux? Analyser L'appariement est agréable en ce que vous pouvez l'utiliser pour la validation, mais la méthode parse est vraiment quand Regex vient dans son propre, vous permettant d'extraire des informations utiles à partir d'un bloc de texte. L'outil Regex rend ce facile pour nous-tout ce dont nous avons besoin est de placer des parenthèses (...) autour de chaque chose que nous voulons sortir. Ceux-ci sont appelés groupes marqués-l'homologue de nos groupes non marqués ci-dessus (?: ...). Lorsque vous tapez les parenthèses, vous verrez ces pop dans une fenêtre Sélectionner les champs de sortie de style d'outil, ce qui vous permet de renommer vos champs et de modifier leurs types de données. Pour plus d'informations sur parse: Partie 2 de l'expression régulière et Alteryx d'Adam Riley. Remplacer Comme vous pouvez le voir, la méthode parse est vraiment juste une extension de match qui nous permet de tirer des choses hors du texte et le placer proprement dans une nouvelle colonne. Eh bien, ce qui se passe quand nous élargissons ce concept et nous demandons: «Comment puis-je remettre des choses dans?» C'est là que la méthode de remplacement entre en vigueur. Avec le remplacement, nous pouvons analyser des composants de notre chaîne, les remplacer, et même les réarranger. Nous pouvons le faire en spécifiant des groupes marqués pour dire à l'outil Regex ce qu'il faut remplacer et où, dans une langue n'importe qui peut comprendre ... La paresse dapper est tout à fait raison, bien sûr, nous pouvons utiliser des signes dollar $ avec des chiffres pour spécifier chaque groupe marqué exact. Par exemple, $1, $2 et $3 se réfèrent respectivement aux premiers, deuxième et troisième groupes marqués. Donc, pour notre liste d'adresses, si nous voulions juste analyser une liste des villes-États, nous pouvons taper dans l'expression $4, $5. Note nous avons pu ajouter dans notre propre petite virgule là, et un espace, juste en tapant dans cette zone de texte. La méthode Replace est très flexible, et vous pouvez également l'utiliser à partir de l'outil de formule avec la fonction Regex_Replace. Pour en savoir plus sur remplacer: Conversion d'une chaîne avec un signe $ en nombre Supprimer les zéros principaux Partie 3 de l'expression régulière et Alteryx d'Adam Riley Comment réduire les nombres: Regex à la rescousse Configurer un workflow pour utiliser un outil d'interface d'arborescence Grattage Web avec Alteryx Marquer Regex est assez astucieux quand les choses sont donnés à nous dans une belle liste, bien soigné, mais ce qui se passe si toutes ces adresses sont juste sans sous-évaluées par certains appel ou base de données API comme un bloc de texte unique? 3345 Michelson Drive, suite 400, Irvine, ca 92612, 12303 Airport Way, suite 250, Broomfield, co 80021, deux North Riverside Plaza, suite 1430, Chicago, il 60606 Eh bien, ce n'est pas très utile-c'est tout délimité par des virgules, mais nous n'avons pas de moyen facile de savoir quand une adresse se termine et une autre commence. Ce que nous avons besoin ici est la méthode de jeton, qui prendra ce morceau de texte et le diviser en colonnes ou en lignes, un peu comme l'outil Text to Columns. Il ya deux différences importantes qui désignent Regex distinguer si: Au lieu de correspondre à ce que vous ne voulez pas (comme une virgule), vous correspondez à ce que vous voulez (tout le reste). Vous avez la possibilité de choisir ce qui est divisé et ce qui est ignoré à l'aide d'un groupe marqué. Cela peut sembler Topsy-à l'envers, mais il vous donne en fait beaucoup plus de souplesse dans ce que/comment vous fractionnez vos données. Pour illustrer, nous allons diviser notre texte d'adresse de présentation en plusieurs lignes, en utilisant la virgule comme notre délimiteur. Puisque nous devons faire correspondre tout ce que nous voulons, nous devons utiliser l'expression (. +?) (?:,|$). On va casser ça. . + signifie un seul caractère. correspond à une ou plusieurs fois + ? est de savoir comment nous dire ce match pour être paresseux plutôt que gourmand. Il s'agit d'une distinction vraiment utile qui peut être un peu difficile à comprendre au début, mais pour les fins de ce cours crash nous allons juste se concentrer sur ce que le? signifie: match ce qui est avant zéro fois (pas du tout) ou exactement une fois. Le signe plus + est en fait le contraire: c'est un symbole avide, de sorte que le précédent un caractère. va essayer de faire correspondre une ou plusieurs fois. Alors qu'est-ce que cela signifie quand on dit quelque chose avide d'être paresseux? Eh bien, il modifie en fait à quel point il peut être gourmand en le forçant à regarder le prochain match. Et alors? signifie vraiment est: «match d'un caractère une ou plusieurs fois jusqu'à ce que vous pouvez correspondre à ce qui vient suivant». Qu'est-ce qui vient ensuite un groupe non marqué (?:, | $) qui fonctionne essentiellement comme un signe d'arrêt pour le précédent (. +?). Comme il n'est pas dans le groupe marqué, il ne sera pas présent dans le résultat. C'est juste dans un groupe non marqué afin que nous puissions lui dire de chercher soit une virgule, ou la fin de la ligne $ à la fin du texte de présentation. Ouf-c'est certainement beaucoup. N'hésitez pas à profiter de cette occasion pour s'étirer, aller faire une promenade, ou méditer. De toute évidence, l'outil Text to columns peut se diviser par des virgules plus facilement que ce qui précède, mais la souplesse de la symbolique vient à l'avant-plan lorsque nous essayons de faire quelque chose d'un tad plus utile. Par exemple, nous pouvons l'utiliser pour fractionner ce bloc d'informations d'adresse dans les trois adresses originales. Dans ce cas, nous utilisons simplement notre dernière expression de correspondance pour le code postal /d{5 pour marquer où chaque match se termine. Comme ci-dessus, nous savons que chaque ligne sera soit fin avec une virgule ou la fin de la ligne, et nous pourrions utiliser le (?:, | $) ici pour diviser ces avec succès. Dans l'exemple ci-dessus, j'ai choisi de présenter le? possibilité de faire correspondre zéro ou une fois pour remplacer ce-afin que nous puissions diviser sur une «virgule facultative» après le match de groupe marqué. Pour plus d'informations sur le jeton: Partie 2 de la Regex Adam Riley et Alteryx et un moteur fonctionne blog réponse de CTO Ned Harding. Crédit supplémentaire: le,? ne fonctionne pas dans le cas précédent, le fractionnement par des virgules seul-(. +?),? au lieu de (. +?) (?:,|$). Pourquoi? Commentaire avec une explication ci-dessous pour la gloire éternelle et les droits de vantardise. Maintenant, vous devriez avoir une compétence de niveau expert avec l'outil Regex! Si vous pouvez penser à un cas d'utilisation, nous avons laissé de côté, n'hésitez pas à utiliser la section commentaires ci-dessous! Considérez-vous comme un maître d'outils déjà? Faites-nous savoir à Community@alteryx.com si vous souhaitez que votre outil créatif utilise pour être présenté dans la série de maîtrise d'outils. Restez à l'écoute avec nos derniers messages chaque outil mardi en suivant Alteryx sur Twitter! Si vous souhaitez maîtriser tous les outils de concepteur, envisagez de vous abonner aux notifications par courrier électronique. L'outil Regex est un peu comme le couteau suisse de l'armée d'analyse dans Alteryx; Il ya un tas de façons que 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. Parfois, c'est tout ce dont vous avez besoin, mais si vous prenez le temps de comprendre comment utiliser quelques autres outils dans ce couteau, vous allez commencer à voir qu'il n'y a pas grand-chose que vous ne pouvez pas faire avec elle. 10,0
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