Base de Connaissance - Français

Apprenez auprès des experts.
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
Grattage Web Grattage Web, le processus d'extraction de l'information (généralement en tableaux) à partir de sites Web, est une approche extrêmement utile pour recueillir encore des données hébergées sur le Web qui n'est pas fourni via les API. Dans de nombreux cas, si les données que vous recherchez sont autonomes ou capturées complètement sur une page (pas besoin de requêtes API dynamiques), il est encore plus rapide que le développement de connexions API directes à collecter. Avec la richesse des données déjà fournies sur des sites Web, l'accès facile à ces données peut être un grand supplément à vos analyses pour fournir le contexte ou juste fournir les données sous-jacentes pour poser de nouvelles questions. Bien qu'il existe une poignée d'approches de grattage Web (deux détaillées sur notre communauté, ici et ici), il ya un certain nombre de grands, libres, outils (parsehub et import.IO pour n'en nommer que quelques-uns) en ligne qui peut rationaliser vos efforts de grattage Web. Cet article détaille une approche que je trouve être particulièrement facile, en utilisant Import.IO pour créer un extracteur spécifique à vos sites Web désirés, et l'intégration des appels à eux dans votre flux de travail via un lien API de requête en direct qu'ils fournissent par le biais du service. Vous pouvez le faire en quelques étapes rapides: 1. Accédez à leur page d'accueil, https://www.Import.IO/, et «inscrivez-vous» dans le coin supérieur droit: 2. Une fois que vous êtes inscrit à l'utilisation du service, accédez à votre tableau de bord (un lien peut être trouvé dans le même coin de la page d'accueil une fois connecté) pour gérer vos extracteurs. 3. Cliquez sur "nouvel extracteur" dans le coin supérieur gauche et collez l'URL qui contient les données que vous essayez de gratter dans le "créer Extractor" pop up. Depuis la saison de dessin fantasy football est juste devant nous, nous allons aller de l'avant et l'utilisation comme un exemple de données compilées par les meilleurs buteurs de l'année dernière fourni par ESPN afin que vous ne finissent pas comme ce gars-là (Merci plus tard). Nous savons que nos utilisateurs vont dur et les enjeux sont probablement assez élevés, nous voulons donc vouloir obtenir ce droit la première fois, et en utilisant une approche qui est assez reproductible pour nous fournir les informations nécessaires pour nous garder parmi les équipes de haut chaque année. 4. Après quelques instants, import.IO aura gratté toutes les données de la page Web et vous l'affichera dans leur «vue de données». Ici, vous pouvez ajouter, supprimer ou renommer des colonnes dans la table en sélectionnant des éléments sur la page Web – il s'agit d'une étape facultative qui peut vous aider à affiner votre dataset avant de générer votre URL de requête Live API pour le transfert, vous pouvez tout aussi facilement effectuer la plupart de ces opérations dans t Il designer. Pour mon exemple, j'ai renommé les colonnes pour refléter les noms de statistiques sur ESPN et a ajouté le "misc TD" champ qui a échappé à l'algorithme de grattage. 5. Une fois que vos données sont prêtes à l'importation, cliquez sur le bouton rouge "Done" dans le coin supérieur droit. Vous serez redirigé vers votre tableau de bord où vous pouvez maintenant voir l'extracteur que vous avez créé dans la dernière étape-Sélectionnez cet extracteur et recherchez la pièce de puzzle "intégrer" l'onglet juste au-dessous du nom de l'extracteur dans votre vue. Vous pouvez copier et coller l'"API de requête en direct" (il ya aussi une option pour télécharger un fichier CSV de vos données) énumérés ici dans une fenêtre de navigateur pour copier la réponse JSON qui contient vos données, ou vous pouvez mettre en œuvre un appel à elle directement dans votre workflow en utilisant l'outil de téléchargement (n'oubliez pas de sélectionner "coder l'URL" comme vous spécifiez le champ URL): Voilà! Vous devez maintenant avoir une API de requête en direct intégrée pour votre page Web, et avec un extracteur qui peut être exploité pour ratisser des données à partir de ce site si vous voulez essayer d'autres pages ainsi. Si vous souhaitez en savoir plus sur l'approche, ou sur la façon de le personnaliser avec des scripts externes, essayez la communauté Import.IO. L'échantillon que j'ai utilisé ci-dessus est attaché ici dans la version 10.5 de workflow yxmd, il vous suffit de mettre à jour l'API de requête en direct avec un spécifique à votre compte, extracteur et URL de page Web. Si vous décidez de lui donner un essai avec l'exemple ci-dessus, soyez sûr de nous faire savoir si nous avons aidé votre équipe fantastique gagner gros! 10,5
Afficher l'article complet
Est-ce qu'Alteryx peut analyser un document Word ou un PDF? Une des principales raisons pour lesquelles les gens aiment Alteryx, est la possibilité de lire un grand nombre de source de données différentes. Une limitation est qu'il ne peut pas lire dans un PDF ou un document Word sans l'aide d'une autre source. Pourquoi vouloir faire cela ? Un parfait exemple serait d'analyser un dossier rempli de CV à la recherche d'un texte spécifique. Pourquoi Alteryx ne peut-il pas lire ces formats nativement ? Il ne s'agit pas de format standard, donc afin de les lire, nous devons d'abord les convertir en texte brut. Pour la conversion, il existe un programme gratuit, open source, appelé DocToText. Ce programme peut être exécuté à partir de la ligne de commande pour convertir ces types de fichiers en texte brut, lisible par Alteryx sans problème. J'ai attaché un exemple à ce poste. Ce module utilise un outil souvent sous-utilisé, l'outil exécuter une commande. Avec l'aide de cet outil, nous pouvons lire dans une liste de fichiers à partir d'un dossier source spécifique, analyser les informations dans un format utilisable par DocToText, puis convertir les fichers en texte via l'outil exécutez une commande. J'ai inclus tout ce dont vous aurez besoin dans la pièce jointe (y compris un exemple de fichier PDF et l'exécutable). Téléchargez et ouvrez le fichier yxzp ci-joint, consultez le module, et faites-nous savoir ce que vous pensez ! Vous remarquerez que le paquet produira des erreurs de dépendance de couple lors de l'ouverture. C'est normal! Il n'y aura pas d'erreur lors de l'exécution. Un merci spécial à Maureen Wolfson pour l'application de base et les suggestions ! A bientôt ! ~ Chad Suivez-moi sur Twitter! @AlteryxChad 10,0
Afficher l'article complet
Analyse XML pour les débutants La lecture de XML dans Alteryx est un peu différente que d'autres types d'entrée et la raison de ceci est simple-XML n'est pas un format de données tabulaires et la structure de données peut varier d'un fichier à l'autre. Pour lire et analyser efficacement les données XML dans Alteryx, vous devez utiliser une combinaison d'outils, à savoir l'outil d'entrée et les outils d'analyse XML. Emily Chen du laboratoire d'information a écrit un grand article qui décrit les étapes nécessaires pour lire et analyser XML dans Alteryx: "les fichiers XML sont différents des tables à colonnes plates (celles auxquelles nous sommes habitués!)" parce que, au lieu de en-têtes et de lignes, les données sont imbriquées dans les balises, où les en-têtes de champ sont identifiés pour chaque enregistrement avec des < > parenthèses. Voir l'article complet ici. La lecture de XML dans Alteryx est un peu différente que d'autres types d'entrée et la raison de ceci est simple-XML n'est pas un format de données tabulaires et la structure de données peut varier d'un fichier à l'autre. Pour lire et analyser efficacement les données XML dans Alteryx, vous devez utiliser une combinaison d'outils, à savoir l' outil d'entrée et les o utils d'analyse XM L. Meilleures pratiques
Afficher l'article complet
Étiquettes