Vad är ETL?

Av Weapp · Uppdaterad

ETL står för Extract, Transform, Load – extrahera, transformera och ladda. Det är processen som flyttar data från källsystem till en analysmiljö i användbart skick: den hämtas, tvättas och struktureras, och laddas sedan in där den ska analyseras. Trasig ETL är den vanligaste orsaken till att rapporter och siffror inte stämmer.

ETL är en förkortning som dyker upp så fort ett företag börjar samla data för analys, men de tre bokstäverna säger sällan någon nykomling särskilt mycket. Ändå är ETL ofta skillnaden mellan rapporter man kan lita på och siffror ingen vågar tro på. Här är vad ETL är, steg för steg.

Vad ETL är

ETL står för Extract, Transform, Load – extrahera, transformera och ladda. Det är namnet på processen som flyttar data från de system där den uppstår till en miljö där den kan analyseras, och som på vägen ser till att datan blir användbar.

Tänk på det som att förädla en råvara. Data föds spridd och rörig i verksamhetens många system. ETL hämtar den, tvättar och formar den till något jämförbart, och levererar den färdig till platsen där beslut fattas. Utan den förädlingen är datan som osorterad råvara: den finns, men går inte att använda.

De tre stegen sker i ordning, och vart och ett har sin uppgift.

De tre stegen, med ett löpande exempel

Följ en order genom flödet, från affärssystemet till datalagret:

  1. Extrahera. Först hämtas datan ur källsystemet. Ordern – med kund, produkter, belopp och datum – plockas ut ur affärssystemet, tillsammans med tusentals andra order.
  2. Transformera. Sedan tvättas och formas datan. Kundnamnet harmoniseras så att samma kund heter samma sak överallt, datumet får ett enhetligt format, beloppet räknas om till samma valuta, dubbletter rensas. Nu är ordern jämförbar med data från andra system.
  3. Ladda. Till sist förs den färdiga, städade ordern in i målet – oftast ett datalager – där den kan analyseras tillsammans med all annan försäljning.

Resultatet är att en order som började som en rå post i ett system hamnar, ren och jämförbar, på den plats där ledningen kan se den som en del av helheten.

Varianten ELT

Det finns en närbesläktad variant som kastar om ordningen: ELT (Extract, Load, Transform) laddar in rådata i målet först och transformerar den sedan på plats, vilket blivit vanligt i moderna molnlager som är kraftfulla nog att tvätta stora datamängder efter inläsning. Grundstegen är desamma – bara ordningen mellan tvätt och inladdning skiljer.

Varför trasig ETL fäller rapporterna

Här är den poäng som gör ETL värt att bry sig om. En rapport eller dashboard blir aldrig bättre än datan som matar den, och den datan kommer genom ETL. Är flödet trasigt, förs felen ovägligen vidare.

Missar extraheringen rader, saknas de i rapporten. Dubbleras poster, blir summorna för höga. Transformeras något fel – fel valutakurs, fel hopslagning – blir siffrorna subtilt felaktiga på ett sätt som är svårt att upptäcka. Allt detta landar till slut som “konstiga tal” i en dashboard.

Därför är sanningen att när rapporter inte stämmer, sitter felet nästan alltid i ETL-flödet, inte i rapportverktyget. Man letar gärna buggen i det man ser – diagrammet – men orsaken bor i det osynliga ledet som fyllde det med data.

Ett konkret scenario

Ett bolag upptäcker att månadens försäljningsrapport visar mycket lägre siffror än väntat. Panik i ledningen: har försäljningen rasat?

Vid närmare titt sitter felet i ETL. En förändring i affärssystemet hade gjort att extraheringssteget missade order från en av försäljningskanalerna helt. Försäljningen var oförändrad – men eftersom en hel kanals data aldrig hämtades, saknades den i lagret och därmed i rapporten. Rapportverktyget gjorde allt rätt; det matades bara med ofullständig data. Ett fel i ett tidigt ETL-steg blev till ett larmande men falskt affärsbudskap.

Så förhåller du dig till det

Du behöver inte bygga ETL själv, men det är värt att veta att kvaliteten på era rapporter till stor del avgörs här. När siffror ser konstiga ut, fråga efter dataflödet innan ni misstror verktyget. Och när ett dataprojekt planeras, se till att ETL – och övervakningen av det – tas på allvar från början.

Vill ni ha ett dataflöde som gör att era rapporter faktiskt går att lita på, tar vi på Weapp gärna med den delen i systemarbetet från start.

Vanliga frågor

Vad står de tre bokstäverna i ETL för?

Extract, Transform, Load – på svenska extrahera, transformera och ladda. Extrahera är att hämta data ur källsystemen. Transformera är att tvätta och forma den så att den blir jämförbar och korrekt. Ladda är att föra in den färdiga datan i målet, oftast ett datalager. Tillsammans beskriver de vägen från rådata till användbar data.

Vad är skillnaden mellan ETL och ELT?

Ordningen på de två sista stegen. I ETL transformeras data innan den laddas in i målet. I ELT laddas rådata in först och transformeras sedan på plats, i målsystemet. ELT har blivit vanligare i moderna molnlager som är kraftfulla nog att tvätta stora datamängder efter inläsning. Grundstegen är desamma, ordningen skiljer.

Varför behövs transformeringssteget?

För att rådata från olika system sällan går att jämföra rakt av. Kunder heter olika, datum skrivs olika, belopp anges i olika format eller valutor. Transformeringen tvättar och harmoniserar detta så att data från skilda källor talar samma språk. Utan det steget blir analysen att jämföra äpplen med päron, och siffrorna opålitliga.

Varför ger trasig ETL fel i rapporterna?

För att rapporten aldrig blir bättre än datan som matar den. Om ETL missar rader, dubblerar poster eller transformerar fel, förs felen vidare till lagret och syns till slut som konstiga siffror i en dashboard. När rapporter inte stämmer sitter orsaken oftast i ETL-flödet, inte i själva rapportverktyget.

Är ETL samma sak som en datapipeline?

Nära besläktat men inte identiskt. ETL är mönstret – de tre stegen extrahera, transformera, ladda. En datapipeline är den automatiserade kedja som sätter mönstret i drift och kör det schemalagt eller händelsestyrt. Grovt: ETL beskriver vad som görs, pipelinen är maskineriet som gör det om och om igen.