Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
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
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
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
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
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
Le'comment guider'à Google Sheets Le'comment guider'à Google Sheets Dans Alteryx 10,5 nous avons introduit deux nouveaux connecteurs pour Google Sheets, vous permettant de télécharger et de transférer des données vers et depuis Google Sheets. Mises Ces connecteurs ne sont disponibles que dans Alteryx designer/Server 10,5. Ces connecteurs ne sont pas installés directement avec le concepteur. Vous pouvez les télécharger dans la Alteryx Analytics Gallery Ces connecteurs interrogent l'API Google Sheets, qui est différente de l'API Google Drive. -Si vous avez des types de fichiers Excel, .csv, .txt ou ODS dans votre lecteur Google, vous devrez les convertir dans un fichier Google Sheets avant de les extraire. -Les fichiers Google Sheets qui peuvent être lus par le connecteur auront cette icône: -Toutes les fiches Google contenues dans les dossiers de votre lecteur Google seront visibles dans le connecteur. Etape 1: Inscrivez-vous/dans Google Sheets Pour utiliser ces connecteurs, vous aurez besoin d'un compte Gmail lié à votre compte Google Sheets. Suivez ce lien et cliquez sur "aller à Google Sheets". Ceci vous emmènera alors à la connexion de compte de Google. Entrez vos coordonnées ici ou inscrivez-vous pour un compte Google si vous n'en avez pas un. Félicitations que vous êtes maintenant dans Google Sheets Dans Google Sheets, vous serez en mesure de voir tous les documents Excel que vous avez téléchargé précédemment ou si ce nouveau compte, vous ne verrez pas de documents autres que «démarrer une nouvelle feuille de calcul.» Si vous avez des feuilles de calcul existent, vous les verrez affichés ci-dessous la section «Démarrer une nouvelle feuille de calcul». Passons à Alteryx Nous avons maintenant des feuilles de Google configurées et ont les qualifications correctes pour se relier. Selon si vous voulez apporter des fichiers dans Alteryx de Google Sheets ou écrire des données sur Google Sheets, cela dictera le type de connecteur que vous utiliserez. Si vous apportez des données à partir de Google Sheets vous voulez utiliser le connecteur d'entrée Google Sheets, sinon si vous écrivez vous voulez utiliser le connecteur de sortie Google Sheets. Apporter des données de Google Sheets Lorsque vous apportez le connecteur d'entrée Google Sheets, vous verrez deux options de connexion, une pour'user login et une autre pour'Developer login. La connexion développeur vous demandera de configurer les informations d'identification de l'API Google. Cette option requiert l'obtention d'un ID client, d'un secret client et d'un jeton d'actualisation. Vous devez utiliser cette option si vous cherchez à programmer cet outil car il ne nécessite pas de réentrer les informations d'identification pour exécuter un Workflow. L'utilisateur login est approprié pour tous les autres scénarios, mais vous devrez ré-entrer vos informations d'identification toutes les 60 minutes ou lorsque vous fermez et rouvrez un Workflow. Une fois que vous avez frappé'user login il va générer une fenêtre pop-out avec le même écran que le login comptes Google. Entrez votre nom d'utilisateur et mot de passe ici et appuyez sur accepter. Cela vous ramène maintenant à la fenêtre de configuration du connecteur d'entrée Google Sheets dans le concepteur. Vous verrez maintenant les feuilles de calcul qui existent sur Google Sheets. Vous pouvez maintenant sélectionner l'une des feuilles et il mettra en évidence en bleu et peupler où il dit «aucune valeur sélectionnée» ci-dessus. Une fois cette feuille sélectionnée, le bouton suivant s'active et vous pouvez appuyer dessus. S'il ya une feuille associée à la feuille de calcul, il vous invite alors à cela sur la fenêtre suivante. Il y a la case à cocher pour'première rangée contient des noms de champs'. Lorsque cette case est cochée, Alteryx définit la première ligne d'entrée en tant qu'informations d'en-tête de champ. Si vous laissez cette option décochée, Alteryx attribue des noms de champs en fonction de leur ordre (par exemple, 0, 1, 2). Une fois que vous sélectionnez la feuille, il devient alors actif et vous pouvez appuyer sur «done». Cela vous emmène à la fenêtre d'aperçu final. Cette fenêtre d'aperçu vous donnera une chance de «changer de feuille de calcul» si vous le souhaitez. Si vous êtes satisfait de votre sélection, vous pouvez exécuter le workflow et il vous donnera les données de cette feuille de calcul. Ecrire sur Google Sheets Similaire à l'outil d'entrée le connecteur de sortie Google Sheets vous demandera votre compte Google dans une fenêtre pop out. Une fois que vous avez connecté il vous donnera cinq options différentes: Selon votre DataSet et spreasheets en cours dans Google Sheets ce sera disctate quelle option vous choisissez. Avec toutes les autres options autres que «créer de nouvelles feuilles», il sera rempli avec des feuilles de calcul et des draps qui existent déjà dans votre compte Google Sheets. Si vous choisissez «créer une nouvelle feuille de calcul», cela vous incitera à obtenir une nouvelle feuille de calcul et un nouveau nom (voir ci-dessous). Semblable à avant une fois que vous avez créé une nouvelle feuille de calcul ou mis à jour une feuille de calcul existante, il vous donnera une fenêtre de confirmation. Si vous êtes satisfait de la fenêtre de configuration, vous pouvez maintenant exécuter le workflow et il sera écrit sur votre compte Google Sheets. Félicitations que vous avez configuré avec succès les connecteurs Google Sheets entrée et sortie!!! Trucs et astuces Si vous planifiez un workflow avec un connecteur Google Sheets, nous vous conseillons d'utiliser le'Developer login. Ceci utilisera vos informations d'identification d'API Google codées en dur et n'expirera donc pas toutes les 60 minutes. Si vous souhaitez modifier les informations d'identification, veuillez utiliser le lien hypertexte dans les deux connecteurs et vous retournerez à la page de connexion du compte Google. Erreurs courantes "erreur de délai d'exécution avec le'login de développeur" Solution La méthode d'authentification de connexion du développeur utilise l'API Google spreadsheets et peut s'avérer opportune lorsque vous essayez de télécharger des fichiers volumineux. Si vous rencontrez ce problème: Cassez une grande feuille en deux ou plusieurs plus petits draps. Utilisez un outil d'entrée Google Sheets pour chaque feuille et combinez les résultats à l'aide de l'outil Union. "l'email et le mot de passe que vous avez entré ne correspondent pas" Solution S'il vous plaît re-vérifier que vous avez les bonnes informations d'identification. Il s'agit d'une erreur Google pas une erreur Alteryx. Questions courantes Si vous avez la version 1 du connecteur d'entrée Google Sheets, lorsque vous lisez dans les données, il va changer vos types de données dans la feuille de calcul Google Sheets à «texte brut». Solution Ceci a été corrigé dans la dernière version des connecteurs Google Sheets. Veuillez re-télécharger les connecteurs. 'impossible de trouver la macro'-lors de la planification des outils Google Sheets. Solution Ainsi la raison est parce que le paquet de yxi obtient installé dans un emplacement différent sur le serveur et l'utilisateur a besoin d'enregistrer manuellement ceci est un nouveau dossier. La documentation du serveur fait référence à ce document à la page 57. En bref Voici le résumé de ce que l'utilisateur a à faire ci-dessous: Lorsqu'un outil qui est empaqueté en tant que fichier yxi est installé, l'outil est ajouté à la palette d'outils dans le concepteur et le fichier yxi et les macros de prise en charge sont installés dans le dossier Appdata/Roaming du compte de l'utilisateur. Par exemple: C:/Users//AppData/Roaming/Alteryx/Tools/. Un fichier yxi doit être installé manuellement avant qu'un workflow qui inclut cet outil puisse être exécuté. Afin qu'un package d'outils soit disponible pour les processus de Galerie et de planificateur sur un ordinateur, un administrateur de Galerie doit copier le contenu du fichier yxi dans le répertoire C:/ProgramData/Alteryx/Tools sur le serveur. Dans un environnement à plusieurs nœuds, le fichier yxi doit être ajouté à chaque ordinateur de travail de votre déploiement de serveur. Pour installer un package d'outils sur le serveur: Double-cliquez sur le fichier yxi et sélectionnez OK dans la fenêtre du programme d'installation de l'outil. Localisez le répertoire des outils utilisateur: C:/Users//AppData/Roaming/Alteryx/Tools. Copiez le dossier de l'outil à installer sur le serveur. Collez le dossier dans le répertoire suivant: C:/ProgramData/Alteryx/Tools. Alteryx charge les outils dans le concepteur à partir de ces emplacements dans l'ordre suivant: C:/Users//AppData/Roaming/Alteryx/Tools C:/ProgramData/Alteryx/Tools Alteryx installer des dossiers Si vous avez des problèmes s'il vous plaît contacter Alteryx soutien Meilleur, Jordan Barker Consultant solutions 10,5
Afficher l'article complet
Étiquettes