1. D A T A W A R E H O U S E
Minidimensies en rapportages in de praktijk
‘Kimball-sterren’ voor
flexibele informatie
Alexander van Helm en Murad Maas
D it artikel beschrijft twee praktijk-
voorbeelden die laten zien hoe
zogenaamde Kimball-sterren
gebruikt kunnen worden voor flexi-
bele informatievoorziening. Het eer-
Verkoopfeiten
Tijd key (FK)
Product key (FK)
Klant key (FK)
Klantdimensie
Klant key
Achternaam
Voornaam
Geboortejaar
ste voorbeeld toont hoe het historisch Demografie key (FK) Adres
effect van minidimensies is te creëren Aantal Postcode
Omzet Woonplaats
met behulp van procesdata. Uit het Demografische dimensie
Kosten Sofinummer
tweede voorbeeld blijkt hoe specifie- Demografie key Demografie key (FK)
ke rapportagegroepen makkelijk Leeftijd categorie
geselecteerd kunnen worden. Inkomen
Geslacht
Burgerlijke staat
Kimball-sterren worden vooral gebruikt Koopgedrag
voor datamarts. Dimensies moeten het ver-
haal vertellen over de gegevens. In de F IGUUR 1: K LASSIEK VOORBEELD VAN AFGESPLITSTE ATTRIBUTEN TOT MINIDIMENSIE .
meeste ontwerpen van dimensies bestaan
daardoor -op de technische dataware- van voor verandering in de ETL-program- den of zelfs puur te creëren met die pro-
housesleutel en -geldigheidsperiode na- matuur. Maar ook zullen miljoenen cesgegevens, die bepalend zijn voor de
alleen velden die voor de informatie- records moeten worden aangepast, en dat afleiding van de actuele situatie. Tevens
voorziening interessant zijn. De ETL- is zonde van de ICT-moeite. Kunnen we door de attributen waarvan de actuele situ-
programmatuur die de ster vult bevat de dat voorkomen? atie interessant is, af te splitsen als minidi-
afleidingsregels, die aangeven welk mensie. Dit is mogelijk dankzij het histo-
dimensierecord bij een bepaald feit hoort. risch effect van die dimensies.
De afleidingsregels zijn de business- GEBRUIK VAN PROCESDATA Een minidimensie is een stel attribu-
rules: de logica die vertelt hoe een organi- ten, die afgesplitst worden uit een dimen-
satie naar haar gegevens kijkt. Zijn de Kan het datawarehouse ervoor zorgen dat sie om op hun beurt een nieuwe dimensie
business-rules ingebouwd in de ETL-pro- de actuele afleiding beschikbaar is? te vormen. De oude dimensie verwijst
grammatuur, dan zorgt een wijziging daar- Zeker kan dat. Door dimensies uit te brei- met behulp van de datawarehousesleutel
naar de minidimensie. In de oude dimen-
Definitie Kimball-ster sie wordt de datawarehousesleutel bijge-
werkt (historie type 3) naar de actuele
Een Kimball-ster is een datamodel speciaal ontworpen voor informatievoorziening. Hij situatie. De historische verwijzing is te
bestaat uit een feitentabel met daaraan gekoppeld dimensies. Feittabellen bevatten de vinden in de feitentabel. Meestal wordt
meetwaarden, de te rapporteren gegevens. Dimensies vormen de business-’kapstok’. Ze een minidimensie afgesplitst om teveel
omschrijven hoe men naar gegevens moet kijken. Denk hierbij aan hierarchieën en der- groei in de dimensie (historie type 2) te
gelijke. Ze geven aan hoe de gegevens aan elkaar relateren. Het bijzondere aan een voorkomen.
Kimball-ster is dat bij een join altijd een rechtstreekse koppeling bestaat tussen de fei- We geven een klassiek voorbeeld, uit
tentabel en de betrokken dimensie. de cursus van Harm van der Lek. Door
met name de attributen leeftijdcategorie
Database Magazine - Nummer 3 - mei 2002 34
2. D A T A W A R E H O U S E
en inkomen af te splitsen van de klantdi-
mensie vermijden we veelvuldig stapelen; Grootboek dimensie Boekingsregel dimensie
zie figuur 1. Grootboek key Boekingsregel key
Grootboek nummer Type zorgverlener
Grootboek omschrijving Type verrichting
Premiesoort
MINIDIMENSIES EN HISTORIE Grootboek key (FK)
Grootboek nummer
Grootboek omschrijving
Wat is het effect van minidimensies op de
historie? In de oude (klant)dimensie staat Declaraties feiten
de actuele verwijzing naar de minidimen- Boekstuknummer
sie. Nu kunnen we door een rechtstreekse
Grootboek key (FK)
koppeling van de feitentabel naar de mini- Boekingsregek key (FK)
dimensie kijken naar de demografische Meetwaarden
waarden ten tijde van het feit en door een
koppeling naar de minidimensie via de F IGUUR 2: G ROOTBOEKDIMENSIE - ATTRIBUTEN OPGENOMEN IN DE BOEKINGSREGELDIMENSIE .
klantdimensie naar de actuele demografi-
sche waarden. drukken dan in het andere jaar. Voor het wijziging in de data is dan het verwijzende
Hoewel dit in de literatuur als bijko- bedrijf is het interessant te weten op welke record in de actuele grootboekdimensie.
mend effect wordt gepresenteerd, kun je in grootboekrekening een schade drukt bij Kijk wat er gebeurt met volgnummer 21
de praktijk dit effect juist opzoeken. We registratie, maar ook waarop de declaraties van boekstuknummer 9812000001 in tabel
proberen dat toe te lichten aan de hand nu zouden drukken. Met dat in het achter- 1, met betrekking tot drie huisartsbezoeken
van een praktijkvoorbeeld. hoofd is de volgende oplossing bedacht. voor 120 gulden, in de tabellen 2, 3 en 4.
Bij de Agis Groep -en waarschijnlijk In plaats van alleen een grootboekdi- Een join van declaratiefeiten met de
ook bij andere zorgverzekeraars- wordt de mensie te creëren is een boekingsregeldi- twee dimensies, levert vóór de verandering
grootboekrekening waarop een declaratie mensie aangemaakt. Deze dimensie heeft het resultaat op van tabel 5. En na de ver-
drukt, bepaald door een aantal zaken: als attributen de procesgegevens van het andering ontstaat tabel 6.
• type zorgverlener (zorgverlenersoort en grootboek (type zorgverlener, type verrich- Zo kunnen we een ingewikkeld pro-
specialisme); bleem oplossen, door een dimensie te creë-
• type verrichting (honoreringssoort en ren met procesgegevens die bepalend zijn
honoreringscode); voor de actuele situatie (type zorgverlener,
• premiesoort (welk pakket dekt de Het datawarehouse kan type verrichting en premiesoort) en de attri-
declaratie). ervoor zorgen dat de actu- buten waarvan zowel de actuele als histori-
ele afleiding beschikbaar is sche waarde interessant is (de grootboekdi-
Dit zijn procesgegevens, die we kunnen mensie) af te splitsen als minidimensie.
omschrijven als boekingsregel. De boe- Natuurlijk moet de ETL-programmatuur
kingsregels kunnen per jaar veranderen. ting en premiesoort) en alle attributen van nog wel ontwikkeld worden. Vooral voor
In het ene jaar kan een zelfde soort decla- de grootboekdimensie. Deze is een minidi- prognoses en ‘what if’-analyses is dit ge-
ratie op een andere grootboekrekening mensie van de boekingsregeldimensie. bruik van minidimensies zeer interessant.
Doordat de boekingsregel tijdens de
verwerking wordt bijgewerkt naar de actu-
Rapportage groep deelname
ele situatie zijn declaraties historisch RESULTAAT
Rapportage groep
Klantnummer (grootboekdimensie) en actueel (boekings-
regeldimensie) te bekijken. Voor de helder- De procesgegevens hoeven voor de
heid van het model zijn alle grootboekdi- gebruiker niet zichtbaar te zijn. Datamarts
mensie-attributen opgenomen in de boe- worden hetzij via een logische laag beke-
kingsregeldimensie. Dit betekent wel dat ken of doorgeladen in een OLAP-tool; in
men elke verandering in de grootboekdi- de praktijk bij Agis is dat Business Objects.
Feit tabel
mensie ook moet doorvoeren in de boe- De procesgegevens worden dan niet aan
kingsregeldimensie (zie figuur 2). de gebruiker getoond. Deze heeft beschik-
Klantnummer We werken het voorbeeld uit met fictie- king over een actueel grootboek, een his-
Dimensie
Meetwaarden ve gegevens. Stel dat huisartsbezoeken torisch grootboek of in sommige gevallen
eerst drukken op grootboekrekening ‘huis- zelfs beide.
arts algemeen’ (5) en vanaf een bepaald Het gewenste resultaat is bereikt. Deze
F IGUUR 3. moment op ‘huisarts praktijk’ (6). De enige werkwijze is natuurlijk op meer problemen
Database Magazine - Nummer 3 - mei 2002 35
3. D A T A W A R E H O U S E
dan het grootboek alleen toepasbaar, en de
Declaratie feiten techniek is eventueel ook in sneeuwvlok-
Boekstuk- Volg- Actueel Historisch Aantal Bedrag schema’s te gebruiken.
nummer nummer grb grb
... ... ... ... ... ...
9812000001 21 5 5 3 120 RAPPORTAGEGROEPEN
... ... ... ... ... ...
Vaak wordt met veel moeite een specifieke
TABEL 1. klantengroep bepaald, waarop allerlei rap-
portages gemaakt moeten worden. Deze
Grootboek dimensie klantengroep is niet eenvoudig te bepalen
Key Omschrijving en bestaat misschien wel uit duizenden
... ... klanten. Men moet daarom een mechanis-
5 Huisarts algemeen
6 Huisarts praktijk
... ... Een eenvoudige beperking
is tot een selectieve groep
TABEL 2. te maken
Boekingsregel dimensie voor verandering
Key Zorg- Honorerings- Premie- Grb key Omschrijving me bedenken dat deze groep bewaart en
verlener code soort inzetbaar houdt voor andere rapportages.
... ... ... ... ... ... In de praktijk wordt veelal gekozen
123 1010 1234567890 01011010 5 Huisarts voor de aanmaak van tijdelijke tabellen
algemeen met daarin de klantnummers van deze
... ... ... ... ... ... groep. Dit werkt prima, zolang het data-
warehouse maar door een zeer selecte
TABEL 3. groep mensen wordt bekeken, die zelf ook
werken aan de ontwikkeling daarvan.
Boekingsregel dimensie na verandering Zodra het warehouse echter breder ingezet
Key Zorg- Honorerings- Premie- Grb key Omschrijving wordt, zal de organisatie moeten waken
verlener code soort voor een wildgroei van tabellen. Ook kost
... ... ... ... ... ... dit erg veel onderhoud op de logische
123 1010 1234567890 01011010 6 Huisarts praktijk laag: kenbaar maken en joinen van de tij-
... ... ... ... ... ... delijke tabellen.
De Agis Groep maakte veelvuldig
TABEL 4. gebruik van steekproeven. Denk hierbij
aan bepaalde selectiegroepen, bijvoor-
Boekstuk- Volg- Actueel Historisch Aantal Bedrag beeld suikerpatiënten, en een tegengroep
nummer nummer grb grb voor medische onderzoeken. Steekproeven
... ... ... ... ... ... zijn namelijk eigenlijk niets meer dan rap-
9812000001 21 Huisarts algemeen Huisarts algemeen 3 120 portagegroepen, waarvoor je de afleiding
... ... ... ... ... ... niet telkens opnieuw wilt doen. Bij Agis
moest een flexibelere methode worden
TABEL 5. bedacht dan het gebruik van tijdelijke
tabellen. Dat is gelukt, en de gevonden
Boekstuk- Volg- Actueel Historisch Aantal Bedrag oplossing is vrij eenvoudig in een wille-
nummer nummer grb grb keurig datawarehouse te implementeren.
... ... ... ... ... ... • Maak een brugtabel met daarin klant-
9812000001 21 Huisarts praktijk Huisarts algemeen 3 120 nummers gekoppeld aan een rapporta-
... ... ... ... ... ... gegroep.
• Zorg dat in alle feiten het klantnummer
TABEL 6. als de-generate dimension opgeslagen is.
• Een nieuwe rapportagegroep laad je
Database Magazine - Nummer 3 - mei 2002 36
4. D A T A W A R E H O U S E
door de tabel uit te breiden met de rap-
Boekstuknummer Volgnummer Klantnummer Aantal Bedrag portagegroepgegevens. Hiervoor is
9812000001 5 123456789 5 120 geen technische aanpassing nodig.
9812000001 8 123456789 2 250 Zuiver gezien is de rapportagegroepbrug-
9812000001 12 123456789 8 300 tabel overigens een factless fact-tabel over
9812000013 2 123456789 2 220 deelname aan rapportagegroepen.
9812000001 12 987654321 8 300 Het is nu mogelijk feiten voor een rap-
9812000003 1 987654321 1 60 portagegroep te bekijken door via de brug-
9812000003 4 987654321 4 80 tabel deze rapportagegroep als voorwaarde
9806000001 1 123451234 2 120 te stellen. Pas wel op dat de voorwaarde
Totaal 32 1450
TABEL 7: D ECLARATIES . Deze werkwijze is natuurlijk
op meer problemen dan het
Klant Rapportagegroep grootboek alleen toepasbaar
123456789 Suiker
123451234 Suiker
987654321 Hart altijd op één rapportagegroep of op elkaar
123451234 Hart uitsluitende rapportagegroepen wordt
gelegd, omdat anders dubbeltellingen
TABEL 8: R APPORTAGEGROEPEN . kunnen ontstaan. Via een logische laag
kan dit ook aan de gebruikers beschikbaar
Boekstuknummer Volgnummer Klantnummer Aantal Bedrag gesteld worden. (Zie figuur 3.)
9812000001 5 123456789 5 120 Een voorbeeld uitgewerkt met fictieve
9812000001 8 123456789 2 250 data geven de tabellen 7 tot en met 11. Let
9812000001 12 123456789 8 300 in de laatste, ‘Declaraties voor rapportage-
9812000013 2 123456789 2 220 groep suiker of hart’, op de dubbeltelling.
9806000001 1 123451234 2 120
Totaal 19 1010
ROBUUST EN FLEXIBEL
TABEL 9: D ECLARATIES VOOR RAPPORTAGEGROEP SUIKER .
Uit beide voorbeelden blijkt dat, met een
Boekstuknummer Volgnummer Klantnummer Aantal Bedrag beetje creativiteit, Kimball-sterren robuus-
9812000001 12 987654321 8 300 te en toch flexibele oplossingen kunnen
9812000003 1 987654321 1 60 bieden voor op het eerste gezicht lastige
9812000003 4 987654321 4 80 problemen. Zowel een actueel als histo-
9806000001 1 123451234 2 120 risch perspectief is zichtbaar te maken
Totaal 15 560 door het creëren van minidimensies. Met
de rapportagegroeptechniek kan een een-
TABEL 10: D ECLARATIES VOOR RAPPORTAGEGROEP HART. voudige beperking tot een selectieve groep
worden gemaakt. q
Boekstuknummer Volgnummer Klantnummer Aantal Bedrag
9812000001 5 123456789 5 120 Alexander van Helm
9812000001 8 123456789 2 250 (a.vanhelm@pinkroccade.com) is werkzaam bij
9812000001 12 123456789 8 300 PinkRoccade en gespecialiseerd in business intelli-
9812000013 2 123456789 2 220 gence & datawarehousing. Hij was en is betrokken
9812000001 12 987654321 8 300 bij datawarehouses voor onder meer KLM, Delta
9812000003 1 987654321 1 60 Lloyd en Agis Groep. Aan het in dit artikel
9812000003 4 987654321 4 80 beschreven project bij Agis heeft ook Van Helms
9806000001 1 123451234 2 120 collega Gert-Jan Kooren gewerkt.
9806000001 1 123451234 2 120 Murad Maas is werkzaam bij Agis Groep als infor-
Totaal 34 1570 matie-analist en systeemontwikkelaar. Hij is vanaf
het begin betrokken geweest bij de ontwikkeling
TABEL 11: D ECLARATIES VOOR RAPPORTAGEGROEP SUIKER OF HART. van het datawarehouse van zijn bedrijf.
Database Magazine - Nummer 3 - mei 2002 37