Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'index11-05-2018 08:08 PM - modifié 03-05-2019 10:54 AM
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