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
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 Correspondance partielle dans le cadre de notre apprentissage de la maîtrise d'Alteryx Designer :   Similaire à la recherche partielle d'Excel, l'outil Correspondance partielle (admirez-le en pleine action ici) facilite la mise en correspondance inexacte des données. En spécifiant des seuils de similarité, en utilisant différents algorithmes de correspondance et en définissant d'autres options de configuration, vous pouvez personnaliser l'outil afin qu'il s'adapte au mieux à votre jeu de données. Du fait du haut degré de personnalisation de l'outil, nous recommandons d'évoluer progressivement en visionnant nos vidéos de formation interactive  de niveau initiation et intermédiaires si vous envisagez d'utiliser des applications plus complexes de l'outil. Nous vous proposons également une Foire aux questions et des Conseils et astuces en matière de correspondance partielle qui peuvent également vous faciliter l'utilisation de l'outil !   Dans la vie, peu de choses sont complètement claires et précises, noir sur blanc. Dans tous les domaines, il existe des zones intermédiaires, et les lignes qui séparent les choses les unes des autres peuvent être partielles. Il en est de même pour les données, en particulier quand elles sont saisies manuellement. C'est pourquoi nous avons conçu l'outil Correspondance partielle : si vos données ne sont pas claires comme de l'eau de roche, vous pouvez tout de même tirer parti de vos enregistrements en les mettant en correspondance avec quelque chose d'un peu plus standardisé. Une opération qui peut s'avérer utile dans les cas suivants :    Suppression des données dupliquées d'un seul jeu de données contenant des enregistrements en double (exemple ci-joint dans Fuzzy Match.yxmd) :     Fusion de deux jeux de données et identification des enregistrements redondants (exemple ci-joint dans Fuzzy Match.yxmd)  : Remarque  : Il est vivement recommandé de commencer par purger (dédupliquer) chacun de vos jeux de données à fusionner avant de les utiliser en mode fusion afin d'éliminer toutes les correspondances redondantes et accélérer ainsi considérablement le processus de mise en correspondance.     Comparaison et nettoyage des chaînes, et mise en correspondance avec des mots-clés   Ces techniques vous aideront à identifier les noms, adresses et numéros de téléphone similaires, voire les fautes d'orthographe dans vos données, afin de transformer les chaînes inexactes en analyses exactes !   Si vous manipulez spécifiquement des noms, assurez-vous de consulter notre Guide sur la mise en correspondance partielle des surnoms. Si vous devez diminuer le seuil de correspondance au point où la mise en correspondance de certaines chaînes devient incorrecte, mais que d’autres chaînes ne correspondent pas, tentez de « mettre en cascade » le processus de mise en correspondance à l'aide d'un autre outil Correspondance partielle uniquement pour les chaînes qui ont besoin d’un seuil de correspondance inférieur, puis utilisez l’outil Union pour les fusionner avec le premier jeu.   Maintenant, vous devriez être un(e) expert(e) de l'outil Correspondance partielle ! 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 @MattD sur la Communauté anglaise. 
Afficher l'article complet
Produit cartésien Join/cartésien Question Comment puis-je créer une jointure cartésienne de mes données? Réponse Une jointure cartésienne, également connue sous le nom de produit cartésien, est une jointure de chaque ligne d'une table à chaque ligne d'une autre table. Par exemple, si la table a a 100 lignes et est jointe à la table B, qui a 1 000 lignes, une jointure cartésienne se traduira par 100 000 lignes. Ce type de jointure peut être utile lorsque vous devez produire un DataSet qui contient toutes les combinaisons de deux tables ou plus. Vous pouvez continuer à ajouter à la jointure en ajoutant d'autres outils d'ajout. Il suffit de connecter la sortie du premier outil Append à l'entrée cible d'un deuxième outil Append et de connecter la troisième table à l'entrée source du deuxième outil Append. Poursuivez cette configuration pour autant de tables que nécessaire. Dans l'exemple ci-dessous, un concessionnaire de voiture avait besoin d'une liste de chaque combinaison de modèle, couleur extérieure, couleur intérieure et paquet d'options. Voici ce que les quatre table cartésienne Join ressemble à: Les tableaux contiennent les données suivantes: Un échantillon des résultats du workflow illustré ci-dessus ressemble à ceci: Important Par défaut, l'outil Append est défini sur erreur sur plus de 16 ajouts afin de protéger l'utilisateur de produire par inadvertance une quantité étendue d'enregistrements. Si vos données ont plus d'ajouts que cela, vous pouvez modifier ce paramètre comme indiqué ci-dessous pour autoriser tous les ajouts: Ce workflow, créé en 10,6, est joint. Merci! 10,6
Afficher l'article complet
Supprimer l'espace vide de tête / de fin / tout Question Comment puis-je supprimer des espaces vides de mes données?? Au secour! Réponse Il y'a un quelques situations différentes concernant les espaces vides que vous êtes probable de rencontrer, mais le schéma ci-dessous (à partir de l'annexe v 10.6 exemple) répondra à toutes vos questions. La plupart des approches utilisent la fonction (Trim) de l'outil de Formule qui, sans un deuxième argument, taille par defaut les espaces de vos chaînes. Post Designer version 10.5 vous pouvez également utiliser l'outil de Nettoyage de données pour vous "nettoyer" vos champs! Devenez un Maître ici. 10,5
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
Apis in Alteryx: CURL et outil de téléchargement Les connexions API donnent accès à de nombreuses applications Web, systèmes de base de données ou programmes en exposant des objets ou des actions à un développeur dans un format abstrait qui peut facilement être intégré dans un autre programme. En d'autres termes, une API fonctionne comme un point d'intégration où vous pouvez accéder par programmation ou manipuler des informations pour un programme (ou Workflow) que vous construisez. Dans le contexte de l'utilisation du concepteur, les API sont le plus souvent utilisées pour accéder aux magasins de données, utiliser les services hébergés sur le Web tout en fusionnant ou créer des connecteurs. La plupart des API sont dans une architecture reposante, le style architectural du logiciel du World Wide Web, et généralement communiquer sur http avec les mêmes actions http, ou «verbes», que les navigateurs Web utilisent pour récupérer des pages Web et des données de transfert: Get, post, put, supprimer, parmi autres. En tant que tel, tout outil ou logiciel qui vous donne la possibilité d'utiliser le protocole de requête-réponse http vous permettra de communiquer avec ces API reposantes. Les trois que j'utilise le plus couramment pour établir mes connexions sont facteur (une application de test grande qui ressemble à la configuration de l'outil de téléchargement Alteryx), curl (un outil de ligne de commande et l'une des bibliothèques de transfert http/FTP prédominant), et le logiciel favori de tout le monde : Alteryx. Entre ces trois outils, et peut-être un moniteur de trafic Web comme Fiddler (cela vous permettra de voir les demandes http étant envoyés/reçus sur votre réseau), vous devriez être en mesure d'établir, de maintenir et d'automatiser la connectivité à peu près n'importe quelle API de repos de votre choix. Cet article expose brièvement comment le faire dans CURL et Alteryx afin que vous puissiez (1) facilement pivoter entre les deux pour plus de robustesse de dépannage/implémentation et (2) plus facilement mettre en œuvre des connexions API dans vos workflows Alteryx, même quand ils sont documentés par. La première étape de l'établissement d'une connexion API consiste à localiser la documentation du développeur. La qualité et le détail de la documentation pour une API est souvent le réactif limitant de l'établissement d'une connexion, donc assurez-vous d'utiliser une API qui a la meilleure fonctionnalité, puis la documentation. La documentation vous aidera à parcourir l'authentification de l'API avant d'introduire les différentes demandes que vous pouvez faire. Comme curl est fréquemment utilisé parmi les développeurs d'API, vous remarquerez que bon nombre des demandes d'exemple que vous avez introduites seront dans la syntaxe curl. Être capable de déchiffrer ces demandes CURL vous aidera à le recréer facilement dans un programme avec une interface, comme facteur ou Alteryx. Considérez les demandes Get et post ci-dessous (toutes incluses dans le workflow v 10.6 ci-joint pour référence-s'il vous plaît noter que le workflow ne s'exécutera pas en raison d'informations d'identification expurgées à l'API): La documentation nous donne une URL pour communiquer avec via une action http (deux dans ce cas, Get et post), spécifique à cette demande d'inscription des utilisateurs sur les critères de recherche: http://Community.lithium.com/Community-Name/restapi/VC/Search/Users. Il note également un paramètre, ou un argument, pour accompagner la demande-ces mots clés sont le plus souvent associés à la charge utile de la demande. Avec un argument de charge utile pour l'authentification (expurgée), nous allons utiliser ces éléments pour générer nos demandes. Pour les demandes CURL, n'hésitez pas à utiliser l'exécutable installé avec votre concepteur Alteryx, situé dans C:/Program Files/Alteryx/bin/RuntimeData/Analytic_Apps/ par défaut (vous pouvez obtenir votre propre téléchargement ici). Télécharger Demande en curl (ligne de commande): (l'option – i est utilisée pour inclure les en-têtes de réponse pour qu'ils ressemblent au format Alteryx ci-dessous) Demande en Alteryx outil de téléchargement: Publier Demande en curl (ligne de commande): Demande en Alteryx outil de téléchargement: Remarque: une série de commandes curl peut également être implémentée dans un fichier .bat à exécuter dans un workflow via l'outil exécuter la commande (la maîtriser ici). Traduction de la RequestsAbove vous pouvez voir des exemples côte à côte de la syntaxe de CURL et comment la demande de l'API serait regarder dans le concepteur. Bien que nous ne pouvons pas aller sur chaque type de demande que vous pourriez avoir besoin, nous pouvons vous équiper avec un dictionnaire de poche métaphorique qui vous aidera à traduire entre les deux: L'URL de votre demande CURL devra simplement faire son chemin vers le champ URL dans l'onglet de base de l'outil de téléchargement. Le délai d'attente (--connect-timeout dans CURL) peut être modifié dans l'onglet connexion. Les schémas ci-dessous identifient certains des éléments de notre table de recherche, mais dans la syntaxe: En outre, facteur, l'outil mentionné plus haut, peut construire des demandes beaucoup comme dans Alteryx et a un "générer du code" fonctionnalité qui va convertir la demande à la syntaxe de Curl utilisable qui peut être utile dans la traduction. Bien que ce qui précède permet d'élucider quelques-unes des similitudes entre CURL et Alteryx requêtes http, il ya aussi des spécificités notables à l'utilisation de chacun. Par exemple, CURL vous donnera beaucoup plus de contrôle sur les options de configuration plus granulaires pour chaque demande; des choses comme quelle version de http à utiliser, en passant des cookies, en utilisant des proxys, entre autres. Alteryx, d'autre part, vous donne la flexibilité de construire une demande entièrement différente de chaque ligne de données entrant dans l'outil de téléchargement, ce qui rend presque sans effort pour générer un grand nombre de demandes personnalisées à vos données ou d'automatiser les interactions API qui aurait autrement besoin de programmation intimidant. En outre, Alteryx rend beaucoup plus facile d'analyser une réponse API dans des données utilisables de telle sorte qu'il peut être mélangé avec vos autres datasets-tous à l'intérieur du même workflow qui a fait les demandes. Selon les types de demandes que vous allez faire à votre API, vous aurez à regarder les différents formats ci-dessus et de déterminer l'approche optimisée. Par exemple, que faire si vous avez besoin de configuration de demande très spécifique, mais vous vous voyez faire un grand nombre de demandes? Vous pouvez utiliser Alteryx pour automatiser l'écriture de toute la syntaxe de vos commandes curl dans un fichier .bat, puis exécuter ce fichier .bat dans un outil de commande Run à partir de Alteryx. Maintenant que vous connaissez les deux, choisissez judicieusement! 10,5
Afficher l'article complet
Exécuter un script Python dans Alteryx Question Puis-je exécuter mes scripts Python dans le concepteur Alteryx? Réponse Oui! Nous pouvons utiliser l'outil exécuter la commande pour faire exactement cela. Voici un exemple, fait dans la version 10.6, démontrant l'utilisation de l'outil exécuter la commande pour exécuter un script Python dans le concepteur et utiliser sa sortie dans le workflow: Pour un script Python, votre commande doit être Python .exe. Si le répertoire où python existe est dans votre variable PATH système, vous pouvez simplement taper Python .exe. Sinon, vous devrez lui donner le chemin complet, en gardant à l'esprit de citer la chaîne si il ya des espaces (par exemple, "Program Files"). Dans les arguments de commande, vous taperez l'emplacement de votre script Python (le répertoire de travail par défaut de Alteryx est le répertoire du module en cours d'exécution, donc il peut être plus facile de garder votre script dans le même dossier pour simplement taper "your_python_script" plutôt que la pleine (Path) et toutes les options nécessaires. N'oubliez pas de citer cette chaîne! L'exemple de script de l'attaché envoie simplement du texte à un fichier texte à utiliser comme entrée pour le concepteur (note: il ne s'exécutera pas, sauf si vous avez configuré votre environnement Python): Comme vous pouvez le voir, nous avons exécuté avec succès un script Python et utilisé l'entrée de résultats de lecture pour apporter le résultat du script dans le concepteur pour un traitement ultérieur. 10,5
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
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
Comment l'outil Jointure fonctionne et pourquoi vous pourriez obtenir plus d'enregistrements que prévu Tandis que l'outil Jointure est facilement l'un des outils les plus utilisés dans Alteryx, il peut également être l'un des plus mal compris. Cela est encore plus probable si un nouvel utilisateur n'a jamais utilisé des fonctions "joindre" dans autre plate-formes de manipulation de données ou il se joint à de grandes tables où il ne surveille pas la trace des enregistrements à l'intérieur des champs auxquels il se joint. Ainsi, je vais couvrir trois cas différents que vous serez probable à rencontrer qui vous montrera comment joindre deux tables en utilisant un champ commun. Le workflow que je vais couvrir (ci-joint dans cet article) est un workflow que j'ai fait en 10,5 et contient les mêmes visuels qui sont ci-dessous. Cas #1: Joindre par champs qui ont tous les deux des enregistrements uniques C'est le cas le plus simple et le plus facile à comprendre. Dans ce cas, nous faisons une "Jointure" par les champs nommés «fruit» dans les deux entrées. La jointure alignera les enregistrements des deux tables si les enregistrements dans les champs "fruit" correspondent. Ainsi, la table jointe attendue (sortie J) devrait ressembler à ceci: Assez simple Cas #2: Joindre par champs où un seul a des enregistrements uniques Pour ce cas, nous avons deux enregistrements pour "Banana" dans notre entrée gauche. Cela signifie que l'enregistrement avec "Banana" dans l'entrée de droite correspondra deux fois et sera ajouté aux deux enregistrements de l'entrée gauche. Notre Sortie devrait ressembler à ceci: Cas #3: Joindre par champs qui ont tous les deux des enregistrements non uniques Celui-ci peut être le plus difficile à comprendre, mais j'espère que, après avoir regardé cela visuellement et mathématiquement vous comprendrez pourquoi cela fait sens et ce que vous pouvez faire pour éviter les enregistrements indésirables. Dans ce cas, nous avons deux enregistrements de «fruits» qui ont tous les deux «banane» dans les deux tableaux. La même chose se passe ici, tout comme le cas ci-dessus, sauf maintenant, il arrive deux fois parce que nous avons deux enregistrements de l'entrée droite qui correspondent à deux enregistrements de l'entrée de gauche. Ainsi, notre production aura un total de 4 enregistrements qui contiendront le mot «banane». La sortie devrait ressembler à ceci: Pour examiner cela mathématiquement pour le cas #3 et le cas #2, vous saurez combien d'enregistrements vous obtiendrez pour chaque instance d'enregistrement en multipliant la quantité d'enregistrements qui apparaissent dans les deux tables. Dans l'exemple ci-dessus puisque nous faisons une "Jointure" sur "fruit" et nous voyons l'enregistrement "banana" deux fois dans les deux tables, vous pouvez le considérer comme 2 bananes x 2 bananes = 4 bananes. Si nous ajoutons une autre rangée sur notre entrée droite comme ça: Nous aurons maintenant 3 x 2 donc nous devrions nous attendre 6 combinaisons d'enregistrements avec "Banana" dans le champ "fruit" Si vous avez joint deux tables et vous recevez beaucoup plus d'enregistrements, alors que vous vous attendiez pas, ceci est probablement la cause de votre problème. Si on ne comprend pas les cas présentés ci-dessus ,cela pourrait certainement rendre quel qu'un fou. Pour les meilleures pratiques, si j'étais vous, je suivrais ces deux étapes avant de joindre toutes autres tables: première: Vérifiez vos tables pour des enregistrements en double. Pour le cas ci-dessus, comme nous avons trois doublons qui viennent de notre entrée droite, nous pouvons simplement utiliser l'outil Unique et se débarrasser de ces doublons. La sortie sera exactement la même sortie que la sortie de cas #2 comme il n'y aura qu'un seul enregistrement de "Banana" après l'outil Unique. 2ème: Regardez si la "Joindre sur plusieurs champs" est l'option la plus appropriée. Exemple: nous avons la table 1 avec deux enregistrements contenant « Banana » pour « fruit » et deux enregistrements contenant « X » pour « Store ID » avec « FruitID » correspondant à « fruit ». Le tableau 2 a les mêmes champs « fruit » et « Store ID », sauf que maintenant nous avons un champ « Store employees » qui s'associe au « Store ID ». Tableau 1 tableau 2 Nous voulons que toutes ces données soient réunies pour qu'ils se correspondent correctement. Idéalement, nous ne devrions avoir que quatre enregistrements sortent de notre "jointure" comme nous voulons obtenir les "Store Employees" et "FruitID" champs dans une table. Par contre, si nous devions joindre à un seul champ commun, que ce soit "Store ID" ou "Fruit", nous obtiendrions des combinaisons et les données ne seraient pas alignées correctement. Voir ci-dessous. Joindre sur "Fruit" Dans ce cas, nous obtenons deux enregistrements où nos "Store ID" ne correspondent pas. Joindre sur "StoreID" Dans ce cas, nous obtenons deux enregistrements où nos "Fruits" ne correspondent pas. Pour corriger cela, nous allons configurer notre "Jointure" pour correspondre sur les champs "Fruits" et "Store ID" Après avoir Exécuté, la table jointe devrait ressembler à ceci: Lors de "jointure" avec plusieurs champs, nous nous assurons que les enregistrements de ces deux champs correspondent avant de "Joindre". Un moyen facile de penser à cela est d'imaginer que "Fruits" et "Store ID" se font fusionner ensemble. Maintenant, nous avons des enregistrements uniques parce que nous aurions Banana X et Banana Y comme deux entités uniques et notre jointure va maintenant devenir un enregistrement 1 X enregistrement joint 1. 10,5
Afficher l'article complet
Upload to SFTP/FTP-plus d'exemples avec Alteryx 10,5 Dans un article précédent, nous vous avons montré comment vous pouvez télécharger sur FTP en utilisant l'outil de téléchargement. Avec la sortie de Alteryx 10,5, l'outil de téléchargement prend désormais en charge le transfert vers SFTP. Avec cet ajout, nous allons profiter de l'occasion pour vous montrer quelques exemples plus de téléchargement de données à sftp/FTP et vous montrer comment il peut être transparente. Dans cet article, je vais montrer deux exemples de téléchargement sur un serveur sftp: un fichier à partir d'un disque local ou d'un partage réseau données de workflow directement à partir de Atleryx en tant que fichier CSV Si, comme moi, vous n'avez pas et serveur SFTP pour travailler avec, mais vous souhaitez toujours tester cette fonctionnalité, vous pouvez télécharger et exécuter un serveur SFTP localY-je suis d'essai avec ce libre autonome un. Allons-y! 1. Télécharger un fichier à partir d'un disque local ou d'un partage réseau Dans le premier exemple, je vais pointer Alteryx pour charger un fichier à partir d'un chemin sur le disque local et utiliser l'outil de téléchargement pour le télécharger. Je commence par l'aide d'un outil de saisie de texte pour entrer l'URL (l'adresse du serveur FTP/SFTP), y compris le numéro de port et le chemin d'accès complet du fichier avec le nom du fichier de l'endroit où je veux enregistrer le dossier. Je suis en cours d'exécution mon serveur SFTP sur localhost port 22334 et je veux enregistrer mon fichier sur le répertoire racine du serveur SFTP donc mon URL est sftp://localhost:22334/filename.xlsx. N'oubliez pas de démarrer l'URL avec sftp://ou FTP://selon le protocole que le serveur est en cours d'exécution. J'ajoute également l'emplacement du fichier dans le deuxième champ. Bien sûr, vous pouvez utiliser un outil de formule pour créer des URL plus dynamiques et des noms de fichiers, mais je suis le garder simple pour cet exemple. Je n'ai pas mentionné toutes les exigences spéciales pour le téléchargement de données à sftp/FTP alors maintenant est un bon moment pour le faire. Pour que l'outil de téléchargement télécharge des données, les données doivent être transformées en objet BLOB et l'outil doit être configuré pour envoyer une commande put. Je vais lire dans le fichier et de transformer son contenu en un blob en un seul aller à l'aide de l'outil d'entrée BLOB. Dans l'outil d'entrée BLOB, je vais mettre un nom de fichier d'espace réservé, configurer l'outil pour remplacer le chemin entier avec le champ, et pointer vers le champ qui a le chemin du fichier d'entrée. La sortie de l'outil d'entrée BLOB est un objet BLOB. Dans l'outil de téléchargement dans l'onglet de base, je pointe l'URL vers le champ qui a les détails du serveur-"adresse" dans mon cas. Sous l'onglet charge utile, j'ai défini l'action http pour mettre et définir l'outil pour prendre la chaîne de requête/corps de champ et le pointer vers le champ qui a l'objet BLOB. Sous l'onglet connexion, j'ai défini le nom d'utilisateur et le mot de passe sur les informations d'identification correctes. Maintenant, je lance le workflow et Alteryx va lire le fichier, créer l'objet BLOB et le télécharger sur le serveur SFTP. Mon dossier serveur SFTP racine est défini à C:/temp/sftp et là je peux voir le fichier filename. xlsx que je viens de télécharger. 2. Transférer les données de workflow directement dans un fichier CSV sur le serveur SFTP Dans le deuxième exemple, je vais lire des données à partir d'un fichier Excel, désélectionner certaines colonnes, puis télécharger le résultat dans un fichier CSV en utilisant SFTP. Vous pouvez considérer l'outil de sélection comme la partie de votre workflow qui traite des données et de l'outil d'identification d'enregistrement à l'outil de téléchargement comme pièce pour préparer le téléchargement. Le processus de téléchargement est très similaire au premier exemple et la majorité du workflow est pour la préparation des données et la création de l'objet correct à télécharger. Maintenant que j'ai lu-in, nettoyé, et préparé mes données, c'est à quoi il ressemble. En guise de rappel, nous aurons besoin d'un objet BLOB pour alimenter l'outil de téléchargement à l'aide de la commande put. La section suivante du workflow prend les valeurs des colonnes et des lignes de ma table et les concatène dans un seul champ contenant des données séparées par des virgules. Je vais alimenter ce champ dans l'outil de conversion BLOB et la sortie de l'outil de téléchargement pour le télécharger sur le serveur. Puisque je vais être transposant et filtrant des données, j'aurai besoin d'avoir un point de référence aux détails originaux et donc j'emploie l'outil d'identification d'enregistrement pour créer ce point de référence. Je transpose ensuite la table à l'aide de l'outil transpose avec l'ID d'enregistrement comme point de pivot (le champ clé) pour travailler avec une seule colonne au lieu de répliquer le travail sur plusieurs colonnes-en général, la transposition des données et le travail avec les colonnes nom-valeur ont tendance à simplifier transformant et manipulant des tables. Maintenant que j'ai mes données dans une seule colonne, je vais utiliser un outil Sumarize pour créer les lignes CSV en regroupant sur recordID et concatinating les valeurs avec "," comme séparateur. Je vais aussi avoir besoin de créer la première ligne du fichier CSV-les noms de champs-donc je prends le premier enregistrement (record ID = 1) avec un outil de filtrage et concatinate les valeurs dans la colonne nom avec "," comme le délimiteur. Le résultat est un chaque enregistrement dans mes données a une rangée de données séparées par des virgules tout dans une colonne. Avec les deux tables prêtes, l'étape suivante consiste à Union les noms de champs et les valeurs dans une table unique avec l'outil Union et en veillant à ce que l'outil est configuré pour définir un ordre de sortie spécifique. De cette façon, vous obtenez le nom du champ avant les valeurs de champ dans le ouptut. Le tableau résultant est ensuite concaténé dans un seul champ avec l'outil Sumarize en utilisant "/n" (nouvelle ligne) comme délimiteur. Les données résultantes sont ensuite introduites dans l'outil BLOB Convert pour créer l'objet BLOB. En outre, l'URL cible est ajoutée à la table à l'aide d'un outil champs Append. l'outil de téléchargement est configuré avec une configuration similaire au premier exemple. Exécuter le workflow et, voila, nous avons le fichier téléchargé sur le serveur en tant que filename. csv. Le workflow utilisé dans cet article et le fichier de configuration RebexTinySFTPServer (Rename file from. log to. exe. config) sont joints à ce message. Veuillez noter que vous devez modifier la configuration de l'outil de téléchargement (adresse et informations d'identification) pour que le workflow fonctionne sur votre configuration. Ces exemples ont été construits avec Alteryx 10,5 (10.5.9.15014). 10,5
Afficher l'article complet
Sortie de plusieurs fichiers à l'aide du même modèle Excel Vous pouvez avoir un cas d'utilisation par lequel vous disposez d'un ensemble de données volumineux et que vous souhaitez le produire pour séparer les fichiers Excel. Toutefois, dans chacun de ces fichiers Excel, vous souhaitez appliquer un format de modèle. Par exemple, j'ai un DataSet qui a trois ID uniques chacun avec 10 enregistrements. Je veux à la sortie de chacun de ces enregistrements d'ID unique à différents fichiers Excel, mais donner à l'utilisateur la possibilité de filtrer les champs directement après que les données ont été écrites. Dans Alteryx il y a la manière native d'ajouter des filtres dans Excel. Une façon d'y parvenir est de créer un fichier Template Excel avec des filtres déjà appliqués à la première ligne dans Excel. Dans Alteryx nous pouvons alors spécifier une gamme de cellules pour ajouter des données aussi, et par la suite cela va automatiquement remplir les filtres et donner à l'utilisateur l'option de filtrer dans Excel immédiatement. Exemple de fichier de modèle Avant de commencer, il y a quelques pré-requis: Cet exemple utilise des fichiers .xlsx Un fichier de modèle doit déjà exister afin de trouver la plage de données que vous souhaitez que les données insérées dans. Les feuilles Excel que vous souhaitez écrire les données doivent déjà exister avec le format de modèle inséré. Considérations Selon le nombre de variables que vous avez dans votre champ unique choisi, il peut être difficile et la douleur jalonnement pour créer manuellement les fichiers Excel avec des modèles insérés. Par conséquent, il existe deux options potentielles que vous pouvez prendre. Option 1: plus petit nombre de variables: Manual créer les différents fichiers Excel pour chaque variable et ajouter dans le modèle. Option 2: plus grand nombre de variables: créez un script .bat ou .exe qui crée les fichiers Excel spécifiques à chacune des variables que vous avez dans votre DataSet et insère le fichier de modèle. Une fois que vous avez créé le script .bat, vous pouvez l'exécuter à l'aide de l'outil exécuter la commande dans Alteryx. Une fois que les fichiers Excel ont été créés avec le modèle inséré, nous sommes prêts à passer à Alteryx. Dans quel format vos données sont-elles nécessaires? Votre dataset principal doit correspondre au fichier de modèle que vous avez créé dans Excel. Cela signifie que vous devez avoir le même nombre de champs dans votre DataSet, comme vous le faites dans votre fichier de modèle. Cela devient particulièrement important lorsque nous parlons de plages nommées plus loin dans cet article. Une fois que les données ont le bon nombre de champs, nous avons besoin pour générer le champ chemin d'accès complet afin que nous puissions écrire au fichier modèle Excel correct. La meilleure façon de le faire est de construire le chemin d'accès complet vous-même à l'aide d'un outil de formule. Cet article décrit comment le faire et au lieu d'utiliser le champ [State], vous pouvez utiliser le champ unique que vous cherchez à créer de nouveaux fichiers Excel pour. Une fois que vous avez créé les chemins complets, vous vous demandez peut-être comment Alteryx sait exactement où placer les données dans les fichiers Excel. C'est simple, tout ce que vous devez faire est d'ajouter le nom de la feuille et la plage nommée à la fin du chemin d'accès complet que vous venez de créer. Expression de l'outil de formule:'C:/Users/JonSnow/Documents/IDExcels/ [champ d'ID]. .xlsx'+'| Sheet1 a1: J5' Résultat: C:/Users/JonSnow/Documents/IDExcels/1001.xlsx | Sheet1 $ a1: J5 Cet article montre comment faire pour importer des plages nommées Excel, mais les plages de noms sortantes utilisent les mêmes principes et étapes, mais dans l'outil de données de sortie. Parce que vous avez un fichier de modèle, la plage nommée ne doit pas changer. Pourtant, si elle ne vous pouvez modifier manuellement la plage nommée dans votre champ de chemin d'accès complet. Félicitations, vous êtes à mi-chemin! Vous disposez maintenant d'un chemin d'accès complet et d'une plage nommée associée à chaque enregistrement de votre dataset principal. Nous devons maintenant prendre ce chemin complet et le produire. Avant de faire cela, nous devons d'abord trouver les chemins d'accès complets uniques pour se nourrir dans une macro batch. Étapes simples d'abord Nous allons d'abord aller de l'avant et ajouter un outil unique après l'outil de formule dans le Workflow. Vous pouvez maintenant cocher le champ chemin d'accès complet de sorte qu'il ne nous laisse que les chemins complets uniques. Nous allons construire cette macro batch! Bien que intimidant à première vue la macro batch peut devenir votre meilleur ami très rapidement. Pour créer une macro de lot à cet effet, vous devrez copier un sous-ensemble de votre dataset principal. Pour ce faire, vous pouvez ajouter un exemple d'outil (5 premiers enregistrements) à votre DataSet et à un outil de navigation. Lorsque vous exécutez le workflow et cliquez sur l'outil parcourir, cela vous permettra de copier les champs avec en-têtes inclus. Ouvrir un nouveau Workflow Une fois que vous avez un nouveau Workflow ouvert clic droit sur la toile et appuyez sur coller. Cela va coller les enregistrements dans un outil d'entrée de texte. Vous pouvez alors cliquer avec le bouton droit sur l'outil d'entrée de texte et choisir'convertir en entrée macro'. Cela nous permettra d'alimenter notre ensemble de données principal dans la macro. Ajouter cet outil de sortie Vous pouvez maintenant joindre un outil de sortie à votre entrée de macro. Lors de la configuration de l'outil de sortie, choisissez un fichier d'espace réservé comme «écrire dans le fichier ou la base de données» (ce n'est qu'un de vos fichiers Excel nouvellement générés). Dans la section Options au-dessous de votre chaîne de fichier de sortie, sélectionnez dans la liste déroulante pour'options de sortie''écraser le fichier (Remove)'. Vous pensez peut-être que cela va supprimer votre modèle. Ne craignez pas qu'il ne va écraser n'importe quoi dans votre plage nommée spécifiée dans votre chemin d'accès complet. Voici la clé de toute l'opération! Au bas de l'outil de sortie cochez la case pour'prendre le champ/nom de la table à partir du champ', puis dans l'option déroulante, choisissez'modifier le chemin d'accès complet du fichier'. Si vous souhaitez écraser une plage de cellules, sélectionnez "remplacer la goutte", si vous cherchez au remplacement de plusieurs modèles de fichiers, s'il vous plaît sélectionnez "remplacer le fichier." En dehors d'une macro de lot cela signifierait qu'un fichier serait généré pour chaque variable unique que nous avions dans le champ choisi «nom de fichier ou une partie du nom de fichier». Malheureusement, dans cet exemple, nous ne pouvons pas le faire parce qu'il produirait un fichier pour chaque ligne de données que nous avions (chaque ligne de données ayant un chemin d'accès complet). Pour contourner ce besoin, nous devons mettre à jour la chaîne de connexion de sortie dans l'outil de sortie avec les chemins complets uniques à l'aide d'un paramètre de contrôle. Cela permettra à la macro batch de batch en fonction du chemin d'accès complet unique et de tirer toutes les données à la fois avec le même chemin de fichier dans le DataSet principal. Chemins de fichiers uniques Chemins d'accès de fichiers associés par enregistrement (ligne) Une fois que vous avez Brough le contrôle paramètre sur la toile. Faites glisser du Q vers le boulon de foudre sur le dessus de l'outil de sortie. La configuration que nous voulons choisir dans l'outil d'action est «mise à jour de la chaîne de connexion» et cliquez sur le chemin d'accès complet qui l'insère dans la zone de texte inférieure dans la fenêtre de configuration (voir ci-dessous). Vous pouvez maintenant enregistrer cette macro de lot. Vue d'ensemble de la macro batch terminée Revenons à votre workflow de DataSet principal. À la fin du workflow permet d'aller et insérer dans la macro batch (clic droit sur la toile >> macro >> sélectionnez la macro batch que vous venez de construire). Vous verrez que la macro batch a deux entrées. Le point d'interrogation dans le paramètre de contrôle et le nœud normal est l'entrée de données. Dans le nœud du paramètre de contrôle, vous devez vous alimenter dans vos chemins d'accès complets uniques et dans l'autre ancre dont vous avez besoin pour connecter le DataSet d'origine. Dans l'interface macro sur l'onglet «groupe me», vous devrez sélectionner le champ «contrôle de la zone» comme champ de chemin d'accès complet à partir de votre outil unique et le champ «Input12» doit être le champ chemin d'accès complet de votre dataset principal. Cela regroupera ensuite ces champs uniques lors de l'alimentation dans les données et les affichera en tant que groupes plutôt que des enregistrements individuels. L'onglet questions se réfère à ce que vous allez alimenter dans le paramètre de contrôle. Ce sera le champ de chemin d'accès complet unique. Tu l'as fait! Vous avez maintenant correctement construit et configuré la macro batch à écrire pour séparer les fichiers Excel dans une plage définie. Dans cet exemple particulier, les en-têtes filtrés auto ont été remplis dès que les données de Alteryx avaient été écrites avec succès dans les fichiers Excel. S'il vous plaît trouver ci-joint un exemple de workflow (construit dans Alteryx 10,5) Si vous avez des questions concernant ce processus, veuillez contacter le support. Meilleur, Jordan Barker Consultant solutions, Alteryx Inc. 10,1
Afficher l'article complet
L'organigramme des données d'entrée ultime "J'ai un bajillion fichiers que j'ai besoin d'apporter dans mon workflow ..." wayyyyyy trop nombreux pour moi d'utiliser les outils de données d'entrée individuels! Quelle est la meilleure façon de le faire? -chaque utilisateur Alteryx jamais Apporter plusieurs fichiers à la fois peut parfois sembler une tâche ardue, mais est souvent une pièce nécessaire dans le développement de ces flux de temps merveilleux d'économie. Voici un organigramme pratique pour vous aider à obtenir ces fichiers délicats sans accroc! 1. Données d'entrée avec wildcard La plupart du temps vous avez juste besoin d'un outil de données d'entrée pour obtenir vos données dedans, ce qui est grand, parce que c'est de loin la méthode la plus facile et la plus rapide ici. Exigences: Vous avez besoin de tous vos fichiers pour être dans le même répertoire. Tous les fichiers doivent être du même type (ex.) (CSV, .xlsx, yxdb) Comment le faire: Configurez un outil de données d'entrée pour introduire l'un des fichiers dans votre répertoire. Dans la chaîne de connexion, remplacez le nom de fichier (ou une partie du nom de fichier) par un astérisque (*). L'astérisque est un joker qui prend essentiellement la place de n'importe quoi. Ainsi, dans notre organigramme ci-dessus, cette chaîne de connexion se penchera dans le répertoire C:/Users/akoszycki/Desktop/Input Data/Data à l'entrée, puis ramasser tous les fichiers qui commence par "co Store fichier-" et se termine par ".xlsx". Résultats: Toutes les données de ces fichiers sont empilées les unes sur les autres, essentiellement de la même manière que l'outil Union empile les données lorsqu'il utilise l'option "auto config by Name". Si vous voulez voir le fichier à partir duquel les données proviennent, utilisez l'option "nom de fichier de sortie comme champ" dans la configuration de votre outil de données d'entrée. 2. Entrée dynamique avec des chemins de fichiers Parfois, l'univers conspire contre vous et vous ne pouvez pas utiliser un joker. Pourquoi? Eh bien peut-être qu'il est impossible d'avoir tous vos fichiers situés dans le même répertoire, ou peut-être il ya une tonne de fichiers dans le répertoire que vous ne voulez pas un joker pour ramasser. Dans ce cas, vous devrez utiliser une liste de filePaths pour alimenter une entrée dynamique. Exigences: Une liste de filePaths à importer. Un fichier pour remplir la configuration «modèle de source de données d'entrée» de l'outil d'entrée dynamique. Ce fichier doit toujours être disponible pour l'outil pour baser son schéma de champ sur, et peut être n'importe lequel des fichiers que vous souhaitez entrer. Il * ne sera pas * entrée si elle est manquante dans la liste de fichiers ci-dessus. Comment le faire: Configurez le modèle de source de données d'entrée dans l'entrée dynamique comme s'il s'agissait d'un outil de données d'entrée régulier. Cet outil inclut une option pour "lire une liste de sources de données" qui mettra à jour la chaîne de connexion en fonction de votre liste de noms de fichiers. Utilisation des tables: Certains types de fichiers nécessitent une spécification de table ou de feuille, telle que Microsoft Excel ou Access Database Files. Si la feuille ou le nom de la table va toujours être le même, vous n'aurez pas de problème avec l'outil d'entrée dynamique. Toutefois, si vos fichiers ont des tables ou des feuilles différentes que vous tirez de, vous pouvez obtenir une erreur comme ... Si cela se produit, vous devrez ajouter la table/feuille à la fin du chemin d'accès au fichier sous la forme < file path >> . Par exemple, dans l'organigramme ci-dessus, je spécifie "Sheet1" comme feuille de calcul à importer dans les fichiers Excel à l'aide d'une formule simple: [,] + "| Sheet1 $ ". 3. Macro batch avec chemins de fichiers Peu importe ce que vous faites, il semble que vous obtenez toujours ces messages embêtants qui gardent vos fichiers d'entrer. C'est à ce moment que nous faisons ressortir les grosses macros de lots de canons. Bien que cette dernière méthode est techniquement la plus intensive de travail, rappelons-nous de garder à l'esprit ce que mon bon copain Confucius dit toujours ... La macro batch exécute un workflow une fois pour chaque fichier, en mettant à jour l'outil de données d'entrée chaque fois. Il ressemblerait généralement à ceci: La macro batch sera lue automatiquement dans les fichiers qui ont le même schéma de champ sans erreurs. Mais que se passe-t-il si votre schéma de champ est différent d'un fichier à un autre? C'est là que la macro batch vient vraiment dans son propre! Accédez au mode de sortie du concepteur d'interface (voir >> interface designer), puis utilisez'auto configure by Name (attendez que toutes les itérations s'exécutent)'ou'auto configure by position (attendez que toutes les itérations soient exécutées)'. 'auto configure by Name'va syndiquer les champs avec les mêmes noms, et'auto configure by position'sera l'Union champ 1 à partir du fichier 1 en haut de la zone 1 à partir du fichier 2 pour chaque fichier. Une fois que vous avez configuré le concepteur d'interface, vous pouvez enregistrer la macro et l'insérer dans votre workflow (clic droit sur la toile >> Insert >> macros). Il existe un exemple de workflow attaché qui inclut des fichiers factices et la macro batch pour voir comment fonctionne le processus. Ce workflow a été construit dans Alteryx designer 10,5. Cela devrait le faire pour la saisie de vos données! Commentaire ci-dessous ou contacter le support client avec toutes les questions! "J'ai un bajillion fichiers que j'ai besoin d'apporter dans mon workflow ..." wayyyyyy trop nombreux pour moi d'utiliser les outils de données d'entrée individuels! Quelle est la meilleure façon de le faire? -chaque utilisateur Alteryx jamais 10,1
Afficher l'article complet
Arrêter le workflow sur une condition Parfois, vous pouvez vouloir arrêter un Workflow si certaines conditions sont remplies! Heureusement dans Alteryx nous avons la combinaison de l'outil de test et les propriétés de workflow pour arrêter le Workflow. Un cas d'utilisation courante est que vous avez planifié le workflow avec un fichier d'entrée qui est mis à jour chaque semaine, mais parfois il n'y a pas de nouvelles données. Vous souhaitez arrêter le flux de travail en sortant et en écrasant votre fichier de sortie s'il y a zéro enregistrements dans le Workflow. Dans ce cas particulier d'utilisation, vous voudrez ajouter un outil de comptage et de test avant votre outil de sortie pour vous assurer qu'aucun enregistrement ne passe à l'outil de sortie. L'ajout d'un outil de comptage vous donnera la valeur dont vous avez besoin pour voir si des enregistrements sont présents dans le Workflow. Si le nombre est 0, cela signifie qu'il n'y a pas d'enregistrements présents, si elle plus grande que cela il ya des enregistrements présents et vous souhaitez que le workflow de continuer comme prévu. Lorsque vous fixez l'outil de test à l'outil comptage, vous devez appuyer sur le bouton'Add'pour créer un scénario de test. Lorsque vous appuyez sur Ajouter il apparaîtra une autre fenêtre. Dans cette fenêtre, vous pouvez entrer votre nom de test qui sera renseigné dans le journal des erreurs de fenêtre de résultats. La connexion d'entrée est le flux de données. Et le type de test reflète le type de test que vous souhaitez appliquer. Dans cet exemple particulier, nous allons utiliser'expression est vraie pour tous les enregistrements'. Le champ valeur de test vous donnera une fenêtre similaire à l'outil de formule. Ici, vous pouvez créer votre expression. L'outil de test fonctionne lorsqu'une condition spécifiée par l'utilisateur n'est pas remplie. Par conséquent, dans ce cas particulier, je suis à la recherche d'aucune donnée afin d'avoir compter moins de 0 sera l'erreur quand il n'y a pas de données disponibles. Une fois que vous avez configuré l'outil de test et l'avez attaché dans le Workflow. Vous devez cliquer sur le canevas et naviguer jusqu'à'Runtime'dans la fenêtre de configuration. Ici, il ya une liste de cases à cocher, vous aurez à cocher "annuler workflow sur l'erreur". Cela fonctionnera en tandem avec l'outil de test pour annuler le workflow lorsque l'erreur est générée. Voici une capture d'écran de l'exemple de Workflow. J'ai également joint l'exemple de workflow! (construit en Alteryx Desginer 10,1) Meilleur, Jordan Barker Consultant solutions 10,1
Afficher l'article complet
Tout sur les constantes Vous travaillez sur votre outil de formule millionième et "Jeff" de Quality assurance vous envoie un e-mail que la marge d'erreur de votre processus a été renormalisée. Ce n'est plus 0,122, mais 0,121. Puis la réalité horrible se met en-vous allez devoir revenir à travers toutes vos formules et mettre à jour que l'on.. stupide. peu. nombre. Vous jurez que vous ne serez plus jamais laisser béat "Jeff" ruiner votre nuit avec ses normes de tolérance nitpicky, si vous ouvrez votre navigateur, charger votre page d'accueil (la page de la communauté Alteryx duh), et de trouver exactement ce que vous avez été à la recherche d': un article de base de connaissances sur constantes de document. Alors qu'est-ce qu'une constante? Selon les pages d'aide de Alteryx: «les constantes de document sont des variables globales pour un Workflow.» (les constantes permettent de modifier une valeur dans un emplacement unique et ont cette modification se propager au reste du Workflow.) Vous pouvez trouver des constantes dans l'onglet Propriétés de votre workflow (cliquez sur le canevas et accédez au workflow dans la fenêtre de configuration). La case "est numérique" à l'extrême droite fera la valeur numérique plutôt qu'une chaîne. Types de constantes Moteur Ces quatre constantes de moteur apparaîtront dans chaque workflow, et une constante supplémentaire,,, apparaît là quand vous créez une macro d'optimiseur de lot, itératif ou d'emplacement. Temp chemin de fichier: le répertoire où le moteur va écrire des fichiers temporaires. Version: le numéro de version du moteur Alteryx installé sur la machine. Répertoire du workflow: répertoire du workflow en cours. Si aucun workflow n'est ouvert, la valeur sera le répertoire d'installation de Alteryx. GuiInteraction: valeur booléenne indiquant si un workflow est exécuté à partir de l'interface graphique. Lorsqu'un workflow est exécuté à partir du concepteur Alteryx ou de l'interface d'application analytique, la valeur retournée est true ou 1. Lorsqu'un workflow est exécuté à partir de la ligne de commande, la valeur retournée est false ou 0. ,: un entier qui correspond au nombre de fois qu'une macro a été exécutée, à partir de 0. Utilisateur Cliquer sur le symbole vous permettra d'ajouter des constantes utilisateur. Dans la capture d'écran ci-dessus, j'ai ajouté un "numéro favori" constante de l'utilisateur. Il peut s'agir de chaînes ou de chiffres, et s'en tenir au workflow si vous l'envoyez, le planifiez ou le téléchargez dans une galerie. Question Si vous faites une application ou une macro, beaucoup de vos outils d'interface apparaîtront comme des constantes de question. Le nom de cette constante correspond au nom de l'outil dans la zone d'annotation des propriétés de l'outil. Comment utiliser les constantes Méthode de formule Vous pouvez apporter une constante dans n'importe quel outil avec un composant de processeur de formule, tel que dans les outils de formule, de filtre et de renommer dynamique. Les constantes moteur et utilisateur seront renseignées dans le menu constantes des variables. Ils viendront en tant que Numeric ou chaîne basée sur si c'est la case numérique est cochée. Les constantes de question ne s'affichent pas dans ce menu, et ne peuvent pas être tapées dans [...] notation comme les autres variables. Raccourci de référence Toute constante (question incluse) peut être appelée sur n'importe quelle option de configuration à l'aide d'un raccourci de référence. Cela peut ne pas toujours fonctionner exactement comme vous pensez qu'il sera, donc utiliser cette méthode avec prudence. Généralement, dans toute configuration dans laquelle vous pouvez taper, vous pouvez apporter une constante en utilisant le type de notation% ConstantName%. Par exemple, dans notre outil de formule, nous pourrions nous référer à cette constante de question dans notre éditeur d'expression. Note nous avons encore eu à le placer dans les guillemets, parce que ceux-ci ne viennent pas avec notre valeur constante. En utilisant le raccourci de référence, nous pouvons transmettre des données sans même connecter l'outil d'interface à la formule. Ci-dessus, nous avons une macro avec la zone de texte nommée «constante», et ci-dessous est le résultat lors de l'exécution dans un autre Workflow. Consultez l'exemple ci-joint pour voir tout cela en action! (compilé dans la version 10,1, testé en 10,5) Vous travaillez sur votre outil de formule millionième et "Jeff" de Quality assurance vous envoie un e-mail que la marge d'erreur de votre processus a été renormalisée. Ce n'est plus 0,122, mais 0,121. Puis la réalité horrible se met en-vous allez devoir revenir à travers toutes vos formules et mettre à jour que l'on.. stupide. peu. nombre. 10,0
Afficher l'article complet
CS macro dev: lecture dans plusieurs fichiers avec différents schéma de champ-macro batch. Lecture dans plusieurs fichiers avec différents schémas de champ Cet article fait partie de la série de développement de macro de CS. Le but de cette série est de communiquer des conseils, astuces, et le processus de pensée qui va dans le développement de bonnes macros dynamiques. L'outil de répertoire peut être très puissant lors de la lecture dans plusieurs fichiers à partir d'un dossier, soit sur votre lecteur local, soit sur l'emplacement du réseau. Une fois que vous avez la liste des chemins de fichier, vous pouvez utiliser l'outil dynamique ou créer une macro batch pour lire tous ces fichiers dans. L'entrée dynamique peut être utilisée si tous vos fichiers ont le même schéma de champ. Toutefois, si le schéma de champ diffère, vous recevrez les avertissements ci-dessous lors de l'utilisation de l'outil d'entrée dynamique pour lire les chemins de fichiers complets. Par conséquent, vous pouvez créer une macro de lot simple qui peut être utilisée de façon répétitive pour apporter plusieurs fichiers à la fois. À l'intérieur de la macro-la première étape consiste à créer votre workflow. (1) apportez un outil d'entrée et sélectionnez l'un des fichiers que vous souhaitez lire. Dans cet exemple, j'utilise des fichiers .xlsx mais vous pouvez choisir n'importe quel format de fichier que vous souhaitez lire en revanche, il devra être le même format de fichier pour tous les fichiers que vous lisez. (2) ajoutez un paramètre de contrôle au-dessus de votre outil d'entrée. Cela vous permet de passer un chemin de fichier à la fois de l'extérieur de votre macro. Il n'y a aucune configuration requise sur cet outil. (3) faites glisser le'Q'du paramètre de commande vers le bas dans le boulon de foudre de l'outil d'entrée. Cela va ajouter dans un outil d'action. Dans l'outil action, mettez en surbrillance le chemin d'accès du fichier dans la fenêtre de configuration. Cela va maintenant l'ajouter dans l'option'remplacer une chaîne spécifique'au bas de la fenêtre de configuration. Tout cela signifie que la valeur que vous passez à travers votre paramètre de contrôle sera le remplacer dans l'outil d'entrée. (4) ajouter une sortie macro à l'outil d'entrée. Cela permettra aux données de sortir de la macro de nouveau dans votre workflow d'origine. Maintenant obtenu de voir >> interface Designer (ID) et cliquez sur l'icône clé dans la fenêtre d'identification. Dans le mode de sortie, modifiez l'option: -Auto configurez par nom (attendez que toutes les itérations s'exécutent)-auto configurer par nom va syndiquer les champs avec les mêmes noms -Auto configurer par position (attendre jusqu'à ce que toutes les itérations exécuter)-auto configurer par position sera Union Field 1, etc dans la même position pour chaque fichier lu po Cela va maintenant supprimer les avertissements que vous obteniez avec l'entrée dynamique. Insertion de la macro dans votre workflow (1) fichier >> enregistrer sous-enregistrer la macro dans un endroit où vous pouvez y accéder. Alteryx saura qu'il s'agit d'un workflow de macros parce que vous avez ajouté un paramètre de contrôle, ainsi qu'une sortie de macro. (2) dans une nouvelle toile, vous pouvez alors faire un clic droit sur la toile >> insérer >> macro). (3) si vous lisez dans une liste de fichiers, vous pouvez ensuite utiliser l'outil répertoire pour accéder au dossier avec les fichiers. (4) comme il s'agit d'un exemple de .xlsx, je vais devoir ajouter le nom de la feuille pour chacun des fichiers. Si vous lisez dans un type de fichier différent, vous n'aurez pas à faire cette étape. (5) vous pouvez ensuite configurer le paramètre de contrôle et sélectionner'chemin complet'. Joint est un exemple de workflow (version 11,0) que vous pouvez utiliser comme modèle pour générer. Si vous souhaitez construire une macro batch il ya une excellente vidéo sur notre demande de formation page Web: http://www.alteryx.com/on-demand-Training * Bien que cette macro a été testé, il peut ne pas fonctionner dans tous les scénarios. S'il vous plaît commenter sur le fil et je serais heureux d'aider. Meilleur, Jordan Barker Représentant du service à la clientèle 10,1
Afficher l'article complet
Téléchargement du protocole FTP (File Transfer Protocol) Vous devez télécharger un fichier à partir du protocole FTP (File Transfer Protocol) dans un workflow de concepteur? Les étapes de workflow et de configuration de v 10.1 jointes nécessaires pour vous mettre en place sont en dessous! 1. Mettez à jour votre champ URL dans le premier outil d'entrée de texte pour que l'extension URL/nom de fichier FTP soit correcte. Mettez également à jour votre téléchargement sur le terrain pour pointer vers votre directory/filename.extension désiré: Si le téléchargement vers le répertoire est laissé comme. /, le fichier sera téléchargé dans le répertoire dans lequel l'exemple de workflow a été enregistré. 2. Mettre à jour les informations d'identification du site FTP dans l'onglet Connexion de l'outil de téléchargement: Les autres onglets de l'outil de téléchargement sont déjà configurés. Ils font usage de la charge utile http action get (ou FTP) (a) et spécifier l'URL FTP, ainsi que le nom de fichier à télécharger à (b). un) b) 3. Mettez à jour le nom de fichier de votre outil d'entrée pour rechercher le même nom de fichier utilisé dans votre téléchargement sur le champ à partir de l'étape 1: Voilà! Vous devriez télécharger votre fichier FTP avec succès dans votre répertoire prévu et l'ouvrir pour l'utiliser dans votre workflow. Comme toujours, si vous rencontrez des problèmes n'hésitez pas à contacter notre équipe de support client à support@alteryx.com! Vous voulez en savoir plus sur les outils de téléchargement ou de saisie de texte? Essayez les liens ci-dessous: http://help.alteryx.com/current/index.htm#Download.htm http://help.alteryx.com/current/index.htm#TextInput.htm Matthieu D 10,1
Afficher l'article complet
Effectuer une analyse de régression à l'aide du concepteur Alteryx L'analyse de régression est largement utilisée pour la prédiction et la prévision. Les clients de Alteryx utilisent ces outils statistiques pour comprendre le risque, la fraude, la fidélisation et la tarification des clients, entre autres besoins de l'entreprise. L'analyse de régression est un processus statistique permettant d'estimer les relations entre les variables. La raison courante d'utiliser cet outil est de déterminer un effet causal d'une variable sur une autre, comme l'effet d'une augmentation de prix sur demande, par exemple, l'effet d'une habitude du tabac sur la probabilité d'un individu d'être diagnostiqué avec le cancer du poumon. L'analyse de régression est composée d'une variété d'outils dans Alteryx, qui font partie de la licence Alteryx designer standard. Cette vidéo fournit un bref didacticiel sur l'utilisation des outils d'analyse de régression sur les stats de baseball des ligues majeures et comprend une vue d'ensemble sur la façon de configurer les outils suivants: Outil d'analyse d'association Outil de régression linéaire Outil par étapes Outil de test imbriqué Outil de score &amp;amp;amp;amp;lt;a href="&amp;lt;a href="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F7AvidkIPcbY%3Ffeature%3Doembed%26;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D7AvidkIPcbY%26;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F7AvidkIPcbY%2Fhqdefault.jpg%26;key=fad07bfa4bd747d3bdea27e17b533c0e%26;type=text%2Fhtml%26;schema=youtube&amp;amp;amp;amp;amp;lt;/A" target="_blank"&amp;gt;https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F7AvidkIPcbY%3Ffeature%3Doembed%26;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D7AvidkIPcbY%26;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F7AvidkIPcbY%2Fhqdefault.jpg%26;key=fad07bfa4bd747d3bdea27e17b533c0e%26;type=text%2Fhtml%26;schema=youtube&amp;amp;amp;amp;amp;lt;/A&amp;lt;/a&amp;gt;" target="_blank"&amp;amp;amp;amp;gt;&amp;lt;a href="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F7AvidkIPcbY%3Ffeature%3Doembed%26;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D7AvidkIPcbY%26;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F7AvidkIPcbY%2Fhqdefault.jpg%26;key=fad07bfa4bd747d3bdea27e17b533c0e%26;type=text%2Fhtml%26;schema=youtube&amp;amp;amp;amp;amp;lt;/A&amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt" target="_blank"&amp;gt;https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F7AvidkIPcbY%3Ffeature%3Doembed%26;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D7AvidkIPcbY%26;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F7AvidkIPcbY%2Fhqdefault.jpg%26;key=fad07bfa4bd747d3bdea27e17b533c0e%26;type=text%2Fhtml%26;schema=youtube&amp;amp;amp;amp;amp;lt;/A&amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt&amp;lt;/a&amp;gt;;" width="600" height="337" scrolling="no" frameborder="0" allowfullscreen=""&amp;amp;amp;amp;amp;gt; Les clients de Alteryx utilisent les analyses prédictives pour identifier les modèles trouvés dans les données historiques et transactionnelles pour identifier les risques ainsi que les opportunités. Alteryx outils d'analyse prédictive sont construits sur Open source R. Les utilisateurs de Alteryx ne sont pas tenus de connaître R pour exécuter des modèles prédictifs parce que tous les modèles de Alteryx sont empaquetés dans des outils macro faciles à utiliser qui nécessitent uniquement une configuration. Tous les outils prédictifs sont des macros, et donc pas une «boîte noire». Les macros fournissent à l'utilisateur la possibilité d'ouvrir tous les modèles et de disséquer la logique, ainsi que de voir et de modifier le ou les scripts R en cours d'exécution. 10,0
Afficher l'article complet
Applications analytiques chaînées Alteryx Alteryx applications analytiques (Apps) sont très utiles. Ils nous permettent de prendre un processus, paramétrer des parties de celui-ci, et ajouter une interface afin que les utilisateurs finaux n'ont pas besoin de connaître tous les rouages du processus afin de le faire fonctionner pour leur scénario spécifique. Nous pouvons même prendre un $ $ etAPP et le publier à une galerie de Alteryx ainsi le processus peut être partagé avec quelqu'un qui n'a même pas Alteryx installé sur leur machine. Une question commune que nous entendons des constructeurs de $ $ etAPP est, «comment faire les choix présentés pour une question d'interface dépendent d'une question d'interface précédemment répondue?». Ceci est principalement accompli en enchainant plusieurs apps ensemble de sorte que les résultats de l'application #1 fournissent dynamiquement les options pour une question déroulante ou de ListBox dans l'application #2. L'étape 1 et l'étape 2 du paquet ci-joint fournissent un exemple. Que faire si la question que vous souhaitez mettre à jour n'est pas une liste déroulante ou ListBox? Vous pouvez réellement employer l'application #1 pour mettre à jour dynamiquement le XML brut contrôlant la question (ou n'importe quel outil) dans l'application #2 avant de présenter les questions de l'application #2 à l'utilisateur. L'étape 2 et l'étape 3 du paquet ci-joint fournissent un exemple. Moins souvent, on nous demande comment nous pouvons créer ce que j'aime appeler une «boucle de rétroaction» dans l'interface. Cela implique l'utilisateur de l'application remplissant un ensemble de questions, en voyant certains résultats de ces questions, et de décider s'il faut continuer à avancer ou revenir à modifier leurs sélections initiales. Ceci peut être accompli en utilisant la même idée de modifier le XML pour décider dynamiquement quel $ $ etAPP devient le prochain lien de la chaîne dans un processus. L'étape 3 dans le paquet ci-joint est un exemple qui sera soit passer à une véritable étape 4 si l'utilisateur est heureux avec les résultats des étapes 1-3 ou sera en boucle de retour à l'étape 2 afin que l'utilisateur peut modifier leurs sélections initiales. Ils peuvent continuer dans la boucle, en modifiant leurs sélections à l'étape 2 encore et encore jusqu'à ce qu'ils soient satisfaits des résultats et choisissent de passer à l'étape 4. Le package joint (créé à l'aide de Alteryx 10) contient un exemple pour chacune de ces options avec quelques notes appelant les différents exemples. Veuillez noter que les deux options impliquant la modification du XML d'un $ $ etAPP ne fonctionneront pas dans une galerie de Alteryx parce que n'importe quelle application exécutée par la Galerie doit être vérifiée par le serveur à l'avance et il n'y a aucun moyen de construire cette étape de vérification dans l'application. 10,0
Afficher l'article complet
Comment faire pour entrer plusieurs feuilles à partir de plusieurs fichiers Excel Dans cet article, nous allons jeter un oeil à la façon de tirer parti d'une macro batch à lire dans plusieurs feuilles à partir de plusieurs fichiers Excel en utilisant la version 10,0 designer. Les deux fichiers Excel que je vais utiliser dans l'exemple sont appelés fruits et légumes avec des feuilles nommées pommes, oranges, brocoli et épinards, respectivement. La première étape sera de lire dans la liste des noms de feuilles d'un des fichiers Excel à l'aide d'un outil d'entrée. Cette fonctionnalité est nouvelle à 10,0 et est un excellent ajout lorsqu'il est utilisé en conjonction avec l'outil d'entrée dynamique. Nous pouvons ensuite connecter notre outil d'entrée de l'étape précédente à un outil d'entrée dynamique. Dans notre configuration, utilisez le même fichier Excel que notre modèle de source de données d'entrée. Nous pouvons employer le champ de noms de feuille de notre outil d'entrée comme notre liste de sources de données et notre action va être de changer le nom de fichier/table. Maintenant, nous sommes prêts à ajouter nos outils d'interface à la toile. Apportez un outil de paramètres de contrôle, 2 outils d'action et une sortie macro. Connectez le paramètre de contrôle aux 2 outils d'action, puis connectez-vous à l'entrée et à l'entrée dynamique. La sortie de la macro sera connectée à la sortie de l'entrée dynamique. Dans notre configuration d'outil d'action notre type d'action sera la valeur de mise à jour. Nous voulons mettre à jour la valeur du fichier-qui est transmis à l'entrée et l'entrée dynamique. Nous allons, cependant, seulement besoin de mettre à jour la partie de la chaîne sans le nom de la feuille, c'est pourquoi nous allons également sélectionner remplacer une chaîne spécifique: cela va nous permettre de batch notre processus avec plusieurs fichiers. Enfin, si nos fichiers Excel ont des schémas différents, dans le concepteur d'interface, nous pouvons définir la macro à configurer automatiquement par le nom ou la position de sorte que notre workflow n'a pas d'erreur. Remarque: les feuilles dans le même fichier devront être le même schéma. Nous sommes maintenant prêts à enregistrer la macro et à la mettre à profit! Maintenant, sur une nouvelle toile, nous pouvons placer un outil de répertoire (si tous vos fichiers Excel sont dans un répertoire), ou, nous pouvons utiliser une entrée de texte pour entrer manuellement chaque emplacement de chemin de fichier individuel. Après l'outil d'entrée de répertoire ou de texte, insérez votre macro (clic droit sur le canevas-> insérer-macro), puis choisissez le chemin d'accès complet de votre question dans la configuration de la macro. Ajoutez une navigation, cliquez sur Exécuter et regardez les résultats! Nous sommes maintenant en mesure de lire dans plusieurs feuilles Excel à partir de plusieurs fichiers Excel! Le package de workflow ci-joint inclut un workflow, une macro batch et des fichiers Excel créés dans Alteryx v. 10.0 Tony Moses Représentant du service à la clientèle 10,0
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
Top 10 Alteryx Server Foire aux questions Alteryx serveur est de plus en plus populaire que les dirigeants d'Analytics se pencher sur l'échelle de Alteryx pour s'attaquer à de plus grands projets, de plus grands ensembles de données et de mettre en libre-service l'analyse des informations dans les mains de plus de décideurs. Des organisations allant des petits détaillants et des fournisseurs de données de niche, à de grandes sociétés telles que Southwest Airlines, chic-fil-A et Western Union ont amélioré à Alteryx Server pour améliorer la productivité des analystes et améliorer la prise de décision. En tant qu'analyste de ligne d'affaires, vous savez probablement que vous devez faire votre entreprise de pratique d'Analytics prête, et peut-être vous avez commencé à regarder le serveur de Alteryx et a commencé à penser aux prochaines étapes. À ce stade, nous commençons à obtenir plus de questions sur les meilleures pratiques pour déployer Alteryx Server, comment il balance, questions de gouvernance et bien plus encore. J'ai donc récemment assis avec nos experts Alteryx serveur leader, Kory Cunningham, Senior Product Manager pour Alteryx Server et Gary Schwartz et Steve Ahlgren qui sont le développement conduit pour Alteryx Server, pour obtenir les réponses à certains de nos plus fréquemment demandé questions (FAQ). Voici les commentaires que nous avons reçus de l'équipe. Merci pour la lecture, Josh Howard, SR. Product Marketing Manager Quelles sont les principales fonctionnalités du serveur Alteryx que quelqu'un pourrait intéresser? Kory Cunningham-il ya tout à fait quelques choses, mais l'une des caractéristiques les plus convaincants est juste la possibilité de tirer parti du matériel serveur afin que vous puissiez déployer votre analyse à l'échelle et de soutenir les utilisateurs simultanés. Nous avons vu Alteryx serveur déployé dans de petites boutiques d'Analytics Boutique cinq personnes à des entreprises multinationales avec des centaines d'utilisateurs. La seconde est autour de l'ordonnancement. Le planificateur vous donne la possibilité de prendre des workflows et des processus analytiques et les planifier pour fonctionner à l'avenir pour plus de rapports en temps opportun, et de le gérer de manière automatisée pour les rapports quotidiens, hebdomadaires, mensuels. La troisième est la Galerie. La Galerie est une interface Web où vous pouvez prendre Alteryx workflows et les publier jusqu'à une galerie de partager avec d'autres collègues et les utilisateurs d'entreprises pour obtenir ce même traitement analytique, mais sans avoir Alteryx installé sur leur bureau. Par exemple, vous pouvez avoir quelqu'un dans le champ Connectez-vous à un navigateur Web, accéder à la Galerie et exécuter leurs rapports sans Alteryx designer. Dans la plateforme Galerie, vous disposez également de la collaboration et du contrôle de version sur les workflows. Vous pouvez partager, modifier et garder une trace de ces changements par l'utilisateur et quand le changement a eu lieu. Cela fait partie de la plate-forme serveur Alteryx. Parlez-moi des configurations de déploiement prises en charge dans Alteryx Server. Peut-elle être déployée dans un environnement virtuel? Gary Schwartz-en ce qui concerne la configuration de déploiement, nous sommes sur une pile Microsoft, il est donc toutes les fenêtres. Nous soutenons Windows Server 2008 R2 et plus tard, et vous pouvez voir les spécifications techniques recommandées sur notre page TechSpecs. En ce qui concerne le déploiement, nous vous recommandons certainement d'exécuter le serveur sur du métal nu, mais vous pouvez également exécuter le serveur dans des environnements virtualisés. En fait, nous dirigeons notre propre galerie dans un environnement virtualisé sur Amazon. Nous faisons des tests sur certains environnements virtuels, mais nous n'avons pas de certification technique du serveur sur ces environnements. Ainsi, le serveur Alteryx fonctionne bien sur des environnements physiques et virtuels. La chose que vous devez penser est la contention de ressource sur la boîte physique. Si elle est exécutée sur une boîte physique qui est partagée par beaucoup, alors vous pouvez obtenir une certaine contention des ressources. Vous devez également considérer les UC vs vCPUs. Par exemple, en Amazon vous pourriez avoir 4, 8, ou 16 CPU, mais ce qu'ils font vraiment référence à sont vCPUs, qui est la moitié d'un processeur réel, et nos spécifications sont basées sur les processeurs physiques. Donc, c'est quelque chose que vous devez garder à l'esprit. Quels types d'authentification sont fournis? SSO est-il disponible? Kory Cunningham-en ce qui concerne la Galerie, il ne supporte deux formes principales d'authentification. L'un est construit dans l'authentification, qui est juste e-mail et mot de passe que les utilisateurs peuvent se connecter en utilisant leur propre compte qu'ils ou l'administrateur crée. Mais nous soutenons également l'authentification Windows, y compris la prise en charge native de NTLM et Kerberos. Cela permet aux utilisateurs de la Galerie de se connecter en utilisant les mêmes informations d'identification qu'ils utilisent probablement pour se connecter à leur propre machine, et de tirer parti de votre Active Directory existant pour l'authentification et la gestion des utilisateurs pour accéder à la Galerie. Et avec 10,5, nous avons également introduit la possibilité d'exécuter des workflows en tant qu'utilisateur, de sorte qu'un utilisateur peut exécuter un workflow en utilisant leurs propres informations d'identification plutôt que d'utiliser un compte administrateur serveur global et seulement obtenir l'accès aux données qu'ils ont été permissiond pour. Combien d'utilisateurs ou d'applications un handle de déploiement peut-il avoir? Steve Ahlgren-la réponse courte est que nous pouvons manipuler un nombre illimité d'utilisateurs avec une certaine limite supérieure, et nous avons des clients avec des centaines d'utilisateurs sur le serveur de Alteryx. Mais, plutôt que le nombre d'utilisateurs, peut-être il est plus important de considérer le nombre et les types d'apps qui peuvent être manipulés. La bonne chose au sujet du serveur est qu'il balance linéairement, de sorte que vous pouvez jeter plus de ressources à elle pour gérer une charge accrue. Si vous avez du matériel ou du matériel virtuel disponible, nous pouvons remplir cette instance à sa capacité en fonction de ce que votre charge prévue est. Le nombre d'utilisateurs simultanés est limité par vos services frontaux fournis par votre infrastructure interne ou Cloud. Si vous avez un équilibreur de charge, nous pouvons échelle pour manipuler les deux extrémités avant et arrière de charge. Comment l'échelle du serveur Alteryx? Steve Ahlgren-il ya trois points principaux de l'évolutivité et je vais les énumérer par ordre de probabilité: Ajout de fonctionnalités de traitement de workflow à une instance de serveur. Nous appelons ces ouvriers de file d'attente ou les ouvriers de rendu, qui sont des instances de matériel physique ou virtuel qui traitent les workflows de Alteryx et rendent les tuiles de carte, respectivement. Les travailleurs de file d'attente exécutent le même moteur Alteryx qui s'exécute sous le produit concepteur Alteryx. Il existe deux façons principales de les mettre à l'échelle, l'un est horizontalement, ce qui ajoute plus de travailleurs physiques ou virtuels à une instance de serveur et la deuxième façon de mettre à l'échelle est l'évolutivité verticale, ce qui ajoute plus de capacité de travail à un nœud physique existant ou ajout de matériel à un nœud physique existant. Nous soulignons que la plupart des gains de performances seront réalisés par l'évolutivité horizontale, en ajoutant plus de matériel physique et de travailleurs physiques à une instance de serveur existante. La deuxième façon de l'échelle est d'étendre la base de données backend, qui dans notre cas est MongoDB. MongoDB a plusieurs types d'options d'évolutivité pour la redondance et les performances, et l'un de ceux-ci est par le biais de jeux de réplicas. Ensembles de réplicas est une manière Mongo obtient la fiabilité et la redondance des données en écrivant essentiellement des données à plusieurs noeuds en même temps pour s'assurer qu'il y a au moins une copie de vos données dans l'existence en tout temps. Si un noeud tombe, alors un nouveau noeud prendra sa place et le serveur devrait être en mesure de rester opérationnel. Vous pouvez également mettre à l'échelle la base de données par l'éclat. L'éclat est plus performant et il permet potentiellement l'utilisation de plus petites tailles de disque qui est important si vous utilisez le matériel virtualisé dans une infrastructure de type Amazon La troisième façon de l'échelle est à travers la Galerie. La Galerie est le service frontal qui gère les demandes des utilisateurs à partir du client ou du navigateur Web. C'est la façon la moins probable à l'échelle, car il n'a pas tendance à être un goulot d'étranglement, et il dépend du type d'utilisateurs et d'applications qui sont en cours d'exécution, mais il est possible d'évoluer à l'aide d'un équilibreur de charge. En fait, nous avons utilisé ces trois méthodes de mise à l'échelle déployées sur notre propre instance de la galerie publique Alteryx. Quel type de matériel ou de spécifications réseau sont nécessaires? Kory Cunningham-vous pouvez trouver toute notre documentation technique de http://downloads.alteryx.com/, mais pour une installation typique, nous vous recommandons un Quad Core, machine CPU unique avec 2,5 GHz et au moins 16 Go de RAM (ou plus) et un disque SSD (Solid State Drive). Le SSD fait une différence assez grande avec la rapidité avec laquelle les données peuvent lire ou écrire. L'autre chose à considérer est la topologie du réseau en ce qui concerne l'emplacement du DataSet. Par exemple, si vous achetez nos données de tierce partie (par exemple Experian) il peut être installé sur la même machine que le logiciel serveur et dans un emplacement réseau. Mais l'installer sur le serveur sera votre meilleure option pour la performance et l'avoir aussi près du moteur d'exécution ou de l'espace de calcul que possible. Mais nous permettons aux données d'être stockées sur un réseau qui permet aux données d'être stockées dans un emplacement distant qui est commode pour avoir plusieurs machines Remoting-in pour accéder à ces données et la mise à jour, mais il ne viennent à une pression significative sur les performances et vous serez l ikely voir dégradation. En ce qui concerne le saut de réseau ou les liens qui doivent se produire dans un déploiement à plusieurs nœuds, vous voulez vous assurer que ceux-ci sont conservés au minimum. Essayez donc de garder les machines aussi rapprochées que possible pour éviter la latence. Gary Schwartz-une autre chose à penser en ce qui concerne le réseau et le serveur que la Galerie est en cours d'exécution, est de configurer un nom de domaine approprié que les utilisateurs peuvent accéder et pointant vers le serveur de droite. Nous avons vu beaucoup d'exemples où le DNS était incorrect et ils ne pouvaient pas comprendre pourquoi ils ne pouvaient pas atteindre leur galerie. En plus de la Galerie, nous vous recommandons d'utiliser SSL ou TLS, ce qui signifie que vous devez installer un certificat sur le serveur qui héberge la galerie à moins que vous ne travailliez derrière un équilibreur de charge. Travaillez avec votre équipe informatique pour obtenir le certificat SSL installé, ce qui peut être intensif. La dernière chose est, le domaine que la Galerie est en cours d'exécution sur les besoins du niveau approprié de la stratégie de confiance définie avec les autres domaines que les autres utilisateurs travailleront sur afin que Active Directory peut résoudre et déterminer les autorisations en fonction de cela. Existe-t-il des exigences de serveur Web ou de base de données tierce partie? Kory Cunningham – le serveur a empaqueté tous les composants nécessaires (par exemple, serveur Web et base de données) dans l'architecture ou l'installation elle-même. Ainsi, tout peut être installé et configuré à partir de l'installation du serveur. Pour un seul nœud machine, il n'y a pas de dépendances supplémentaires, mais vous pouvez commencer à voir certaines exigences 3ème partie avec un environnement à plusieurs nœuds si vous l'échelle-out. Si vous l'échelle de la Galerie par exemple, vous aurez besoin de mettre en place un équilibreur de charge pour gérer l'ensemble du trafic Web-à Alteryx nous utilisons Amazon équilibreur de charge élastique, mais vous pouvez utiliser quelque chose comme F5 réseaux ou quel que soit votre service informatique utilise. Si vous dimensionnez la base de données, comme mentionné ci-dessus, nous ne paquet vers le haut d'une version incorporée de MongoDB. Mais si vous commencez à tirer profit des ensembles de réplique de Mongo pour la haute disponibilité, la redondance et la fiabilité, alors vous auriez besoin de gérer votre propre noeud de base de données Mongo. Et nous vous recommandons de jeter un oeil à Mongo's specs, l'installation et les meilleures pratiques pour mettre en place. Mais à part ça, il n'y a pas de 3ème partie. Gary Schwartz-je voudrais également mentionner que nous obtenons beaucoup de questions sur le serveur Web. Bien que nous fassions l'empaquetage du serveur Web et de la base de données dans l'architecture, la Galerie est un service Web Self-Hosted. Il n'utilise rien comme Tomcat ou Apache, il s'agit d'un service Web autonome qui s'inscrit avec la configuration d'adresse de base qui écoute la demande Web à partir de cet emplacement. Comment puis-je gérer la haute disponibilité et les sauvegardes de données? Gary Schwartz-pour une haute disponibilité il s'agit de redondance dans l'architecture, et puisque l'architecture est conçue pour évoluer horizontalement la plate-forme le soutient. Du point de vue de la Galerie, vous pouvez mettre à l'échelle pour avoir plusieurs noeuds de Galerie derrière un équilibreur de charge. Si un noeud échoue, alors il prendra toujours le trafic tandis que vous récupérez l'autre et le récupérez vers le haut et l'exécution. Deuxièmement, retour à ce que Steve a dit au sujet de gagner le débit supplémentaire des workflows en scalant dehors vos noeuds de travail ... Plus vous avez de nœuds de travail, plus vous avez de disponibilité pour exécuter des workflows. Vous voulez donc surveiller l'utilisation de votre système. Si vos nœuds de travail fonctionnent continuellement à pleine capacité, vous devez ajouter plus de nœuds de travail pour plus de capacité. Nous vous recommandons certainement de sauvegarder vos données. La première étape de ce faire est de mettre à l'échelle de votre base de données Mongo intégré pour se lever plusieurs ensembles de répliques Mongo sur des noeuds distincts qui vous donnera une sauvegarde immédiate et la redondance. Nous vous recommandons également de suivre la recommandation de Mongo pour les sauvegardes. Il y a plusieurs stratégies pour cela. Nous utilisons régulièrement des intervalles de sauvegardes incrémentielles afin que nous ayons une sauvegarde de base avec des instantanés incrémentiels le long du chemin sans avoir à faire des sauvegardes complètes tout le temps. Ensuite, nous faisons parfois des sauvegardes complètes. Kory Cunningham – nous avons une disponibilité de sauvegarde et de restauration des installations pour les fonctionnalités de sauvegarde de base dans l'instance MongoDB incorporée. Mais si vous êtes à la recherche d'une solution de haute disponibilité qui est hautement redondante, alors nous vous recommandons de descendre le chemin d'un déploiement à plusieurs nœuds gérés par l'utilisateur d'un déploiement MongoDB. Steve Ahlgren-je voudrais également ajouter que si vous êtes en cours d'exécution dans AWS, je voudrais mettre en place la distribution régionale. Amazon a des pannes. Même dans notre propre galerie publique, nous avons vu des pannes et que la distribution régionale assure que nous avons près de 100% de disponibilité. En termes de sauvegardes, la configuration des instantanés EBS est facile si vous êtes en cours d'exécution dans EC2. Vous pouvez configurer ces instantanés EBS et des sauvegardes complètes chaque semaine ou tous les deux jours. Comment surveiller un déploiement de serveur? Steve Ahlgren – il existe plusieurs façons différentes de surveiller les déploiements. Chaque composant du serveur possède sa propre infrastructure de journalisation. La Galerie frontale écrit ses propres journaux, le back-end a également sa propre structure en utilisant les niveaux syslog, et la base de données Mongo a sa propre structure de journalisation. Il y a donc une grande exploitation forestière dans chaque niveau de l'architecture du serveur. Nous suggérons que tout le monde recueille ces logs et utilise Alteryx. Alteryx utilise Alteryx pour collecter nos propres logs. Nous avons également siphonner les logs dans Amazon S3 où ils peuvent être importés dans des outils tiers comme Logstash et loggly mais Alteryx est probablement l'ensemble de l'outil de journalisation dont vous aurez besoin pour cela. En termes d'autres capacités de surveillance, nous recommandons également d'utiliser des services comme Amazon CloudWatch pour surveiller la santé du système comme CPU et la mémoire, qui vous donnera une indication précoce des problèmes ou des problèmes. Nous recommandons également la surveillance de base de données backend avec MongoDB Cloud Manager pour la surveillance des choses comme les requêtes lentes et l'accès aux données avec une pagination extensive, qui peuvent tous deux indiquer un problème. Un autre outil de surveillance 3ème partie que nous utilisons est une nouvelle relique, que nous utilisons pour surveiller les nœuds frontaux dans une architecture de serveur à plusieurs niveaux. Nous utilisons les deux nouvelles relique dans une combinaison avec Amazon CloudWatch pour surveiller la santé de la machine pour des choses comme les processus de Galerie de clés, la charge CPU lourde ou le trafic réseau. Mais nous avons aussi empaqueter un serveur d'utilisation de rapports et de surveillance app qui s'exécutent dans Alteryx sur le serveur pour surveiller les choses comme le nombre d'utilisateurs actuels, le nombre moyen d'emplois en attente dans la file d'attente d'exécution, la longueur de temps qu'il faut des emplois à courir-donc Monitori de base ng qui serait utile dans la gestion du serveur. Quelles sont les autorisations d'utilisateur et les contrôles d'accès aux données disponibles? Kory Cunningham-à l'intérieur de la Galerie, vous pouvez gérer les utilisateurs et de fournir ces utilisateurs avec différents niveaux d'accès aux données pour les différents rôles d'utilisateur. De votre visionneuse de base, qui est une vue de niveau de base que l'accès à la Galerie où ils peuvent juste exécuter des workflows, à ce que nous appelons l'artisan, qui sont les utilisateurs qui contribuent le contenu et le téléchargement de workflows et la création d'applications dans la Galerie de partager avec d'autres utilisateurs, et enfin à ce que nous appelons le rôle de conservateur, qui est que l'administration et le rôle de gestion qui gère la Galerie. Pour les artisans qui créent du contenu, les workflows sont stockés dans ce que nous appelons les «Studios». Les studios sont essentiellement des dossiers de projet restreints où plusieurs analystes peuvent partager et de collaborer et de publier des workflows que seulement ils peuvent voir. À partir de là, ils peuvent partager ces workflows à d'autres studios ou avec d'autres utilisateurs, offrant ainsi un moyen de contrôler la gestion de l'accès aux données. Avec Alteryx Server, nous respectons les règles et niveaux d'autorisation que vous définissez au niveau de la base de données. Nous vous donnons donc la possibilité de définir des autorisations globales auxquelles tous les workflows s'exécutent. Mais dans la version 10,5, nous avons fourni une plus grande souplesse vous donnant la possibilité de définir des autorisations au niveau individuel que les workflows s'exécutent ainsi. Nous continuons à étendre nos capacités ici, alors restez à l'écoute pour les prochaines versions! (note des éditeurs: consultez la vidéo de kory sur le respect de la gouvernance des données avec l'analyse des données libre-service pour plus d'informations) C'est tout pour l'instant. Merci! Grand Merci à Kory, Gary et Steve pour s'asseoir avec moi et répondre à quelques-unes des questions que nous obtenons sur Alteryx Server. Si vous avez plus de questions, n'hésitez pas à nous demander ici sur la communauté ou de télécharger le rapport, "Alteryx Server: mise à l'échelle de l'analyse des données libre-service pour l'entreprise". Josh Howard Alteryx serveur est de plus en plus populaire que les dirigeants d'Analytics se pencher sur l'échelle de Alteryx pour s'attaquer à de plus grands projets, de plus grands ensembles de données et de mettre en libre-service l'analyse des informations dans les mains de plus de décideurs. Mais le serveur Alteryx peut-il être déployé dans un environnement virtuel? Combien d'utilisateurs peut-il gérer? Comment l'échelle du serveur Alteryx? J'ai récemment assis avec la gestion des produits Alteryx Server et le développement conduit à répondre à ces questions et plus encore. En savoir plus sur le Top 10 Alteryx serveur Foire aux questions. 10,5
Afficher l'article complet
Étiquettes