Hva er ETL?

Av Weapp · Oppdatert

ETL står for Extract, Transform, Load, på norsk hente ut, transformere og laste inn. Det er prosessen som flytter data fra kildesystemer til et analysemiljø i brukbar stand: Dataene hentes, vaskes og struktureres, og deretter lastes de inn der de skal analyseres. En ETL-prosess som svikter, er den vanligste årsaken til at rapporter og tall ikke stemmer.

ETL er en forkortelse som dukker opp så snart en virksomhet begynner å samle data til analyse, men de tre bokstavene sier sjelden en nykommer særlig mye. Likevel er ETL ofte forskjellen mellom pålitelige rapporter og tall ingen tør å tro på. Nedenfor forklarer vi hva ETL er, steg for steg.

Hva ETL er

ETL står for Extract, Transform, Load, på norsk hente ut, transformere og laste inn. Det er navnet på prosessen som flytter data fra systemene der de oppstår, til et miljø der de kan analyseres, og som underveis sørger for at dataene blir brukbare.

Tenk på det som å foredle en råvare. Data oppstår spredt og uryddig i de mange systemene i virksomheten. ETL henter dem, vasker og former dem til noe sammenlignbart og leverer dem ferdige til stedet der beslutningene tas. Uten den foredlingen er dataene som usortert råvare: De finnes, men kan ikke brukes.

De tre stegene skjer i rekkefølge, og hvert av dem har sin oppgave.

De tre stegene, med et gjennomgående eksempel

Følg en ordre gjennom prosessen, fra ERP-systemet til datavarehuset:

  1. Hente ut. Først hentes dataene ut av kildesystemet. Ordren, med kunde, produkter, beløp og dato, plukkes ut av ERP-systemet sammen med tusenvis av andre ordrer.
  2. Transformere. Deretter vaskes og formes dataene. Kundenavnet harmoniseres slik at samme kunde heter det samme overalt, datoen får et enhetlig format, beløpet regnes om til samme valuta, og duplikater fjernes. Nå er ordren sammenlignbar med data fra andre systemer.
  3. Laste inn. Til slutt føres den ferdige, ryddede ordren inn i målet, oftest et datavarehus, der den kan analyseres sammen med alt annet salg.

Resultatet er at en ordre som begynte som en rå post i et system, havner ren og sammenlignbar der ledelsen kan se den som en del av helheten.

Varianten ELT

Det finnes en nært beslektet variant som snur rekkefølgen: ELT (Extract, Load, Transform) laster rådataene inn i målet først og transformerer dem deretter på stedet, noe som har blitt vanlig i moderne skybaserte datavarehus som er kraftige nok til å vaske store datamengder etter innlastingen. Grunnstegene er de samme, bare rekkefølgen mellom vask og innlasting er ulik.

Hvorfor feil i ETL ødelegger rapportene

Her kommer poenget som gjør ETL verdt å bry seg om. En rapport eller et dashbord blir aldri bedre enn dataene som mater den, og de dataene kommer gjennom ETL. Er flyten ødelagt, føres feilene uunngåelig videre.

Hopper uttrekket over rader, mangler de i rapporten. Dupliseres poster, blir summene for høye. Transformeres noe feil (feil valutakurs, feil sammenslåing), blir tallene subtilt gale på en måte som er vanskelig å oppdage. Alt dette ender til slutt som «rare tall» i et dashbord.

Derfor er sannheten at når rapporter ikke stemmer, ligger feilen nesten alltid i ETL-prosessen, ikke i rapportverktøyet. Man leter gjerne etter buggen i det man ser, altså diagrammet, men årsaken ligger i det usynlige leddet som fylte det med data.

Et konkret scenario

Et selskap oppdager at månedens salgsrapport viser mye lavere tall enn ventet. Panikk i ledelsen: Har salget stupt?

Ved nærmere ettersyn viser det seg at feilen ligger i ETL. En endring i ERP-systemet hadde ført til at uttrekket ikke fikk med seg ordrene fra en av salgskanalene i det hele tatt. Salget var uendret, men fordi dataene fra en hel kanal aldri ble hentet, manglet de i datavarehuset og dermed i rapporten. Rapportverktøyet gjorde alt riktig; det ble bare matet med ufullstendige data. En feil i et tidlig ETL-steg ble til et alarmerende, men falskt bilde av forretningen.

Slik forholder du deg til det

Du trenger ikke å bygge ETL selv, men det er verdt å vite at kvaliteten på rapportene deres i stor grad avgjøres her. Når tall ser rare ut, bør dere undersøke dataflyten før dere mistenker verktøyet. Og når et dataprosjekt planlegges, bør dere sørge for at ETL-prosessen og overvåkingen av den tas på alvor fra starten.

Vil dere ha en dataflyt som gjør at rapportene deres faktisk er til å stole på, tar vi i Weapp gjerne med den delen i systemarbeidet fra start.

Ofte stilte spørsmål

Hva står de tre bokstavene i ETL for?

Extract, Transform, Load, på norsk hente ut, transformere og laste inn. Å hente ut betyr å trekke data ut av kildesystemene. Å transformere betyr å vaske og forme dataene slik at de blir sammenlignbare og korrekte. Å laste inn betyr å føre de ferdige dataene inn i målet, oftest et datavarehus. Sammen beskriver de veien fra rådata til brukbare data.

Hva er forskjellen på ETL og ELT?

Rekkefølgen på de to siste stegene. I ETL transformeres dataene før de lastes inn i målet. I ELT lastes rådataene inn først og transformeres deretter på stedet, i målsystemet. ELT har blitt vanligere i moderne skybaserte datavarehus som er kraftige nok til å vaske store datamengder etter innlastingen. Grunnstegene er de samme, bare rekkefølgen er ulik.

Hvorfor trengs transformasjonssteget?

Fordi rådata fra ulike systemer sjelden kan sammenlignes direkte. Samme kunde har forskjellige navn, datoer skrives ulikt, og beløp oppgis i ulike formater eller valutaer. Transformasjonen vasker og harmoniserer dette slik at data fra ulike kilder snakker samme språk. Uten det steget blir analysen å sammenligne epler og pærer, og tallene blir upålitelige.

Hvorfor gir svikt i ETL feil i rapportene?

Fordi rapporten aldri blir bedre enn dataene som mater den. Hopper ETL-prosessen over rader, dupliserer poster eller transformerer feil, føres feilene videre til datavarehuset og viser seg til slutt som rare tall i et dashbord. Når rapporter ikke stemmer, ligger årsaken oftest i ETL-prosessen, ikke i selve rapportverktøyet.

Er ETL det samme som en datapipeline?

Nært beslektet, men ikke identisk. ETL er mønsteret: de tre stegene hente ut, transformere og laste inn. En datapipeline er den automatiserte kjeden som setter mønsteret i drift og kjører det etter en tidsplan eller når bestemte hendelser inntreffer. Grovt sagt beskriver ETL hva som gjøres, mens pipelinen er maskineriet som gjør det om og om igjen.