Hvad er ETL?

Af Weapp · Opdateret

ETL står for Extract, Transform, Load: udtræk, transformér og indlæs. Det er processen der flytter data fra kildesystemer til et analysemiljø i brugbar stand: Data hentes, renses og struktureres, hvorefter de indlæses der hvor de skal analyseres. Fejl i ETL er den mest almindelige årsag til at rapporter og tal ikke stemmer.

ETL er en forkortelse der dukker op så snart en virksomhed begynder at samle data til analyse, men de tre bogstaver siger sjældent en nybegynder ret meget. Alligevel er ETL ofte forskellen på rapporter man kan stole på og tal som ingen tør tro på. Her er hvad ETL er, trin for trin.

Hvad ETL er

ETL står for Extract, Transform, Load: udtræk, transformér og indlæs. Det er navnet på den proces der flytter data fra de systemer hvor de opstår, til et miljø hvor de kan analyseres, og som undervejs sørger for at data bliver brugbare.

Tænk på det som at forædle en råvare. Data opstår spredt og rodet i virksomhedens mange systemer. ETL henter dem, renser og former dem til noget sammenligneligt og leverer dem færdige til det sted hvor beslutningerne træffes. Uden den forædling er data som usorteret råvare: De findes, men kan ikke bruges.

De tre trin sker i rækkefølge, og hvert af dem har sin opgave.

De tre trin, med et gennemgående eksempel

Følg en ordre gennem flowet, fra ERP-systemet til data warehouset:

  1. Udtræk. Først hentes data ud af kildesystemet. Ordren, med kunde, produkter, beløb og dato, trækkes ud af ERP-systemet sammen med tusindvis af andre ordrer.
  2. Transformér. Derefter renses og formes data. Kundenavnet harmoniseres så samme kunde hedder det samme overalt, datoen får et ensartet format, beløbet omregnes til samme valuta, og dubletter fjernes. Nu kan ordren sammenlignes med data fra andre systemer.
  3. Indlæs. Til sidst føres den færdige, rensede ordre ind i målet, som oftest et data warehouse, hvor den kan analyseres sammen med alt andet salg.

Resultatet er at en ordre der begyndte som en rå post i ét system, ender ren og sammenlignelig på det sted hvor ledelsen kan se den som en del af helheden.

Varianten ELT

Der findes en nært beslægtet variant der vender rækkefølgen om: ELT (Extract, Load, Transform) indlæser rådata i målet først og transformerer dem derefter på stedet. Det er blevet almindeligt i moderne cloudbaserede data warehouses der er kraftige nok til at rense store datamængder efter indlæsningen. Grundtrinnene er de samme, kun rækkefølgen af rensning og indlæsning er forskellig.

Hvorfor fejl i ETL vælter rapporterne

Her er den pointe der gør ETL værd at interessere sig for. En rapport eller et dashboard bliver aldrig bedre end de data der fodrer det, og de data kommer gennem ETL. Er flowet i stykker, føres fejlene uundgåeligt videre.

Overser udtrækket rækker, mangler de i rapporten. Dubleres poster, bliver summerne for høje. Transformeres noget forkert, f.eks. en forkert valutakurs eller en forkert sammenlægning, bliver tallene subtilt forkerte på en måde der er svær at opdage. Alt dette ender til sidst som “mærkelige tal” i et dashboard.

Derfor er sandheden at når rapporter ikke stemmer, sidder fejlen næsten altid i ETL-flowet, ikke i rapportværktøjet. Man leder gerne efter fejlen i det man ser, altså diagrammet, men årsagen ligger i det usynlige led der fyldte det med data.

Et konkret scenarie

En virksomhed opdager at månedens salgsrapport viser meget lavere tal end ventet. Panik i ledelsen: Er salget styrtdykket?

Ved nærmere eftersyn sidder fejlen i ETL. En ændring i ERP-systemet havde fået udtrækstrinnet til helt at overse ordrer fra en af salgskanalerne. Salget var uændret, men fordi en hel kanals data aldrig blev hentet, manglede de i data warehouset og dermed i rapporten. Rapportværktøjet gjorde alt rigtigt; det blev bare fodret med ufuldstændige data. En fejl i et tidligt ETL-trin blev til et alarmerende, men falsk forretningsbudskab.

Sådan forholder du dig til det

Du behøver ikke selv bygge ETL, men det er værd at vide at kvaliteten af jeres rapporter i høj grad afgøres her. Når tal ser mærkelige ud, så spørg efter dataflowet før I mistror værktøjet. Og når et dataprojekt planlægges, så sørg for at ETL og overvågningen af det bliver taget alvorligt fra starten.

Vil I have et dataflow der gør at jeres rapporter faktisk er til at stole på, tager vi hos Weapp gerne den del med i systemarbejdet fra start.

Ofte stillede spørgsmål

Hvad står de tre bogstaver i ETL for?

Extract, Transform, Load, på dansk udtræk, transformér og indlæs. At udtrække er at hente data ud af kildesystemerne. At transformere er at rense og forme dem så de bliver sammenlignelige og korrekte. At indlæse er at føre de færdige data ind i målet, som oftest et data warehouse. Tilsammen beskriver de vejen fra rådata til brugbare data.

Hvad er forskellen på ETL og ELT?

Rækkefølgen af de to sidste trin. I ETL transformeres data før de indlæses i målet. I ELT indlæses rådata først og transformeres derefter på stedet, i målsystemet. ELT er blevet mere udbredt i moderne cloudbaserede data warehouses der er kraftige nok til at rense store datamængder efter indlæsningen. Grundtrinnene er de samme, rækkefølgen er forskellig.

Hvorfor er transformationstrinnet nødvendigt?

Fordi rådata fra forskellige systemer sjældent kan sammenlignes direkte. Kunder navngives forskelligt, datoer skrives forskelligt, beløb angives i forskellige formater eller valutaer. Transformationen renser og harmoniserer dette så data fra forskellige kilder taler samme sprog. Uden det trin bliver analysen at sammenligne æbler og pærer, og tallene bliver upålidelige.

Hvorfor giver fejl i ETL forkerte tal i rapporterne?

Fordi rapporten aldrig bliver bedre end de data der fodrer den. Hvis ETL overser rækker, dublerer poster eller transformerer forkert, føres fejlene videre til data warehouset og viser sig til sidst som mærkelige tal i et dashboard. Når rapporter ikke stemmer, sidder årsagen oftest i ETL-flowet, ikke i selve rapportværktøjet.

Er ETL det samme som en datapipeline?

Nært beslægtet, men ikke identisk. ETL er mønsteret: de tre trin udtræk, transformér, indlæs. En datapipeline er den automatiserede kæde der sætter mønsteret i drift og kører det tidsstyret eller hændelsesstyret. Groft sagt: ETL beskriver hvad der gøres, pipelinen er maskineriet der gør det igen og igen.