Bakgrund
När vi orkestrerar rapporteringsprocesser med hjälp av Data Management Suite stöter vi ofta på komplexa arbetsflödesscenarier. En applikation kan till exempel behöva köras:
- Ett enda arbetsflöde flera gånger med olika indata
- Flera olika arbetsflöden
- Flera parallella arbetsflöden, vart och ett med specifika ingångar
- Arbetsflöden för integration av källsystem som kräver specifika parametrar, t.ex. datum, arkivering eller regelnamn
För att effektivt automatisera och hantera dessa invecklade arbetsflödeskrav visar sig konceptet med en Control Sheet vara ovärderligt. En Control Sheet fungerar som ett centraliserat hanteringsverktyg som gör det möjligt att i förväg definiera indata för varje arbetsflöde. Genom att använda Control Sheets kan användarna ange de parametrar och villkor som varje arbetsflöde ska arbeta under, vilket underlättar en sömlös, automatiserad process som kör alla nödvändiga arbetsflöden med lämpliga indata utan behov av manuella ingrepp i varje steg.
Genom att skapa och utnyttja en Control Sheet kan användarna:
- Definiera indatavärden som ska skickas till en kedja vid varje exekvering
- Definiera flaggor som avgör om en kedja ska utföra vissa operationer
- Skicka värden, t.ex. frågeparametrar, regelnamn eller datumfilter, till systemets arbetsflöde när du kör en kedja eller en regel.
- Utföra delar av Roll-forward-operationer
- Hantera ID:n för artefakter inom Workiva
- Logga ett arbetsflödes genomförandestatus
Den här artikeln guidar användare genom processen att skapa en enkel kontroll ark. Den här arken gör det möjligt för användare att köra samma arbetsflöde med olika uppsättningar av indata.
Förkunskapskrav
- Konfigurera Workiva Connector
- Konfigurera JSON-anslutning
- Konfigurera Styrets kontaktdon
Steg 1: Upprätta en kontrollark
- Skapa ett kalkylark i Workiva-plattformen
- Tilldela äganderätt till den användare som är associerad med beviljandet OAuth2.
- Byt namn på kalkylarket och arket som
- Kalkylark för kontroll
- Kontroll ark
Steg 2: Ställa in rubriker (nycklar) för kontrollarket
Skapa rubriker för varje värde som ska bearbetas av Chain-arbetsflödet. I det här exemplet är följande rubriker inställda:
- Active_Flag: För att avgöra om denna rad ska bearbetas eller inte
- Filnamn: Namn på filen som ska bearbetas
- Table_ID: ID för Wdata-tabellen där filen ska importeras
Steg 3: Tilldela värden till rubrikerna i kontrollarket
- I det här exemplet har tre värden definierats för varje nyckel/värde-par. När varje rad läses kommer därför följande data att matas in:
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1988929e4358858306956685e162
true, file_z.csv, df2a1988929e4358858306956685e162
Steg 4: Skapa en kedja för att hämta data från kontrollarket
För att kunna hämta kontrolluppgifterna från kalkylarket måste en kedja skapas för att läsa kalkylarket.
- Navigera till Chains-modulen och skapa en ny kedja
- Navigera till kedjeinställningarna och namnge din nya kedja Get Control Sheet Data
- Lägg till två kedjevariabler variabler:
- cv-SpreadsheetID
- cv-bladets namn
- Fyll i varje variabel med motsvarande SpreadsheetID och SheetName-värden från ditt kontrollark.
Steg 5: Hämta uppgifter om arket
För att kunna använda data i ditt kontrollark måste du använda kommandot Get Sheet Data. Kommandot läser innehållet från ett ark i ett kalkylark och producerar en .csv utdata.
- Dra och släpp kommandot Workiva Get Sheet Data till avsnittet START i Canvas
- Konfigurera kommandot
- Byt namn på Få kontroll över ark Data
- Använd kedjevariabeln cv-SpreadsheetID för fältet ID för kalkylark
- Använd kedjevariabeln cv-SheetName för fältet Arkets ID/Namn
- Ange A1: för regionen
- Lämna Value Style och Revision som Beräknat och -1
- Klicka på Spara
Steg 6: Konvertera data från ark till JSON
När du har hämtat data från kontrollarket i .csv-format är nästa steg att konvertera det till JSON. Denna konvertering säkerställer att rubrikerna och kolumnvärdena omformateras korrekt till JSON Key-Value -strukturen. Detta format är avgörande för de steg som följer.
- Dra kommandot CSV till JSON till Canvas
- Länka kommandot Get Control Sheet Data till kommandot CSV to JSON
- Redigera kommandot CSV till JSON
- I fältet Input File, använd utgången Data från rullgardinsmenyn Get Control Sheet Data
- Lämna avgränsningsfältet som kommatecken (,)
- Klicka på Spara
Steg 7: Iterera genom JSON-data
Nu när kontrollarkets data är i JSON-format kan en kommandogrupp användas för att iterera genom varje rad med data i ditt kontrollark
- Lägg till Kommandogrupp på tavlan
- Anslut kommandot CSV till JSON till I del av kommandogruppen
- Redigera kommandogruppen och döp den till JSON Iterator
- Klicka på iterationssymbolen till höger om fliken Grundläggande information
- Aktivera iteratorn
- Lämna Select Modifier Type som Lista
- För avsnittet Iterations väljer du <> JSON File utdata från rullgardinsmenyn i kommandot CSV to JSON
- Klicka på Spara
Steg 8: Förhandsgranskning av varje iteration av data
När kedjan nu kan iterera genom varje rad i ditt kontrollark kan ett Handlebars-kommando användas för förhandsgranskning av informationen.
Obs: Kommandot Handlebars fungerar som en platshållare för att granska värdena i den här artikeln, men andra kommandon kan också användas för att bearbeta värdena.
- Dra och släpp ett kommando Render Text Template till Canvas
- Länka Group Start i kommandogruppen till kommandot Render Text Template
- Redigera kommandot och döp det till Förhandsgranskning av kontrollark Data
- I fältet Template (Mall) anger du följande:
Filnamn Aktiv Flagg Tabell-ID
- För att härleda värdena från arket måste en variabelomvandling tillämpas för varje JSON-iteration
- Förutom File Name väljer du JSON File Iteration från sidofältet, som finns under Group Iterator rullgardinsmenyn.
-
- Klicka på JSON File Iteration, välj Get Value from JSON (Hämta värde från JSON)
- I fältet Värde anger du rubriken File_Name från ditt kontrollark
- Obs: En bra metod är att kopiera rubriken från ditt kontrollark direkt till värdefältet
- Tryck på Enter och godkänn
-
- Upprepa ovanstående steg för Active_Flag & Table_ID rubriker från kontrollarket
- När mallen är klar ska fältet se ut på följande sätt:
- Spara kommandot
Steg 9: Kör kedjan och förhandsgranskning
Nu när kedjan och kontrollarket har konfigurerats är det viktigt att se till att varje iteration av Handlebar-utmatningen innehåller data för varje rad i kontrollarket.
- Klicka på Publish och sedan på Execute kedjan
- Kör kedjan
- När kedjan har körts klickar du på kommandot Förhandsgranskning av Control Sheet Data och navigerar till fliken Log
- Under "Start Rendered Text" bör en utdata för den första iterationen vara synlig.
- Byt till värde 2 på alternativet ovanför fliken Logg för att se resultaten för den andra iterationen
- Slutligen växlar du till värde 3 för att se resultatet av den tredje iterationen
- Varje iteration ska se ut på följande sätt:
Värde 1:
Värde 2:
Värde 3:
Utnyttja den aktiva flaggan
Att införliva en Villkorlig logik som utnyttjar värdet av Aktiv flagga är nästa steg, med hjälp av samma kedja som har byggts upp.
- Redigera kedjan och ta bort länken mellan JSON Iterator och Data för förhandsgranskning av kontrollark
- Lägg till ett Villkorligt kommando och anslut Grupp Start av kommandogruppen till det nya kommandot
- Länka kommandot Conditional till kommandot Preview Control Sheet Data
- Redigera det villkorliga kommandot
- Namnge kommandot Active Flag?
- Klicka på knappen Regel
- I värdefältet klickar du på <> JSON File Iteration från rullgardinsmenyn för Group Iterator
- Lägg till en variabel omvandling och använd Active_Flag rubrik från kontrollarket som värde
- Klicka på Godkänn
- Ändra villkoret från "är tomt" till "="
- Skriv in ordet "true" i uttrycksfältet
- Klicka på Spara
Nu, när kedjan körs, kommer kommandot Förhandsgranskning av kontrollark Data endast att utföras om värdet Active_Flag i den iterationen är lika med true.
- Eftersom Active_Flag för två av iterationerna var inställd på "FALSE", utfördes kommandot Preview Control Sheet Data endast för den tredje iterationen.
- Kommandon som följer på det villkorliga kommandot "Active Flag?" hoppas över om deras iteration i arket har värdet "FALSE"
Ytterligare användningsområden
Control Sheet är ett mycket effektivt sätt att centralisera, hantera och automatisera de värden som används i arbetsflödet. Det kan tillämpas i olika scenarier, bland annat:
- Ett centralt nav för hantering av ID:n för ett källsystem, Workiva och Wdata-element
- Använda en flagga för att filtrera och vidta åtgärder för att avgöra om en viss process ska utföras
- Ange URL-slutpunkter för körning av rapporter från ett källsystem
- Definiera datum och namngivningskonventioner för specifika arkiveringar
- Identifiera filkataloger för en SFTP för att hämta angivna filer