Your SlideShare is downloading. ×
D       A        T   A      W       A       R     E    H        O      U        S     E



                    Minidimensi...
D     A       T   A      W       A       R      E      H       O       U         S        E


en inkomen af te splitsen va...
D        A     T     A      W     A         R         E     H       O   U     S     E


                                  ...
D     A     T    A       W     A   R        E    H       O   U      S      E


                                           ...
Upcoming SlideShare
Loading in...5
×

Kimball sterren voor flexibele informatie

1,780

Published on

Artikel in DB/M 2002-3 over ster modellering.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,780
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Kimball sterren voor flexibele informatie"

  1. 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. 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. 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. 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

×