Ofte publiseres datasett som rapporter uten at det er meningen at de skal gjenbrukes. Datasettene er derfor komplekse og formateringen kan være vanskelig å forstå ved første øyekast. Det er her datatransformasjon kommer inn.
Hva er datatransformering og hvorfor skal jeg bry meg?
Datatransformering handler om endring og tilrettelegging av data fra ulike kilder på en slik måte at data blir lettere å benytte til andre formål. Dette kan være data fra kilder som ERP- og CRM-systemer, Excel-ark og så videre. Et typisk formål kan være rapportering og analyse, hvor vi etter datatransformeringen legger data i et datavarehus på en slik måte og i et slikt format at det blir enklere å rapportere og analysere på data, gjerne på tvers av ulike fagsystemer.
Man kan ofte gjøre en viss grad av slik transformering direkte i ulike BI-verktøy, men dette blir fort utfordrende om man står ovenfor mange kilder, mye data og en kompleks forretningslogikk. I tillegg ender man ofte opp med at datatransformeringene må gjøres flere ganger, fordi man trenger data i flere analyser og rapporter. Dette kan potensielt gi ulike svar på det man trodde var de samme beregningene i ulike rapporter og analyser. Har man funnet en feil, korrigerer man det kanskje bare et sted, fordi man ikke var klar over at samme transformering også ble utført i en annen rapport.
Hvordan utfører man datatransformeringer?
- Deltalast/inkrementell last – bare hent det som er nytt eller endret siden forrige lesing
- Historikk – bygge strukturer som gjør det mulig å ta vare på endringer over tid for f.eks. organisasjons- eller produktstrukturer. Dette gjør det bl.a. mulig å se fjorårets tall i dagens organisasjonsstruktur og motsatt.
- Dokumentasjon – automatisk generere teknisk dokumentasjon
- Sporing – kunne se hvor data blir av (impact analysis) og hvilke beregninger de er med i, og også hvor data kommer fra (data lineage).
- Semantisk lag – støtte for å definere nøkkeltall og beregninger på et, enhetlig sted.
Eksempler på denne typen verktøy er bl.a. Qlik Data Integrator, TimeXtender og WhereScape.
Hvorfor bør man transformere data?
Det kan være mange grunner til at man må eller ønsker å endre på data fra kilde til bruk i rapportering og analyse. Her er noen av dem:
1. Data er ikke strukturert for rapportering
Ser man på store ERP- og CRM-systemer som SAP og IFS består disse ofte av en stor rekke tabeller (mange 1000 tabeller). Det er ikke enkelt å navigere i et slikt datasett og forstå hvordan man skal sette sammen data fra disse tabellene for å oppnå ønsket resultat. I tillegg har tabeller og kolonner ofte ganske kryptiske navn, noe som ikke gjør arbeidet noe enklere.
2. Data er vanskelig tilgjengelig
Vår erfaring etterhvert som flere og flere begynner å bruke skybaserte løsninger er at det ikke alltid er like lett å få tilgang til datakilden i disse løsningene. Det er svært sjelden man får tilgang direkte til databasen, den brukes jo gjerne av flere kunder, og løsningen er derfor ofte at data tilgjengeliggjøres gjennom ulike APIer (programmeringsgrensesnitt). Her finnes det standarder, f.eks REST, men dette krever en god teknisk innsikt og forståelse for å kunne brukes. Bare å autentisere seg mot et slikt API kan være vanskelig for mange.
3. Mange kilder
Mange av våre kunder skal hente data fra ulike ERP-systemer. Man skal i etterkant rapportere på konsernnivå, med mulighet for å drille ned til det enkelte selskap. Dette krever at data er gjort om til et felles format, og at man faktisk kan gjøre en rapportering på tvers, selv om noe data kanskje kommer fra Visma Business og noe fra SAP og IFS. Her er det kanskje også ulike regler som skal legges til grunn for tilretteleggingen.