ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerData profiling is een dataset systematisch doorlichten voor je er iets op bouwt: welke waarden komen voor, hoeveel velden staan leeg, zijn je sleutels uniek, kloppen de formaten. Zo ken je de zwakke plekken van een tabel voor je er een rapport of migratie op baseert, niet erna.
Data profiling is een dataset systematisch doorlichten om te weten hoe ze in elkaar zit, wat erin staat en waar de zwakke plekken zitten, nog voor je er een rapport, een migratie of een model op bouwt. Je bekijkt niet één record, maar de tabel als geheel: welke waarden komen voor, hoe vaak, hoeveel velden staan leeg, of het formaat klopt.
Vergelijk het met een bouwkundige keuring voor je een huis koopt: je klopt op de muren en checkt de leidingen, zodat je weet wat je koopt voor je de akte tekent. Profiling doet dat met een tabel. De uitkomst is een profiel, per kolom een reeks cijfers en verdelingen die samen tonen of de data betrouwbaar genoeg is voor wat je ermee wil doen.
Profiling draait rond een handvol metingen die je per kolom uitvoert. Elk cijfer beantwoordt een concrete vraag over de data.
Waardeverdeling
Welke waarden komen voor en hoe vaak? Een kolom "land" die 95 procent "België" toont met daarnaast een staart van varianten, vertelt je meteen waar het schuurt.
Lege en foute velden
Hoeveel procent van de kolom staat leeg of bevat een fout? Een btw-nummer dat bij drie op de tien klanten ontbreekt, zie je liever nu dan tijdens de facturatie.
Distinct en uniek
Hoeveel verschillende waarden staan er, en hoeveel komen maar één keer voor? Distinct telt de verschillende waarden, uniek telt de waarden met precies één voorkomen. Op een kolom die je sleutel zou moeten zijn, verraadt dat meteen de dubbels.
Min, max en bereik
Wat is de laagste en de hoogste waarde? Een geboortedatum in 1900 of 2064 springt er zo uit, net als een negatieve prijs.
Patroon en formaat
Volgen de waarden het verwachte patroon? Een e-mailadres zonder apenstaartje, een postcode met letters erin, een datum die als losse tekst is opgeslagen. Meteen zie je ook de uitschieters, zoals één order van 2 miljoen euro tussen duizend orders van gemiddeld 200 euro: ofwel een grote deal, ofwel een typefout die je gemiddelde scheeftrekt.
Je doet profiling telkens je op data gaat bouwen die je nog niet goed kent. Bij een nieuwe bron, een koppeling met een CRM of boekhoudpakket dat je nog niet eerder verwerkte, toont profiling hoe de leverancier zijn velden echt invult, wat vaak afwijkt van wat de documentatie belooft. Voor een migratie meet je wat er in de oude tabellen zit, zodat je vooraf weet welke records gaan weigeren op de nieuwe validatieregels, in plaats van het halverwege te ontdekken.
En voor je een datamodel of dashboard bouwt, check je of de sleutels uniek zijn en of de velden waarop je gaat groeperen consistent zijn ingevuld. Een rapport op ongecontroleerde data telt vrolijk verkeerd.
Stel: je krijgt een export van 8.000 klanten uit een oud CRM en je moet er een klantenoverzicht op bouwen. Voor je begint, laat je de tabel door een profiling-pass gaan. Wat komt eruit?
De kolom land heeft veertien distinct waarden voor een klantenbestand dat bijna volledig Belgisch is: "België", "Belgie", "BE", "B", "Belgium" en nog een reeks varianten. Puur een kwestie van schrijfwijze, maar elk rapport dat op land groepeert, verdeelt je Belgische klanten over vijf hokjes.
De kolom e-mail staat bij 18 procent leeg, en een handvol van de ingevulde adressen mist het apenstaartje. De kolom geboortedatum loopt van 1900 tot 2064, met standaardwaarden en typefouten die je gemiddelde leeftijd onbruikbaar maken. En op klant-id, dat de sleutel zou moeten zijn, staan 8.000 rijen maar slechts 7.850 distinct waarden: 150 dubbels, klanten die twee keer werden aangemaakt.
In een halfuur weet je nu wat je te wachten staat en welke opkuis er eerst moet gebeuren, nog voor je één visual hebt gebouwd. Zonder die pass was je er pas achtergekomen toen het klantenaantal in het dashboard niet strookte met je buikgevoel.
Profiling en datakwaliteit horen samen, maar ze doen iets anders. Profiling brengt de problemen aan het licht: het is de meting die toont waar het misloopt. Datakwaliteit is het werk daarna, de regels die je opstelt om die problemen recht te zetten en om te bewaken dat ze niet terugkeren.
De volgorde is logisch. Eerst profileren, want je kan pas een zinnige regel schrijven als je weet wat er in de kolom zit. De profiling toont dat klant-id 150 dubbels heeft, en daarop volgt de regel "klant-id moet uniek zijn" die je bij elke verwerking automatisch laat draaien. Die vaste controles heten vaak data testing: waar profiling een eenmalige foto is die je neemt voor je begint, blijft testing draaien bij elke nieuwe lading data. En data observability bewaakt je tabellen continu in productie, en slaat alarm wanneer een verse meting afwijkt van het normale patroon.
Voor dubbele records bestaat een aparte discipline, deduplicatie, en wie stamgegevens zoals klanten en producten structureel zuiver wil houden, komt vroeg of laat bij master data management uit. Profiling is telkens de eerste stap: het meet hoe erg het probleem is voor je beslist hoe je het aanpakt.
Je hoeft geen dure software te kopen om te beginnen. Drie tools die je vroeg of laat tegenkomt:
Power Query
In Power BI en Excel zit profiling ingebouwd. Onder het tabblad Beeld zet je Kolomkwaliteit, Kolomdistributie en Kolomprofiel aan, en je ziet meteen per kolom het percentage geldige, foute en lege waarden, plus het aantal distinct en unieke waarden. Let op: standaard kijkt Power Query naar de eerste 1.000 rijen. Voor een echte meting schakel je linksonder over naar profiling op de volledige dataset.
ydata-profiling (het vroegere pandas-profiling)
Een Python-bibliotheek die met één regel code een volledig rapport genereert: per kolom de statistieken, de verdelingen, de ontbrekende waarden en waarschuwingen voor zaken als hoge cardinaliteit of veel nulwaarden. Het rapport rolt eruit als een HTML-pagina die je kan delen.
Great Expectations
Een tool die de brug maakt van profiling naar vaste controles. Je legt verwachtingen vast over een tabel, bijvoorbeeld dat een kolom niet leeg mag zijn, dat de waarden uniek moeten zijn, of dat een getal tussen een min en een max ligt. De tool valideert elke nieuwe lading data tegen die verwachtingen.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen afleidingsregel legt uit hoe een nieuwe waarde wordt berekend of bepaald uit bestaande data. Ze maakt businesslogica achter velden, metr...
Lees meerAI Builder brengt AI-modellen en prompts naar Power Apps en Power Automate. Makers kunnen er onder meer documenten uitlezen, tekst classific...
Lees meerAnomaliedetectie spoort automatisch datapunten op die niet passen in het normale patroon: een factuur die uit de toon valt, een machine die ...
Lees meerAnonimisering maakt data redelijkerwijs niet meer herleidbaar tot een persoon, waardoor de GDPR niet meer van toepassing is. Pseudonimiserin...
Lees meer
Twijfel je tussen Power BI en Qlik? Lees de vergelijking van Data Panda en ontdek de verschillen in gebruiksgemak, prijs, hosting, integrati...
Verbeter de datakwaliteit van je KMO. Ontdek hoe je data juist verzamelt, schoonmaakt en automatisch up-to-date houdt voor betrouwbare rappo...