I denna Connected Learning Path tar vi ett datautdrag från ett system och utför ett antal omvandlingar för att förbereda datafilen för inläsning i ett annat system.
| Primärt lärandemål | För att belysa några av de enkla men kraftfulla kommandona i Tabular Transformation Connector som kan användas för att tillgodose vanliga transformationsbehov |
| Förkunskapskrav | Konfigurera HTTP, File Utilities, och Tabular Transformation Connector Connections |
| Mall för supportkedja | CLP | Tabulära transformationer |
Steg 1: Skapa en kedja
- Lägg till en ny kedja
- Namnge kedjan: CLP | Tabulära transformationer
- Skapa en kedjevariabel
- Namn: cv-TT-SampleData
- Värde: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Rädda kedjan
Steg 2: Hämta data från ett källsystem
Använd HTTP Connector för att illustrera hur du hämtar data från en datakälla för vilken det inte finns någon Workiva Connector.
- Lägg till ett GET-kommando från HTTP Connector till startnoden
- Konfigurera kommandot med följande:
Steg 3: Uppdatera rubrikerna i datafilen
Uppdatera rubrikerna i filen så att de stämmer överens med fältnamnen i det system som datafilen ska laddas till efter att omvandlingarna har slutförts. Med kommandot Map Headers kan vi uppdatera fältnamnet baserat på indexet, vilket gör kommandot mer flexibelt om ett fältnamn skulle ändras i framtiden.
- Lägg till en Map Rubriker Kommando från Tabular Transformation Connector till kedjan
- Anslut startnoden (HTTP - Hämta källsystemdata) till Kartlägg rubriker Kommando
- Redigera kommandot:
- Namnge kommandot: Kartlägga rubriker
- Klicka på parametern Input file. Fönstret för val av variabel öppnas till vänster. I avsnittet Command expanderar du Get - Source System Data Command och väljer Response Output
- Lämna parametern Utdatafil tom
- Markera rutan för Resultat av förhandsgranskning
- Lämna Avgränsare som Komma eftersom källsystemets datafil är kommaseparerad
- I parametern Input Headers anger du numeriska noll (0) till sju (7) eftersom filen har åtta fält och listorna är nollbaserade. Var noga med att trycka på Enter-tangenten efter att du har skrivit in varje siffra!
- Kryssa i rutan för Använd index. Detta talar om för kommandot att Input Rubriker baseras på position i arkiveringen snarare än på det faktiska kolumnnamnet.
- I rubrikerna för utdata anger du namnet på de nya fält som ska skapas. Ordningen är viktig eftersom den första posten i listan ersätter namnet på rubriken för det första fältet i källsystemets arkivering och så vidare för var och en av de återstående posterna. Skriv följande rubriker och tryck på Enter-tangenten efter varje:
- Produkt
- Marknad
- Månad
- Scenario
- Försäljning
- COGS
- Kostnader
- Rörelseintäkter
- Spara kommandot
Steg 4: Flytta datakolumner till rader
Uppdatera sedan datafilen för att transponera de flera datakolumnerna till rader för att skapa en enda datakolumn. Denna operation kallas för en unpivot. Unpivot-operationen anpassar data till det förväntade formatet, en enda kolumn som innehåller alla data, i nedströmssystemet.
- Lägg till en Unpivot Command från Tabular Transformation Connector till kedjan
- Anslut kommandot Map Headers till kommandot Unpivot
- Redigera kommandot
- Namnge kommandot: Unpivot - Flytta mått till rader
- Välj Map Headers Output för Input file parameter
- Utdata för kartans rubriker är fortfarande kommaseparerade så vi lämnar Avgränsare som Komma
- I parametern Aggregation väljer du Sum. När du väljer Sum kommer alla resulterande rader som skapas av unpivot och som är desamma i alla kolumner att aggregera datavärdena till en enda datapunkt.
- I parametern New Column Label skriver du Measures. Detta är rubriken för den nya kolumnen som kommer att skapas och fyllas med rubrikvärdena från de kolumner som tas bort.
- I parametern Data Column Label anger du Amount
- Fälten Data Headers, Starting Pivot Column Name, Ending Pivot Column Name, Starting Pivot Column Index, och Ending Pivot Column Index används för att utföra pivoten. Alla dessa parametrar behöver inte specificeras.
- Om du använder parametern Data Headers ska de återstående parametrarna lämnas tomma. Parametern Data Headers gör det möjligt att ange namnet på kolumnerna. Denna parameter är användbar för fält som inte är samtidiga eller ligger sida vid sida.
- Parametrarna Starting/Ending Column Name gör det möjligt att ange namnet på den första och sista kolumnen (för ett parallellt intervall). Om dessa parametrar används måste parametrarna Data Headers samt Starting/Ending Column Index lämnas tomma. Om Slutkolumnnamn lämnas tomt, kommer unpivot att utföras för alla fält efter (och inklusive) Startkolumnnamn.
- Parametrarna Starting/Ending Column Index gör det möjligt att ange positionen för den första och sista kolumnen (för ett parallellt intervall). Om dessa parametrar används måste parametrarna Data Headers samt Starting/Ending Column Name lämnas tomma. Om Ending Column Index lämnas tomt, kommer unpivot att utföras för alla fält efter (och inklusive) Starting Column Index. Vi använder dessa parametrar i denna övning.
- I Starting Pivot Column Index skriver du 4. Detta säger till kommandot att pivoten ska börja vid den femte kolumnen eftersom indexet är nollbaserat.
- Lämna Avslutande pivotkolumn Index tomt.
- Markera alternativet Förhandsgranskning av resultat
- Spara kommandot
Steg 5: Uppdatera scenariot
Ändra sedan namnet på scenariot. Här illustreras en enkel engångstransformation som lämpar sig väl för Integration Studio. Mer omfattande eller komplexa namnändringar effektiviseras avsevärt av Data Prep.
- Lägg till en Sök och ersätt Kommando från Tabular Transformation Connector till kedjan
- Anslut kommandot Unpivot till kommandot Find and Replace
- Redigera kommandot:
- Namnge kommandot: Hitta och ersätt - Budget med plan
- I parametern Input file väljer du Pivotted Result Output from the Unpivot Command
- Lämna parametern Output file tom
- Markera rutan för Resultat av förhandsgranskning
- Den oavgränsade arkiveringen är fortfarande kommaseparerad så ange Avgränsare som Komma
- Vi kommer att hitta texten Budget och ersätta den med texten Plan. I parametern Hitta mönster anger du Budget.
- I parametern Match Pattern Value väljer du Exact
- Exakt innebär att vi söker efter hela den text som anges i parametrarna för sökmönstret. För att söka efter substrängar eller jokertecken måste vi använda mönstertypen Regular Expression (regex).
- I parametern Replacement Value anger du Plan. Varje förekomst av texten Budget kommer att ersättas med texten Plan.
- Parametern Replace matches only är inte tillämplig på exakta matchningar och kan lämnas omarkerad eftersom den är standard.
- Låt alternativet Case Insensitive vara avmarkerat. Detta gör sök- och ersättningsfunktionen skiftlägeskänslig så att Budget kommer att ersättas av Plan men budget kommer inte att göra det.
- Scenario-kolumnen där Find Pattern (Budget) finns i den fjärde kolumnen. I parametern Columns anger du en numerisk trea (3) eftersom parametern är nollbaserad.
- Spara kommandot
Steg 6: Behåll endast data från New York-planen
Därefter behåller du bara New Yorks plan med hjälp av kommandot Smart Filter. Med detta smarta filter kan vi ange villkor baserade på de data som ska användas för att behålla eller ta bort vissa rader från datauppsättningen.
- Lägg till ett Smart Filter Rows -kommando från Tabular Transformation Connector till kedjan
- Anslut kommandot Smart Filter Rows till kommandot Hitta och ersätt
- Redigera kommandot:
- Namnge kommandot: Smarta filterrader - endast för New York-planen
- I parametern Input file väljer du Find & Replace Output från kommandot Find and Replace
- Lämna parametern Output file tom
- Ange Komma som Avgränsare
- I avsnittet Filter finns det möjlighet att Text, Nummer och Datum filter. Flera filtervillkor kan anges. Om du använder filter för olika typer (Text, Number, Date) måste operatören längst upp till vänster anges i enlighet med detta. Om du använder flera villkor inom en viss typ (t.ex. Text) måste operatören för den filtertypen anges.
- I den här övningen kommer vi att använda textbaserade filter så att den globala operatören kan vara antingen och eller eller.
- Om nödvändigt, ställ in General Operator till AND
- Klicka på knappen Lägg till på Text filter
- I parametern Kolumnnamn anger du Scenario
- Lämna Case Insensitive avmarkerat
- Välj Equals i rullgardinsmenyn Condition
- I parametern Compare Text anger du Actual
- Låt kryssrutorna Not och Trim vara avmarkerade
- Detta filter kommer att användas för att ta bort alla poster där fältet Scenario innehåller ett värde på Actual
- Klicka på knappen Lägg till igen i avsnittet Textfilter
- Ställ in textfilteroperatorn till ELLER
- Välj OR-kombinationen för att filtrera bort både Actual och New York
- I det andra villkoret anger du Market som Kolumnnamn
- Ställ in villkoret till Equals
- Ange Jämför text som New York
- Slutligen, och kontrollera alternativet Inte
- Ställ in textfilteroperatorn till ELLER
- Låt alternativet Förhandsgranskning av resultat vara markerat
- Om nödvändigt, ställ in General Operator till AND
- I den här övningen kommer vi att använda textbaserade filter så att den globala operatören kan vara antingen och eller eller.
- Med alternativet Inverse kan Smart Filter antingen behålla (markerat) eller ta bort (avmarkerat) alla rader som matchar filterkriterierna. I den här övningen vill vi ta bort alla rader där Scenario är lika med Actual eller Market inte är lika med New York. För att uppnå detta avmarkerar vi alternativet Inverse.
- Spara kommandot
Steg 7: Lägg till en årskolumn
Slutligen lägger du till en extra kolumn i datauppsättningen för att ange årtalet för uppgifterna.
- Lägg till ett Insert Column-kommando från Tabular Transformation Connector till kedjan
- Koppla kommandot Insert Column till kommandot Smart Filter Rows
- Redigera kommandot och konfigurera med följande:
| Namn | Infoga kolumn - Planår |
| Inmatningsfil | Smart filter radutgång |
| Utmatningsfil | <leave> |
| Resultat av förhandsgranskning | Markerad |
| Deliimiter | Komma |
| Rubrik Text | År |
| Datavärde | 2022 |
| Infoga index | 3 |
- Spara kommandot
Steg 8: Testa övningen
Nu när kedjan är klar kan du testa resultatet.
- Publicera kedjan
- Klicka på Execute och välj sedan Run Chain
- När kedjan har slutförts klickar du på noden Infoga kolumn - Planår
- På fliken Utdata, bekräfta att 385 poster var utdata
- Klicka på fliken Loggar och bekräfta uppgifterna enligt bilden nedan
Fliken Utmatning
Fliken Loggar
Om du vill lära dig mer om datatransformation med hjälp av kedjor kan du kolla in Connected Learning Paths - Transformation Introduction!