In dit Aangesloten Leerpad nemen we een gegevensextract uit een systeem en voeren we een aantal transformaties uit om het gegevensbestand voor te bereiden voor het laden in een ander systeem.
| Primair leerdoel | Enkele van de eenvoudige, maar krachtige opdrachten van de Tabular Transformation Connector die gebruikt kunnen worden voor veelvoorkomende transformatiebehoeften onder de aandacht brengen |
| Vereisten | Configureer HTTP, Bestandshulpprogramma's, en Tabulaire transformatie Connectorverbindingen |
| Sjabloon voor ondersteunende keten | CLP | Tabulaire transformaties |
Stap 1: Maak een ketting
- Een nieuwe ketting toevoegen
- Geef de Chain een naam: CLP | Tabulaire Transformaties
- Maak een kettingvariabele
- Naam: cv-TT-SampleData
- Waarde: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Red de Ketting
Stap 2: Gegevens ophalen uit een bronsysteem
Gebruik de HTTP Connector om te illustreren hoe u gegevens kunt ophalen uit een gegevensbron waarvoor geen Workiva Connector bestaat.
- Een GET-commando van de HTTP-connector aan het Start-knooppunt toevoegen
- Configureer het commando met het volgende:
Stap 3: Werk de kopteksten in het gegevensbestand bij
Werk de kopteksten in het bestand bij zodat ze overeenkomen met de veldnamen van het systeem waarin het gegevensbestand geladen zal worden nadat de transformaties voltooid zijn. Met de opdracht Map Headers kunnen we de veldnaam bijwerken op basis van de index, waardoor de opdracht flexibeler is voor het geval dat een veldnaam in de toekomst verandert.
- Voeg een opdracht Map Headers van de Tabular Transformation Connector toe aan de ketting
- Verbind het Startknooppunt (HTTP - Haal bronsysteemgegevens op) met de opdracht Map Headers
- Bewerk de opdracht:
- Geef het commando een naam: Kaartkoppen
- Klik op de parameter Invoerbestand. Het deelvenster Variabele selecteren wordt links geopend. Vouw in het gedeelte Opdracht de opdracht Get - Source System Data uit en selecteer Response Output
- Laat de parameter Uitvoerbestand leeg
- Schakel het selectievakje in voor Voorbeeldresultaten
- Laat het scheidingsteken staan als Komma omdat het bestand met bronsysteemgegevens door komma's wordt gescheiden
- Voer in de parameter Input Headers numerieke nul (0) tot en met zeven (7) in, aangezien het bestand acht velden heeft en lijsten op nul gebaseerd zijn. Zorg ervoor dat u op de Enter-toets drukt na het typen van elk nummer!
- Schakel het selectievakje in op Indexen gebruiken. Dit vertelt het Commando dat de Input Headers gebaseerd zijn op de positie in het bestand en niet op de eigenlijke kolomnaam.
- Geef in de uitvoerkoppen de naam op van de nieuwe velden die moeten worden aangemaakt. De volgorde is van belang omdat de eerste vermelding in de lijst de kopnaam van het eerste veld in het bronsysteembestand zal vervangen, enzovoort voor elk van de resterende vermeldingen. Typ de volgende koppen en druk op de Enter-toets na elke kop:
- Product
- Markt
- Maand
- Scenario
- Verkoop
- COGS|KVG
- Uitgaven
- Bedrijfsopbrengsten
- De opdracht opslaan
Stap 4: Gegevenskolommen naar rijen verplaatsen
Werk vervolgens het gegevensbestand bij om de meerdere kolommen met gegevens om te zetten in rijen, zodat er één enkele gegevenskolom ontstaat. Deze bewerking wordt een unpivot genoemd. De unpivot-bewerking lijnt de gegevens uit in de verwachte indeling, een enkele kolom die alle gegevens bevat, van het downstreamsysteem.
- Een opdracht Unpivot van de Tabular Transformation Connector aan de ketting toevoegen
- Verbind de opdracht Kopteksten in kaart met de opdracht uitpivoteren
- De opdracht bewerken
- Geef het commando een naam: Unpivot - Metingen naar rijen verplaatsen
- Selecteer de parameter Map Headers Output voor de parameter Inputbestand
- De uitvoer van de Map Headers is nog steeds komma-gedefinieerd, dus we laten het scheidingsteken staan als Komma
- Selecteer in de parameter Aggregatie de parameter Som. Als u Som kiest, zullen alle resulterende rijen die door de unpivot worden gecreëerd en die hetzelfde zijn in alle kolommen, de gegevenswaarden samenvoegen tot één gegevenspunt.
- Voer in de parameter New Column Label Maatregelen in. Dit is de koptekst voor de nieuwe kolom die zal worden aangemaakt en gevuld met de koptekstwaarden van de kolommen die worden losgekoppeld.
- Voer in de parameter Data Column Label Bedrag in
- De velden Data Headers, Starting Pivot Column Name, Ending Pivot Column Name, Starting Pivot Column Index, en Ending Pivot Column Index worden gebruikt om de draaitransactie uit te voeren. Niet al deze parameters hoeven gespecificeerd te worden.
- Als u de parameter Data Headers gebruikt, dan moeten de overige parameters leeg blijven. Met de parameter Data Headers kunt u de naam van de kolommen opgeven. Deze parameter is nuttig voor velden die niet gelijktijdig/naast elkaar liggen.
- Met de parameters Starting/Endding Column Name kunt u de naam van de eerste en laatste kolom (voor een gelijktijdig bereik) opgeven. Als u deze parameters gebruikt, moeten de parameter Data Headers en de parameter Starting/Ending Column Index leeg blijven. Als de Eindkolomnaam leeg wordt gelaten, wordt de afsplitsing uitgevoerd voor alle velden na (en inclusief) de Beginkolomnaam.
- Met de parameters Starting/Ending Column Index kan de positie van de eerste en laatste kolom (voor een gelijktijdig bereik) worden opgegeven. Als u deze parameters gebruikt, moeten de parameter Data Headers en de parameter Starting/Endding Column Name leeg blijven. Als de Ending Column Index leeg wordt gelaten, wordt de afsplitsing uitgevoerd voor alle velden na (en inclusief) de Starting Column Index. We gebruiken deze parameters in deze oefening.
- Voer in het veld Starting Pivot Column Index, 4 in. Dit vertelt het commando om vanaf de vijfde kolom te pivoteren, omdat de index op nul is gebaseerd.
- Laat de Ending Pivot Column Index leeg.
- Vink de optie Resultaten bekijken aan
- De opdracht opslaan
Stap 5: Scenario bijwerken
Wijzig vervolgens de naam van het scenario. Dit illustreert een eenvoudige, eenmalige transformatie die zich goed leent voor Integration Studio. Uitgebreidere of complexe hernoemtransformaties worden aanzienlijk gestroomlijnd door Data Prep.
- Een opdracht Zoeken en vervangen van de Tabular Transformation Connector aan de ketting toevoegen
- Verbind de opdracht Unpivot met de opdracht Zoeken en vervangen
- Bewerk de opdracht:
- Noem de opdracht: Zoeken en vervangen - Budget met Plan
- Selecteer in de parameter Invoerbestand de parameter Gekanteld resultaat Uitvoer van het Unpivot-commando
- Laat de parameter Uitvoerbestand leeg
- Schakel het selectievakje in voor Voorbeeldresultaten
- Het niet-aangesloten bestand is nog steeds komma-gedefinieerd, dus geef de Delimiter op als Komma
- We gaan de tekst Budget vinden en vervangen door de tekst Plan. Voer in de parameter Zoekpatroon Budget in.
- Selecteer in de parameter Match Pattern Value, Exact
- Exact betekent dat we zoeken naar de volledige tekst die is opgegeven in de parameters van het zoekpatroon. Om naar subtekenreeksen of jokertekens te zoeken, moeten we het patroontype Reguliere expressie (regex) gebruiken.
- Voer in de parameter Vervangingswaarde Plan in. Elk geval van de tekst Budget wordt vervangen door de tekst Plan.
- De parameter Alleen vervangen is niet van toepassing op exacte overeenkomsten en kan worden uitgeschakeld omdat dit de standaard is.
- Laat de optie Case Insensitive uitgevinkt. Dit maakt het zoeken en vervangen hoofdlettergevoelig, zodat Budget wordt vervangen door Plan, maar budget niet.
- De Scenario-kolom waarin het Zoekpatroon (Budget) zich in de vierde kolom bevindt. Voer in de parameter Kolommen een numerieke drie (3) in, aangezien de parameter op nul is gebaseerd.
- De opdracht opslaan
Stap 6: Bewaar alleen de gegevens van het New York Plan
Bewaar vervolgens alleen het plan van New York met de opdracht Slim filter. Met deze Smart Filter kunnen we voorwaarden opgeven op basis van de gegevens die zullen worden gebruikt om bepaalde rijen uit de gegevensset te behouden of te verwijderen.
- Voeg een opdracht Smart Filter Rows van de Tabular Transformation Connector toe aan de ketting
- Verbind de opdracht Smart Filter Rows met de opdracht Zoeken en vervangen
- Bewerk de opdracht:
- Geef de opdracht een naam: Slimme filterrijen - alleen plan New York
- Selecteer in de parameter Invoerbestand de uitvoer Zoeken & vervangen van de opdracht Zoeken en vervangen
- Laat de parameter Uitvoerbestand leeg
- Geef Komma op als scheidingsteken
- In het gedeelte Filters kunt u Tekst, Aantal en Datum filteren. Er kunnen meerdere filtervoorwaarden worden opgegeven. Als u filters toepast op verschillende typen (Tekst, Getal, Datum), dan moet de Operator linksboven dienovereenkomstig worden gespecificeerd. Als u meerdere voorwaarden toepast binnen een bepaald type (bijv. Tekst), dan moet de Operator voor dat filtertype worden opgegeven.
- In deze oefening passen we op tekst gebaseerde filters toe, zodat de globale operator en of of kan zijn.
- Stel indien nodig de General Operator in op AND
- Klik op de knop Toevoegen op de filters Tekst
- Voer in de parameter Kolomnaam Scenario in
- Laat hoofdlettergevoeligheid uitgevinkt
- Selecteer in de vervolgkeuzelijst Voorwaarde, Gelijk aan
- Voer in de parameter Vergelijkingstekst in
- Laat de selectievakjes Niet en Trim uitgeschakeld
- Dit filter wordt gebruikt om alle records te verwijderen waarin het veld Scenario de waarde bevat
- Klik nogmaals op de knop Toevoegen in het gedeelte Tekstfilters
- Stel de Tekstfilter Operator in op OR
- Selecteer de OF-combinatie om zowel Actual als New York uit te filteren
- Geef in de tweede voorwaarde Market op als de kolomnaam
- Stel de voorwaarde in op Gelijk aan
- Geef de Vergelijkingstekst op als New York
- Controleer ten slotte de optie Niet
- Stel de Tekstfilter Operator in op OR
- Laat de optie Voorbeeldresultaat aangevinkt
- Stel indien nodig de General Operator in op AND
- In deze oefening passen we op tekst gebaseerde filters toe, zodat de globale operator en of of kan zijn.
- Met de optie Omgekeerd kan het slimme filter alle rijen die aan de filtercriteria voldoen behouden (aangevinkt) of verwijderen (niet aangevinkt). In deze oefening willen we alle rijen verwijderen waarin het Scenario gelijk is aan Werkelijk of de Markt niet gelijk is aan New York. Om dit te bereiken, halen we het vinkje weg bij de optie Inverse.
- De opdracht opslaan
Stap 7: Een jaarkolom toevoegen
Voeg tot slot een extra kolom toe aan de gegevensset om het Jaar van de gegevens aan te geven.
- Een opdracht Kolom invoegen van de Tabular Transformation Connector aan de ketting toevoegen
- De opdracht Kolom invoegen verbinden met de opdracht Rijen slim filteren
- Bewerk het commando en configureer met het volgende:
| Naam | Kolom invoegen - Plan Jaar |
| Invoerbestand | Smart Filter Rij Uitgang |
| Uitvoerbestand | <laat leeg> |
| Voorbeeld resultaten | Gecontroleerd |
| Deliimiter | Komma |
| Koptekst | Jaar |
| Gegevenswaarde | 2022 |
| Index invoegen | 3 |
- De opdracht opslaan
Stap 8: De oefening testen
Nu de Chain compleet is, kunt u het resultaat testen.
- Publiceer de keten
- Klik op Uitvoeren en selecteer vervolgens Keten uitvoeren
- Zodra de ketting is voltooid, klikt u op het knooppunt Kolom invoegen - Planjaar
- Bevestig op het tabblad Uitvoer dat 385 records zijn uitgevoerd
- Klik op het tabblad Logs en bevestig de gegevens volgens onderstaande afbeelding
Tabblad uitvoer
Tabblad Logboeken
Om meer te leren over datatransformatie met behulp van Chains, kunt u de Connected Learning Paths - Transformation Introduction bekijken!