Einlesen mehrerer Dateien mit unterschiedlichen Feldschemas
Dieser Artikel ist Teil einer Reihe zum Thema CS-Makroentwicklung. Die Artikel in dieser Reihe vermitteln Tipps, Tricks und den Denkansatz für die Entwicklung guter, dynamischer Makros.
Das Verzeichnis-Tool ist sehr hilfreich zum Einlesen mehrerer Dateien aus einem Ordner, entweder auf Ihrem lokalen Laufwerk oder an einem Netzwerkspeicherort. Sobald Sie eine Liste der Pfade haben, können Sie das dynamische Tool verwenden oder ein Batch-Makro erstellen, um die Dateien einzulesen.
Das dynamische Eingabetool ist hilfreich, wenn sämtliche Dateien dasselbe Feldschema verwenden.
Bei unterschiedlichen Feldschemas werden jedoch die folgenden Warnungen angezeigt, wenn Sie das dynamische Eingabetool verwenden, um die gesamten Dateipfade einzulesen.
In diesem Fall können Sie ein einfaches Batch-Makro erstellen und mehrmals ausführen, um mehrere Dateien gleichzeitig einzulesen.
Der Makro-Inhalt – Erstellen Sie zunächst Ihren Workflow.
1) Fügen Sie ein Eingabetool hinzu und wählen Sie eine der Dateien aus, die Sie einlesen möchten. In diesem Beispiel verwende ich .xlsx-Dateien, aber Sie können beliebige Dateiformate zum Einlesen auswählen. Achten Sie jedoch darauf, dass alle einzulesenden Dateien dasselbe Dateiformat haben.
2) Fügen Sie einen Steuerungsparameter über Ihrem Eingabetool hinzu. Auf diese Weise können Sie die Dateipfade einzeln von außerhalb des Makros übergeben. Für dieses Tool ist keine Konfiguration erforderlich.
3) Ziehen Sie eine Verbindung vom „Q“ des Steuerungsparameters zum Blitzsymbol im Eingabetool. Daraufhin wird ein Aktionstool hinzugefügt. Heben Sie den Dateipfad im Konfigurationsfenster für das Aktionstool hervor.
Daraufhin wird der Pfad zur Option „Spezifische Zeichenfolge ersetzen“ am Ende des Konfigurationsfensters hinzugefügt. Dies bedeutet, dass der an Ihren Steuerungsparameter übergebene Wert diese Zeichenfolge im Eingabetool ersetzt.
4) Fügen Sie eine Makroausgabe zum Eingabetool hinzu. Diese Ausgabe leitet die Daten aus dem Makro zurück in Ihren ursprünglichen Workflow.
Navigieren Sie zu „Ansicht -> Schnittstellendesigner“ und klicken Sie auf das Zahnradsymbol links im Schnittstellendesigner.
Ändern Sie die Option für den Ausgabemodus wie folgt:
- Automatisch nach Namen konfigurieren (warten, bis alle Iterationen ausgeführt werden) – Automatisch nach Namen konfigurieren vereint alle Felder mit dem gleichen Namen.
- Automatisch nach Position konfigurieren (warten, bis alle Iterationen ausgeführt werden) – Automatisch nach Position konfigurieren Feld 1 usw. an derselben Position für alle eingelesenen Dateien.
Damit haben Sie die Warnungen entfernt, die bei der dynamischen Eingabe angezeigt wurden.
Makro in den Workflow einfügen
1) „Datei -> Speichern unter“ – Speichern Sie das Makro an einem Ort, auf den Sie Zugriff haben. Alteryx weiß, dass es sich um einen Makro-Workflow handelt, da Sie einen Steuerungsparameter und eine Makroausgabe hinzugefügt haben.
2) Klicken Sie anschließend in einem neuen Canvas mit der rechten Maustaste auf den Canvas und dann auf „Einfügen -> Makro“.
3) Falls Sie eine Liste von Dateien einlesen, können Sie das Verzeichnis-Tool verwenden, um auf den Ordner mit den Dateien zuzugreifen.
4) Da ich in diesem Beispiel .xslx-Dateien verwende, muss ich die Blattnamen für die einzelnen Dateien hinzufügen. Für andere Dateitypen können Sie diesen Schritt auslassen.
5) Konfigurieren Sie anschließend den Steuerungsparameter und wählen Sie „Vollständiger Pfad“ aus.
Ich habe einen Beispiel-Workflow (Version 11.0) angehängt, den Sie als Vorlage verwenden können.
Falls Sie ein Batch-Makro erstellen möchten, finden Sie ein hervorragendes Video auf unserer Seite mit Schulungsvideos auf Abruf: http://www.alteryx.com/on-demand-training
*Dieses Makro wurde zwar getestet, funktioniert aber unter Umständen nicht in allen Szenarien. Hinterlassen Sie einen Kommentar zu diesem Beitrag und ich helfe Ihnen gerne.
Viele Grüße,
Jordan Barker
Kundenberater
Vollständigen Artikel anzeigen