Data kun je in veel verschillende structuren opslaan. De meeste applicaties slaan hun data op in een relationeel datamodel een structuur waarbij efficiëntie en het zo snel mogelijk data weg kunnen schrijven de belangrijkste overwegingen zijn.
Voor Rapportage en Analyse doeleinden is het schrijven van de data niet nodig maar het snel kunnen ophalen, groeperen en filteren van grote hoeveelheden data veel belangrijker. In de praktijk gebruiken de meeste data professionals het dimensionele model van Kimball. Ook wel het stermodel genoemd. Belangrijk kenmerk van dit model is de transparantie voor de gebruiker, vrijwel iedereen kan een dimnensioneel datamodel lezen. Daarnaast is het combineren en aggregeren van detailinformatie gemakkelijk door de eenvoud van dit model.
Dit is de reden dat de datastreams wordt aangeboden in een ster structuur.
Wat is een dimensioneel of stermodel?
Een dimensioneel- of stermodel bestaat uit een centrale feiten tabel. Deze tabel bevat meetwaarden of indicatoren, ook wel measures genoemd. Het vereenvoudigde voorbeeld hieronder bevat onder andere Dienstverbanduren, verzuimuren, ziekmeldingen en herstelmeldingen. Iedere feit- of dimensietabel wordt via een apart csv bestand aangeboden.
Door in de feitentabel een verwijzing op te nemen naar een dimensie kunnen we gegevens in de feitentabel filteren of groeperen naar attributen uit deze dimensie. In het onderstaande voorbeeld hebben we een Dim_werknemerID opgenomen in de Fact_dienstverbandVerzuim. Dit noemen we een DimensieSleutel. Deze verwijst naar de dimensie: Dim_Werknemer. Nu kunnen we per werknemer het aantal dienstverbanduren en verzuimde uren optellen en bijvoorbeeld een verzuimpercentage uitrekenen. Of als we dat zouden willen het aantal dienstverbanduren groeperen naar het attribuut woonplaats uit Dim_werknemer.
Behalve een verwijzing naar Dim_werknemer is het ook interessant om de data te groeperen per werkgever. Daarom kunnen we een tweede sleutel opnemen naar Dim_werkgever. Hiermee kunnen we een verzuimpercentage uitrekenen per werkgever en deze verder uitsplitsen naar werknemers.
Zo kunnen we uiteraard door blijven gaan en meer dimensies koppelen. Uiteindelijk krijgen we dan de structuur van een stermodel waarin we de opgenomen meetwaarden kunnen uitsplitsen naar verschillende gezichtspunten.