In diesem Connected Learning Path werden wir einen Datenextrakt aus einem System nehmen und eine Reihe von Transformationen durchführen, um die Datendatei für das Laden in ein anderes System vorzubereiten.
Primäres Lernziel | Um einige der einfachen, aber leistungsstarken Befehle des Tabular Transformation Connector hervorzuheben, die verwendet werden können, um allgemeine Transformationsanforderungen zu erfüllen |
Voraussetzungen | Konfigurieren von HTTP, File Utilitiesund Tabular Transformation Connector-Verbindungen |
Vorlage für die Unterstützungskette | CLP | Tabellarische Transformationen |
Schritt 1: Erstellen einer Kette
- Eine neue Kette hinzufügen
- Benennen Sie die Kette: CLP | Tabellarische Transformationen
- Erstellen Sie eine Kettenvariable
- Name: cv-TT-SampleData
- Wert: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Rettet die Kette
Schritt 2: Abrufen von Daten aus einem Quellsystem
Verwenden Sie den HTTP-Connector, um zu veranschaulichen, wie man Daten aus einer Datenquelle abruft, für die es keinen Workiva-Connector gibt.
- Hinzufügen eines GET-Befehls vom HTTP-Connector zum Startknoten
- Konfigurieren Sie den Befehl wie folgt:
Schritt 3: Aktualisieren der Kopfzeilen in der Datendatei
Aktualisieren Sie die Überschriften in der Datei, damit sie mit den Feldnamen des Systems übereinstimmen, in das die Datendatei nach Abschluss der Transformationen geladen wird. Der Befehl "Kopfzeilen zuordnen" ermöglicht es, den Feldnamen auf der Grundlage des Index zu aktualisieren, so dass der Befehl flexibler ist, falls sich ein Feldname in Zukunft ändert.
- Hinzufügen eines Map Headers Befehls aus dem Tabular Transformation Connector zur Kette
- Verbinden Sie den Startknoten (HTTP - Get Source System Data) mit dem Map Headers Befehl
- Bearbeiten Sie den Befehl:
- Nennen Sie den Befehl: Kopfzeilen zuordnen
- Klicken Sie auf den Parameter Eingabedatei . Das Variablenauswahlfenster öffnet sich auf der linken Seite. Erweitern Sie im Abschnitt Command den Befehl Get - Source System Data und wählen Sie den Befehl Response Output
- Lassen Sie den Parameter Ausgabedatei leer
- Aktivieren Sie das Kontrollkästchen Ergebnisvorschau
- Belassen Sie das Trennzeichen als Komma , da die Quellsystemdatendatei kommagetrennt ist
- Geben Sie im Parameter Input Headers die Zahlen Null (0) bis Sieben (7) ein, da die Datei acht Felder hat und die Listen auf Null basieren. Achten Sie darauf, dass Sie nach der Eingabe jeder Zahl die Eingabetaste drücken!
- Aktivieren Sie das Kontrollkästchen Indizes verwenden. Damit wird dem Befehl mitgeteilt, dass die Eingabeüberschriften auf der Position in der Datei und nicht auf dem tatsächlichen Spaltennamen basieren.
- Geben Sie in den Kopfzeilen der Ausgabe den Namen der neu zu erstellenden Felder an. Die Reihenfolge ist wichtig, da der erste Eintrag in der Liste den Überschriftennamen des ersten Feldes in der Quellsystemdatei ersetzt und so weiter für jeden der verbleibenden Einträge. Geben Sie die folgenden Überschriften ein und drücken Sie nach jeder Überschrift die Eingabetaste:
- Produkt
- Markt
- Monat
- Szenario
- Vertrieb
- COGS
- Ausgaben
- Betriebseinkommen
- Speichern Sie den Befehl
Schritt 4: Verschieben von Datenspalten in Zeilen
Aktualisieren Sie dann die Datendatei, um die mehreren Datenspalten in Zeilen zu transponieren und eine einzige Datenspalte zu erstellen. Dieser Vorgang wird als Unpivot bezeichnet. Der Unpivot-Vorgang passt die Daten an das erwartete Format des nachgelagerten Systems an, d. h. eine einzige Spalte mit allen Daten.
- Hinzufügen eines Unpivot Befehls aus dem Tabular Transformation Connector zur Kette
- Verbinden Sie den Befehl Map Headers mit dem Befehl Unpivot
- Bearbeiten Sie den Befehl
- Benennen Sie den Befehl: Unpivot - Maßnahmen in Zeilen verschieben
- Wählen Sie den Parameter Map Headers Output für den Parameter Input file
- Die Ausgabe der Kartenköpfe ist immer noch durch Kommas getrennt, daher lassen wir das Trennzeichen als Komma
- Wählen Sie unter dem Parameter Aggregation die Option Summe. Wenn Sie die Option Summe wählen, werden alle resultierenden Zeilen, die durch die Aufhebung des Pivots entstehen und in allen Spalten gleich sind, zu einem einzigen Datenpunkt zusammengefasst.
- Geben Sie in den Parameter New Column LabelMaßnahmenein. Dies ist die Überschrift für die neue Spalte, die erstellt und mit den Werten der Überschriften der Spalten, die freigegeben werden, gefüllt wird.
- Im Parameter Data Column Label geben Sie Amount ein
- Die Felder Data Headers, Starting Pivot Column Name, Ending Pivot Column Name, Starting Pivot Column Indexund Ending Pivot Column Index werden zur Durchführung der Pivot-Operation verwendet. Nicht alle diese Parameter müssen angegeben werden.
- Wenn Sie den Parameter Data Headers verwenden, sollten Sie die übrigen Parameter leer lassen. Mit dem Parameter Data Headers kann der Name der Spalten angegeben werden. Dieser Parameter ist nützlich für Felder, die nicht gleichzeitig/nebeneinander vorhanden sind.
- Mit den Parametern Starting/Ending Column Name kann der Name der ersten und der letzten Spalte (für einen gleichzeitigen Bereich) angegeben werden. Wenn Sie diese Parameter verwenden, müssen der Parameter Data Headers sowie der Parameter Starting/Ending Column Index leer bleiben. Wenn der Endspaltenname leer gelassen wird, wird der Unpivot für alle Felder nach (und einschließlich) dem Startspaltennamedurchgeführt.
- Mit den Parametern Starting/Ending Column Index kann die Position der ersten und letzten Spalte (für einen gleichzeitigen Bereich) angegeben werden. Wenn Sie diese Parameter verwenden, müssen der Parameter Data Headers sowie der Parameter Starting/Ending Column Name leer bleiben. Wenn der Endspaltenindex leer gelassen wird, wird der Unpivot für alle Felder nach (und einschließlich) dem Startspaltenindexdurchgeführt. Wir verwenden diese Parameter in dieser Übung.
- Geben Sie in Starting Pivot Column Index, 4ein. Dadurch wird der Befehl angewiesen, bei der fünften Spalte zu beginnen, da der Index auf Null basiert.
- Lassen Sie die Pivot-Ende-Spalte Index leer.
- Aktivieren Sie die Option Ergebnisvorschau
- Speichern Sie den Befehl
Schritt 5: Szenario aktualisieren
Ändern Sie dann den Namen des Szenarios. Dies ist ein Beispiel für eine einfache, einmalige Transformation, die sich gut für Integration Studio eignet. Umfangreichere oder komplexe Umbenennungen werden durch Data Prep erheblich vereinfacht.
- Hinzufügen eines Suchen und Ersetzen Befehls aus dem Tabular Transformation Connector zur Kette
- Verbinden Sie den Befehl Unpivot mit dem Befehl Suchen und Ersetzen
- Bearbeiten Sie den Befehl:
- Nennen Sie den Befehl: Suchen und Ersetzen - Budget mit Plan
- Wählen Sie im Parameter Input file das Pivoted Result Output from the Unpivot Command
- Lassen Sie den Parameter Ausgabedatei leer
- Aktivieren Sie das Kontrollkästchen Ergebnisvorschau
- Die unpivotierte Datei ist immer noch kommagetrennt, also geben Sie das Delimiter als Comma
- Wir werden den Text Budget finden und ihn durch den Text Plan ersetzen. Geben Sie in den Parameter SuchmusterBudgetein.
- Wählen Sie im Parameter Match Pattern Value die Option Exact
- Exakt bedeutet, dass wir nach dem gesamten Text suchen, der in den Parametern für das Suchmuster angegeben ist. Um nach Teilstrings oder Platzhaltern zu suchen, müssen wir den Mustertyp Regulärer Ausdruck (regex) verwenden.
- Im Parameter Ersatzwert geben Sie Planein. Jede Instanz des Textes Budget wird durch den Text Plan ersetzt.
- Der Parameter Replace matches only ist nicht auf exakte Übereinstimmungen anwendbar und kann als Standardeinstellung deaktiviert bleiben.
- Lassen Sie die Option Case Insensitive nicht aktiviert. Dadurch wird beim Suchen und Ersetzen zwischen Groß- und Kleinschreibung unterschieden, so dass Budget durch Plan ersetzt wird, Budget jedoch nicht.
- Die Spalte Szenario, in der sich das Suchmuster (Budget) befindet, ist in der vierten Spalte. Geben Sie in den Parameter Columns eine numerische Drei (3) ein, da der Parameter nullbasiert ist.
- Speichern Sie den Befehl
Schritt 6: Nur New Yorker Plandaten behalten
Behalten Sie dann mit dem Befehl Smart Filter nur den New Yorker Plan bei. Mit diesem intelligenten Filter können wir Bedingungen auf der Grundlage der Daten angeben, die verwendet werden, um bestimmte Zeilen aus dem Datensatz zu behalten oder zu löschen.
- Hinzufügen eines Smart Filter Rows Befehls aus dem Tabular Transformation Connector zur Kette
- Verbinden Sie den Befehl Intelligente Filterzeilen mit dem Befehl Suchen und Ersetzen
- Bearbeiten Sie den Befehl:
- Nennen Sie den Befehl: Smart Filter Rows - Nur New York Plan
- Wählen Sie im Parameter Eingabedatei die Suchen & Ersetzen Ausgabe aus dem Befehl Suchen und Ersetzen
- Lassen Sie den Parameter Ausgabedatei leer
- Geben Sie Komma als Trennzeichen an
- Im Abschnitt Filter gibt es die Möglichkeit, Text, Zahlund Datum zu filtern. Es können mehrere Filterbedingungen angegeben werden. Wenn Sie Filter auf verschiedene Typen (Text, Zahl, Datum) anwenden, muss der Operator oben links entsprechend angegeben werden. Wenn mehrere Bedingungen innerhalb eines bestimmten Typs (z. B. Text) angewendet werden, muss der Operator für diesen Filtertyp angegeben werden.
- In dieser Übung werden wir textbasierte Filter anwenden, sodass der globale Operator entweder und oder odersein kann.
- Falls erforderlich, setzen Sie den allgemeinen Operator auf AND
- Klicken Sie auf die Schaltfläche Hinzufügen in den Filtern Text
- Geben Sie in den Parameter Column nameScenario ein
- Groß-/Kleinschreibung nicht markieren
- Wählen Sie in der Dropdown-Liste BedingungGleich
- Geben Sie in den Parameter Compare TextActual ein
- Lassen Sie die Kontrollkästchen Not und Trim unmarkiert
- Dieser Filter wird verwendet, um alle Datensätze zu entfernen, bei denen das Feld Szenario den Wert enthält
- Klicken Sie im Bereich Textfilter erneut auf die Schaltfläche Hinzufügen
- Setzen Sie den Textfilter-Operator auf OR
- Wählen Sie die Kombination OR, um sowohl Actual als auch New York herauszufiltern
- Geben Sie in der zweiten Bedingung Market als Column Name an
- Setzen Sie die Bedingung auf Gleich
- Geben Sie den Compare Text als New York an
- Schließlich, und überprüfen Sie die Nicht Option
- Setzen Sie den Textfilter-Operator auf OR
- Lassen Sie die Option Ergebnisvorschau aktiviert
- Falls erforderlich, setzen Sie den allgemeinen Operator auf AND
- In dieser Übung werden wir textbasierte Filter anwenden, sodass der globale Operator entweder und oder odersein kann.
- Mit der Option "Invers" kann der Smart-Filter alle Zeilen, die den Filterkriterien entsprechen, entweder behalten (markiert) oder entfernen (nicht markiert). In dieser Übung wollen wir alle Zeilen entfernen, in denen das Szenario gleich Actual oder der Markt nicht gleich New York ist. Um dies zu erreichen, deaktivieren wir die Option Inverse .
- Speichern Sie den Befehl
Schritt 7: Hinzufügen einer Jahresspalte
Fügen Sie schließlich dem Datensatz eine zusätzliche Spalte hinzu, um das Jahr der Daten zu kennzeichnen.
- Hinzufügen eines Befehls "Spalte einfügen" vom Tabular Transformation Connector zur Kette
- Verbinden Sie den Befehl "Spalte einfügen" mit dem Befehl "Intelligente Filterzeilen
- Bearbeiten Sie den Befehl und konfigurieren Sie ihn wie folgt:
Name | Spalte einfügen - Planjahr |
Eingabe-Datei | Intelligente Filterreihenausgabe |
Ausgabe-Datei | <leerlassen> |
Vorschau Ergebnisse | Geprüft |
Deliimiter | Komma |
Überschrift Text | Jahr |
Daten Wert | 2022 |
Index einfügen | 3 |
- Speichern Sie den Befehl
Schritt 8: Testen Sie die Übung
Testen Sie nun, nachdem die Kette vollständig ist, das Ergebnis.
- Veröffentlichen die Kette
- Klicken Sie auf Ausführen und wählen Sie dann Run Chain
- Sobald die Kette abgeschlossen ist, klicken Sie auf den Knoten Spalte einfügen - Planjahr
- Bestätigen Sie auf der Registerkarte "Ausgaben", dass 385 Datensätze ausgegeben wurden
- Klicken Sie auf die Registerkarte "Protokolle" und bestätigen Sie die Daten wie in der folgenden Abbildung dargestellt
Registerkarte "Ausgabe
Registerkarte "Protokolle
Um mehr über die Datentransformation mit Hilfe von Chains zu erfahren, schauen Sie sich die Connected Learning Paths - Transformation Introductionan!