Achtergrond
Bij het orkestreren van rapportageprocessen met de Data Management Suite komen we vaak complexe workflowscenario's tegen. Een toepassing moet bijvoorbeeld worden uitgevoerd:
- Een enkele workflow meerdere keren met gevarieerde invoer
- Meerdere afzonderlijke workflows
- Meerdere gelijktijdige workflows, elk met specifieke invoer
- Bronsysteemintegratie-workflows die specifieke parameters vereisen, zoals datums, bestandsnamen of regelnamen
Om deze ingewikkelde workflowvereisten efficiënt te automatiseren en te beheren, blijkt het concept van een Control Sheet van onschatbare waarde te zijn. Een Control Sheet fungeert als een gecentraliseerde beheertool waarmee de invoer voor elke workflowuitvoering vooraf gedefinieerd kan worden. Door gebruik te maken van Control Sheets kunnen gebruikers de parameters en voorwaarden specificeren waaronder elke workflow moet werken, waardoor een naadloos, geautomatiseerd proces mogelijk wordt dat alle benodigde workflows uitvoert met de juiste invoer, zonder dat bij elke stap handmatige tussenkomst nodig is.
Door een Control Sheet te maken en te gebruiken, kunnen gebruikers:
- Inputwaarden definiëren die bij elke uitvoering aan een keten worden doorgegeven
- Definieer vlaggen die bepalen of een ketting bepaalde bewerkingen moet uitvoeren
- Geef waarden, zoals queryparameters, regelnamen of datumfilters, door in de workflow van het systeem wanneer u een keten uitvoert of een regel uitvoert.
- Stukken van Roll-forward-bewerkingen uitvoeren
- Beheer de ID's voor artefacten binnen Workiva
- De uitvoeringsstatus van een workflow vastleggen
Dit artikel leidt gebruikers door het proces van het maken van een eenvoudig controleblad. Met dit blad kunnen gebruikers dezelfde workflow met verschillende invoerreeksen uitvoeren.
Vereisten
Stap 1: Een controleblad instellen
- Een spreadsheet maken binnen het Workiva platform
- Wijs eigendomsrechten toe aan de gebruiker die gekoppeld is aan de OAuth2 toekenning.
- Hernoem het werkblad en het blad als
- Controleblad
- Controleblad
Stap 2: Koppen (toetsen) voor het controleblad instellen
Stel kopteksten op voor elke waarde die door de Chain workflow verwerkt zal worden. In dit voorbeeld worden de volgende headers ingesteld:
- Active_Flag: Om te bepalen of deze rij verwerkt moet worden of niet
- Bestandsnaam: Naam van het te verwerken bestand
- Table_ID: ID van de Wdata-tabel waarin het bestand zou worden geïmporteerd
Stap 3: Waarden toewijzen aan de kopteksten in het besturingsblad
- In dit voorbeeld zijn er drie waarden gedefinieerd voor elk Sleutel/Waarde-paar. Daarom worden bij het lezen van elke regel de volgende gegevens ingevoerd:
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1988929e4358858306956685e162
true, file_z.csv, df2a1988929e4358858306956685e162
Stap 4: Maak een ketting om controlebladgegevens op te halen
Om de gegevens van het controleblad uit de spreadsheet op te halen, moet er een Chain gemaakt worden om de spreadsheet in te lezen.
- Navigeer naar de module Chains en maak een nieuwe Chain aan
- Navigeer naar de Keteninstellingen en geef uw nieuwe ketting de titel Haal controlebladgegevens op
- Voeg twee Chain variabelen toe:
- cv-SpreadsheetID
- cv-bladnaam
- Vul elke variabele met de corresponderende SpreadsheetID en SheetName waarden van uw controleblad.
Stap 5: Verkrijg velgegevens
Om de gegevens in uw controleblad te gebruiken, moet u het commando Get Sheet Data gebruiken. De opdracht leest de inhoud van een blad in een spreadsheet en produceert een .csv uitvoer.
- Sleep het Workiva Get Sheet Data commando naar de START-sectie van het canvas
- De opdracht configureren
- Hernoem het Verkrijg Controlebladgegevens
- Gebruik de kettingvariabele cv-SpreadsheetID voor het veld Spreadsheet ID
- Gebruik de kettingvariabele cv-SheetName voor het veld Blad-ID/Naam
- Voer A1: in voor de regio
- Laat Value Style en Revision staan als Berekend en -1
- Klik op Opslaan
Stap 6: Bladgegevens converteren naar JSON
Nadat u de gegevens van het controleblad met succes hebt opgehaald in .csv-formaat, is de volgende stap om ze te converteren naar JSON. Deze conversie zorgt ervoor dat de kopteksten en kolomwaarden correct worden geherformatteerd in de JSON Key-Value structuur. Deze indeling is cruciaal voor de stappen die volgen.
- Sleep de opdracht CSV naar JSON naar het canvas
- Koppel de opdracht Get Control Sheet Data aan de opdracht CSV to JSON
- Bewerk de opdracht CSV to JSON
- Gebruik in het veld Input File de uitvoer Data uit de vervolgkeuzelijst Get Control Sheet Data
- Laat het scheidingstekenveld staan als komma (,)
- Klik op Opslaan
Stap 7: Iterate door JSON-gegevens
Nu de gegevens van het controleblad in JSON-indeling zijn, kan een opdrachtgroep worden gebruikt om door elke rij gegevens in uw controleblad te itereren
- Voeg Commandogroep toe aan het canvas
- Verbind de opdracht CSV to JSON met het gedeelte In van de Commandogroep
- Bewerk de commandogroep en geef deze de naam JSON Iterator
- Klik op het iteratiesymbool rechts van het tabblad Basisinfo
- De iterator inschakelen
- Laat de Selecteer modificatietype als Lijst
- Voor het gedeelte Iteraties selecteert u de uitvoer <> JSON-bestand in de vervolgkeuzelijst van de opdracht CSV to JSON
- Klik op Opslaan
Stap 8: Een voorbeeld van elke iteratie van gegevens bekijken
Nu de ketting elke rij van uw controleblad kan doorlopen, kan een Handlebars-commando worden gebruikt om een voorbeeld van de uitvoer van de informatie te bekijken.
Opmerking: De Handlebars-opdracht dient als plaatshouder voor het bekijken van de waarden in dit artikel, maar er kunnen ook andere opdrachten worden gebruikt om de waarden te verwerken.
- Sleep een Render Text Template opdracht naar het canvas
- Koppel de opdracht Group Start van de opdrachtgroep aan de opdracht Render Text Template
- Bewerk de opdracht en geef deze de naam Preview Control Sheet Data
- Voer in het veld Sjabloon het volgende in:
Bestandsnaam Actieve vlag Tabel-ID
- Om de waarden van het controleblad af te leiden, moet voor elke JSON iteratie een variabele transformatie worden toegepast
- Naast Bestandsnaam, kiest u JSON File Iteration op de zijbalk, onder de Group Iterator vervolgkeuzelijst.
-
- Klik op de JSON bestandsinterval, selecteer Haal waarde uit JSON
- Voer in het veld Waarde de koptekst File_Name van uw controleblad in
- Opmerking: Een goede gewoonte is om de koptekst van uw controleblad rechtstreeks naar het waardeveld te kopiëren
- Druk op Enter en Accepteer
-
- Herhaal de bovenstaande stappen voor Active_Flag & Table_ID headers van het controleblad
- Na voltooiing zou het sjabloonveld er als volgt uit moeten zien:
- De opdracht opslaan
Stap 9: Voer de ketting uit en bekijk een voorbeeld
Nu de ketting en het controleblad ingesteld zijn, is het belangrijk om ervoor te zorgen dat elke iteratie van de uitvoer van het stuur gegevens bevat voor elke rij in het controleblad.
- Klik op Publiceer en vervolgens op Voer de keten uit
- De ketting uitvoeren
- Nadat de Chain met succes is uitgevoerd, klikt u op de opdracht Preview Control Sheet Data en navigeert u naar het tabblad Log
- Onder "Start Rendered Text" zou een uitvoer voor de eerste iteratie zichtbaar moeten zijn.
- Schakel over naar Waarde 2 in de optie boven het tabblad Log om de resultaten voor de tweede iteratie te zien
- Schakel ten slotte over naar waarde 3 om de resultaten van de derde iteratie te zien
- Elke iteratie moet er als volgt uitzien:
Waarde 1:
Waarde 2:
Waarde 3:
Gebruik de actieve vlag
Het inbouwen van een Voorwaardelijke logica die de waarde van de Actieve vlag gebruikt, is de volgende stap, waarbij gebruik wordt gemaakt van dezelfde keten die is opgebouwd.
- Bewerk de Chain en verwijder de koppeling tussen de JSON Iterator en de Preview Control Sheet Data
- Voeg een Voorwaardelijke opdracht toe en verbind de Groepstart van de Commandogroep met de nieuwe opdracht
- Koppel de opdracht Conditional aan de opdracht Preview Control Sheet Data
- De opdracht Voorwaardelijk bewerken
- Noem de opdracht Active Flag?
- Klik op de knop + Regel
- Klik in het waardeveld op <> JSON File Iteration in de dropdown van de Group Iterator
- Voeg een variabele transformatie toe en gebruik de Active_Flag header van het controleblad als de waarde
- Klik op Accepteren
- Wijzig de voorwaarde van "Is leeg" in "="
- Voer het woord "true" in het expressieveld in
- Klik op Opslaan
Wanneer de keten nu wordt uitgevoerd, zal de opdracht Preview Control Sheet Data alleen worden uitgevoerd als de waarde Active_Flag in die iteratie gelijk is aan true.
- Aangezien de Active_Flag voor twee van de iteraties op "FALSE" was ingesteld, werd de opdracht Preview Control Sheet Data alleen voor de derde iteratie uitgevoerd.
- Opdrachten die volgen op de voorwaardelijke opdracht "Active Flag?" worden overgeslagen als hun iteratie in het controleblad de waarde "FALSE" heeft.
Extra gebruikssituaties
Het Control Sheet biedt een zeer effectieve manier om de waarden die gebruikt worden bij het uitvoeren van de workflow te centraliseren, beheren en automatiseren. Het kan in verschillende scenario's worden toegepast, waaronder:
- Een centrale hub voor het beheren van ID's van een bronsysteem, Workiva en Wdata elementen
- Een vlag gebruiken om te filteren en actie te ondernemen of een specifiek proces moet worden uitgevoerd
- URL-eindpunten opgeven voor het uitvoeren van rapporten van een bronsysteem
- Data en naamgevingsconventies definiëren voor specifieke bestanden
- Bestandsmappen identificeren voor een SFTP om aangewezen bestanden op te halen