Bakgrunn
Når vi orkestrerer rapporteringsprosesser ved hjelp av Data Management Suite, støter vi ofte på komplekse arbeidsflytscenarioer. En applikasjon kan for eksempel ha behov for å kjøre:
- En enkelt arbeidsflyt flere ganger med varierende inndata
- Flere forskjellige arbeidsflyter
- Flere samtidige arbeidsflyter, hver med spesifikke inndata
- Arbeidsflyter for integrering av kildesystemer som krever spesifikke parametere, for eksempel datoer, filnavn eller regelnavn
For å automatisere og håndtere disse kompliserte arbeidsflytkravene på en effektiv måte, har konseptet Control Sheet vist seg å være uvurderlig. Et kontrollark fungerer som et sentralisert styringsverktøy som gjør det mulig å forhåndsdefinere inndata for hver arbeidsflyt. Ved å bruke Control Sheets kan brukerne spesifisere parametrene og betingelsene som skal gjelde for hver arbeidsflyt, og dermed legge til rette for en sømløs, automatisert prosess som kjører alle nødvendige arbeidsflyter med riktig input uten behov for manuell inngripen på hvert trinn.
Ved å opprette og utnytte et kontrollark kan brukerne:
- Definer inngangsverdier som skal sendes til en kjede ved hver kjøring
- Definer flagg som avgjør om en kjede skal utføre visse operasjoner
- Send verdier, for eksempel spørringsparametere, regelnavn eller datofiltre, inn i systemets arbeidsflyt når du kjører en kjede eller en regel.
- Utføre deler av Roll-forward-operasjoner
- Administrer ID-er for artefakter i Workiva
- Loggfør status for kjøring av en arbeidsflyt
Denne artikkelen vil veilede brukerne gjennom prosessen med å opprette et enkelt kontrollark. Med dette arket kan brukerne kjøre den samme arbeidsflyten med ulike sett med inndata.
Forutsetninger
- Konfigurer Workiva Connector
- Konfigurer JSON-kontakten
- Konfigurer Kontakten til styret
Trinn 1: Sette opp et kontrollark
- Opprett et regneark i Workiva-plattformen
- Tildel eierrettigheter til brukeren som er tilknyttet OAuth2 grant.
- Endre navn på regnearket og arket til
- Regneark for kontroll
- Kontrollark
Trinn 2: Angi overskrifter (taster) for kontrollarket
Opprett overskrifter for hver verdi som skal behandles av Chain-arbeidsflyten. I dette eksempelet er følgende overskrifter satt opp:
- Active_Flag: For å avgjøre om denne raden skal behandles eller ikke
- Filnavn: Navnet på filen som skal behandles
- Table_ID: ID for Wdata-tabellen der filen skal importeres
Trinn 3: Tilordne verdier til overskriftene i kontrollarket
- I dette eksempelet er det definert tre verdier for hvert nøkkel-/verdipar. Etter hvert som hver linje leses, vil derfor følgende data mates inn:
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1988929e4358858306956685e162
true, file_z.csv, df2a1988929e4358858306956685e162
Trinn 4: Opprett en kjede for å hente kontrollarkdata
For å kunne hente kontrollarkdataene fra regnearket, må det opprettes en Chain for å lese regnearket.
- Gå til modulen Kjeder, og opprett en ny kjede
- Gå til kjedeinnstillingene, og gi den nye kjeden tittelen Get Control Sheet Data
- Legg til to Chain -variabler:
- cv-SpreadsheetID
- cv-SheetName
- Fyll hver variabel med de tilsvarende SpreadsheetID og SheetName-verdiene fra kontrollarket ditt.
Trinn 5: Hent arkdata
For å kunne bruke dataene i kontrollarket må du bruke kommandoen Get Sheet Data. Kommandoen leser innholdet fra et ark i et regneark og produserer en .csv utdata.
- Dra og slipp kommandoen Workiva Get Sheet Data til START-delen av lerretet
- Konfigurer kommandoen
- Gi den et nytt navn Get Control Sheet Data
- Bruk kjedevariabelen cv-SpreadsheetID for Spreadsheet ID-feltet
- Bruk kjedevariabelen cv-SheetName for feltet Sheet ID/Name
- Skriv inn A1: for regionen
- La verdistil og revisjon være Beregnet og -1
- Klikk på Lagre
Trinn 6: Konverter arkdata til JSON
Når du har hentet kontrollarkdataene i .csv-format, er neste trinn å konvertere dem til JSON. Denne konverteringen sikrer at overskriftene og kolonneverdiene omformateres korrekt til JSON Key-Value -strukturen. Dette formatet er avgjørende for de neste trinnene.
- Dra kommandoen CSV til JSON til lerretet
- Koble kommandoen Get Control Sheet Data til kommandoen CSV to JSON
- Rediger kommandoen CSV to JSON
- I feltet Input File bruker du Data utdata fra rullegardinmenyen Get Control Sheet Data
- La feltet Delimiter stå som komma (,)
- Klikk på Lagre
Trinn 7: Iterere gjennom JSON-data
Nå som kontrollarkdataene er i JSON-format, kan en kommandogruppe brukes til å iterere gjennom hver datarad i kontrollarket
- Legg til Kommandogruppe på lerretet
- Koble kommandoen CSV til JSON til I delen av kommandogruppen
- Rediger kommandogruppen, og gi den navnet JSON Iterator
- Klikk på iterasjonssymbolet til høyre for fanen Grunnleggende informasjon
- Aktiver iteratoren
- La Select Modifier Type stå som List
- For Iterasjoner -delen velger du <> JSON-fil utdata fra rullegardinmenyen i kommandoen CSV til JSON
- Klikk på Lagre
Trinn 8: Forhåndsvisning av hver iterasjon av data
Når kjeden nå kan iterere gjennom hver rad i kontrollarket, kan du bruke en Handlebars-kommando til å forhåndsvise informasjonen.
Merk: Kommandoen Handlebars fungerer som en plassholder for gjennomgang av verdier i denne artikkelen, men andre kommandoer kan også brukes til å behandle verdiene.
- Dra og slipp en Render Text Template -kommando til lerretet
- Koble Group Start i kommandogruppen til kommandoen Render Text Template
- Rediger kommandoen, og gi den navnet Preview Control Sheet Data
- Skriv inn følgende i Mal-feltet:
Filnavn Aktiv flagg tabell-ID
- For å utlede verdiene fra kontrollarket, må en variabeltransformasjon brukes for hver JSON-iterasjon
- Ved siden av File Name velger du JSON File Iteration fra sidepanelet, som du finner under rullegardinmenyen Group Iterator.
-
- Klikk på JSON File Iteration, velg Get Value from JSON (Hent verdi fra JSON)
- I Verdi-feltet skriver du inn overskriften File_Name fra kontrollarket ditt
- Merk: En god praksis er å kopiere overskriften fra kontrollarket direkte inn i verdifeltet
- Trykk Enter og Godta
-
- Gjenta trinnene ovenfor for Active_Flag & Table_ID overskrifter fra kontrollarket
- Når malfeltet er ferdig utfylt, skal det se ut som følger:
- Lagre kommandoen
Trinn 9: Kjør kjeden og forhåndsvisning
Nå som kjeden og kontrollarket er satt opp, er det viktig å sørge for at hver iterasjon av Handlebar-utdataene inneholder data for hver rad i kontrollarket.
- Klikk på Publiser og deretter Utfør kjeden
- Kjør kjeden
- Etter at kjeden er kjørt, klikker du på kommandoen Preview Control Sheet Data og navigerer til fanen Log
- Under "Start Rendered Text" skal en utdata for den første iterasjonen være synlig.
- Bytt til Verdi 2 i alternativet over Logg-fanen for å se resultatene for den andre iterasjonen
- Til slutt bytter du til verdi 3 for å se resultatene av den tredje iterasjonen
- Hver iterasjon skal se ut som følger:
Verdi 1:
Verdi 2:
Verdi 3:
Utnytt det aktive flagget
Neste trinn er å innlemme en Conditional -logikk som utnytter verdien til Active Flag ved hjelp av den samme kjeden som er bygget opp.
- Rediger kjeden, og slett koblingen mellom JSON Iterator og Preview Control Sheet Data
- Legg til en Betinget -kommando, og koble Gruppestart i kommandogruppen til den nye kommandoen
- Koble kommandoen Conditional til kommandoen Preview Control Sheet Data
- Rediger kommandoen Betinget
- Hva heter kommandoen Active Flag?
- Klikk på knappen + Rule
- I verdifeltet klikker du på <> JSON File Iteration fra rullegardinmenyen til Group Iterator
- Legg til en variabeltransformasjon, og bruk overskriften Active_Flag fra kontrollarket som verdi
- Klikk på Godta
- Endre betingelsen fra "Is Blank" til "="
- Skriv inn ordet "true" i uttrykksfeltet
- Klikk på Lagre
Hver gang kjeden kjøres, vil kommandoen Preview Control Sheet Data bare utføres hvis verdien Active_Flag i den iterasjonen er lik true.
- Siden Active_Flag for to av iterasjonene var satt til "FALSE", ble kommandoen Preview Control Sheet Data bare utført for den tredje iterasjonen.
- Kommandoer som følger etter den betingede kommandoen "Active Flag?" vil bli hoppet over hvis deres iterasjon i kontrollarket har verdien "FALSE"
Ytterligere bruksområder
Control Sheet er en svært effektiv måte å sentralisere, administrere og automatisere verdiene som brukes i arbeidsflyten. Den kan brukes i ulike scenarier, blant annet:
- Et sentralt knutepunkt for å administrere ID-er for et kildesystem, Workiva og Wdata-elementer
- Bruk av et flagg for å filtrere og avgjøre om en spesifikk prosess skal kjøres
- Angi URL-endepunkter for kjøring av rapporter fra et kildesystem
- Definere datoer og navnekonvensjoner for bestemte filer
- Identifisere filkataloger for en SFTP for å hente bestemte filer