ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen factless fact table is een feitentabel zonder cijfers: alleen vreemde sleutels naar dimensies. Ze legt vast dat een gebeurtenis plaatsvond of dat een verband bestaat. Meten doe je door de rijen te tellen, en met een coverage-tabel zie je zelfs wat niet gebeurde.
Een factless fact table is een feitentabel zonder cijfers. Ze bevat enkel vreemde sleutels naar dimensies en legt zo vast dat iets gebeurd is of dat een verband bestaat, zonder een bedrag of aantal om op te tellen. In een ster-schema draagt een gewone feittabel meetwaarden (omzet, aantal stuks, duurtijd) plus de sleutels naar de dimensies. Een factless fact table laat die meetwaarden gewoon weg en houdt alleen de sleutels over.
Het begrip komt uit het dimensioneel modelleren van Ralph Kimball. Klinkt tegenstrijdig, een feittabel zonder feiten, maar de tabel legt wel degelijk een feit vast: het samenkomen van een aantal dimensies op een moment. Een student die een les bijwoont, iemand die inlogt, een product dat in de promotie staat. Er valt niets te meten, er is enkel een rij die zegt dat dit zich voordeed.
Kimball onderscheidt twee klassieke gebruiken, en ze beantwoorden verschillende vragen.
Event tracking
Eén rij per keer dat een gebeurtenis zich voordoet. Neem een school die aanwezigheid bijhoudt: elke rij bevat de sleutels naar student, leerkracht, vak, lokaal en dag. Meer niet. Er is geen bedrag, geen hoeveelheid, alleen het feit dat student X op dag Y aanwezig was bij les Z. Andere voorbeelden: een login op een platform, een klant die gecontacteerd werd, een ongeval dat geregistreerd werd.
Coverage of conditie
Eén rij per combinatie die mogelijk of van kracht is, ook als er verder niets mee gebeurt. Denk aan welke producten in welke winkel op welke dag in de promotie staan. Die rij bestaat zodra de promotie loopt, of er nu iets verkocht wordt of niet. Ander typisch gebruik: welke klant aan welke vertegenwoordiger toegewezen is, of wie in aanmerking komt voor een bepaald programma.
Simpel: je telt de rijen. Omdat er geen bedrag valt op te tellen, is het aantal rijen zelf je cijfer. Hoeveel lessen woonde een student bij? Tel de rijen in de aanwezigheidstabel voor die student. Hoeveel dagen stond een product in de promotie? Tel de rijen in de coverage-tabel. COUNT vervangt SUM.
Daarom hangt er bijna altijd een datumdimensie aan een factless fact table. Zonder maat om te aggregeren is het tellen van rijen over een periode net wat je wil doen.
Hier zit de echte kracht van het coverage-type. Een gewone feittabel vertelt je enkel wat er wél gebeurde. Een verkoopfeittabel bevat een rij per verkoop, dus een product dat niet verkocht heeft, staat er niet in. Je kan onmogelijk zien wat ontbreekt als de afwezigheid zelf geen rij oplevert.
Een coverage-tabel lost dat op. Ze bevat alle combinaties die mogelijk waren: elk product dat in de promotie stond, per winkel, per dag. Vergelijk je die met de verkoopfeittabel, dan vallen de gaten meteen op. Neem alle rijen uit de coverage-tabel, koppel ze met een left join aan de verkopen op product, winkel en dag, en hou de rijen over waar de verkoop leeg blijft. Dat zijn precies de promoties die niets opbrachten. Kimball vat het samen als twee tabellen naast elkaar: een coverage-tabel met alles wat kon gebeuren, en een activiteitentabel met wat effectief gebeurde. Het verschil is je antwoord.
Een factless fact table legt in de kern een veel-op-veel-verband tussen dimensies vast, zonder eigen cijfers. Dat is net wat een bridge table ook doet. Een brugtabel die enkel de sleutels van beide kanten bewaart en geen verdeelfactor of meetwaarde draagt, is technisch gezien een factless fact table. Een product dat in meerdere categorieën valt: de tabel die die paren bewaart, telt geen bedragen, ze registreert enkel dat het verband bestaat. De twee begrippen overlappen dus, ze bekijken hetzelfde soort tabel vanuit een andere hoek.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerBatchverwerking verwerkt data in blokken op vaste momenten, bijvoorbeeld elk uur of elke nacht. Het is minder direct dan streaming, maar vaa...
Lees meerEen bridge table of brugtabel is een tussentabel die een veel-op-veel-relatie in een ster-schema oplost, iets wat een gewone vreemde sleutel...
Lees meerBusiness intelligence (BI) zet de cijfers uit je ERP, CRM en andere systemen om in rapporten en dashboards waarop je beslist. Geen losse exp...
Lees meer
Zeven nieuwe Data Panda-connectors uit juni 2026, met concrete toepassingen voor rapportering, voorraad, finance, ticketing, planning en ope...
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...