Skip to content

Datatransformasjon: Hva, hvordan og hvorfor

Datatransformering, tilrettelegging, ETL – kjært barn har mange navn. Men hva er det egentlig?
15. des Per Anders Waaler
Illustrasjonsbilde av tannhjul med figurer inni

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?

Som nevnt støtter en del BI-verktøy ofte enklere muligheter for å tilrettelegge og transformere data. Enten basert på script-språk, eller ved enkle grafiske verktøy. Ulempen er at man blir svært avhengig av utvikleren om dette er gjort i et script-språk – det er vanskelig for andre å sette seg inn i og forstå og deretter gjøre endringer i koden. I tillegg er data som er transformert gjerne i et format som kun er tilgjengelig for BI-verktøyet som transformeringen har skjedd i. Det er ikke optimalt om din virksomhet ønsker å benytte ulike rapporterings- og analyseverktøy.
 
Dette er ofte en av grunnene til at man har valgt å lage et datavarehus eller en dataplattform. Her samles data fra ulike fagsystem, uavhengig av hvilket verktøy man ønsker å bruke data i. Tradisjonelt har man benyttet såkalte ETL-verktøy (Extract, Transform, Load) til dette formålet. Dette er verktøy som er gode på å koble seg på kilder og hente ut data (Extract), gjøre datatransformeringer og sammenstillinger (Transform) og til slutt laste disse inn i en dataplattform eller i et datavarehus (Load). Her har man verktøy som Informatica PowerCenter, Microsoft SSIS, Talend og så videre.
 
I det siste har det også dukket opp en ny type verktøy som automatiserer mange av de stegene man normalt gjør når man bygger et datavarehus, såkalte Data Warehouse Automation Tools (DWA). Dette er verktøy som forenkler og automatiserer mange av de stegene man ofte utfører når man bygger et datavarehus. Typiske eksempler på steg som kan automatiseres er;
 
  • 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.

Vil du jobbe med data og analyse? twoday søker flere flinke BI- og Analytics konsulenter! Sjekk ut stillingen her!

Relaterte artikler