Av erfaring vet jeg at mange som ønsker å lære seg Power BI eller andre BI-løsninger sliter med å utnytte potensialet som ligger i riktig datamodellering.

Mange fra forretningsroller har gjerne god kompetanse i Excel hvor en typisk fremgangsmåte er å samle data fra ulike kilder i en "master-tabell" som inkluderer alt man trenger. Dette fungerer i Excel opp til visse datamengder, men vil fort knekke en større datamodell for BI-formål.

Andre fra mer tekniske roller har gjerne veldig god forståelse for datamodeller generelt, men har ikke alltid jobbet like mye med modeller for rapporteringsformål.

"Stjerneskjema" (Star Schema) er den foretrukne modelltypen man bør etterstrebe å bygge for innsikt og analyse. Dette er ikke et nytt fenomen, men et gammelt metodeverk ofte kreditert til Ralph Kimball i forbindelse med hans arbeid med datavarehus.

Og som tegningen under viser (eller kanskje ikke?), så stammer navnet fra at modellene ser ut som stjerner.

Hva er stjerneskjema?

Et i et stjerneskjema har man et tydelig skille mellom såkalt fakta og dimensjoner. Man samler med andre ikke all data i en tabell, men man forholder seg til én faktatabell (eller noen få) og dens relasjoner med utfyllende informasjon i dimensjonene.

Dette har flere fordeler. Først og fremst er det en veldig effektiv struktur med tanke på kapasitet, men det er også en veldig god struktur å bygge videre logikk og kalkulasjoner i BI-verktøy på.

En faktatabell inneholder transaksjoner, og vil ofte ha svært mange rader. Typiske eksempler på transaksjoner kan være salg, bestillinger eller regnskapstransaksjoner.

For å unngå å duplisere mye plasskrevende informasjon i faktatabellen benytter man i stedet dimensjonstabeller som støtte.

Ved en salgsanalyse, så bør man eksempelvis lagre kundenummer i faktatabellen og knytte til en dimensjonstabell med kundeinformasjon. Her vil man da finne kundenavn, adresse og annen tilgjengelig informasjon som er interessant for analysen.

Det samme vil da gjelde for produkter, regnskapskontoer, avdeling, salgsansvarlig og så videre. Dette eksempelet ville da sett slik ut i eksempelvis Power BI (hver dimensjonstabell ville riktignok hatt flere felt):

En helt ren stjerneskjema-modell er ikke alltid mulig eller ønskelig. Ofte trenger man eksempelvis flere faktatabeller for analysen. Man ønsker gjerne å analysere antall tilbud man har sendt opp mot salg (to faktatabeller). Da skal beste praksis være å benytte de samme dimensjonstabellene på tvers av faktatabellene så godt det lar seg gjøre.

Bildet viser en "en-til-en" relasjon mellom fakta- og dimensjonstabeller, men en faktatabell vil ha en "mange-til-en" relasjon til dimensjonstabellene.

"Snowflake-model" er også tett knyttet opp til stjerneskjema. Dette er i tilfeller med ulike nivå på dimensjonene. Eksempelvis; produkt som dimensjon, men også utfyllende informasjon om ulike produktkategorier.

Dette var en kort innføring et komplekst og stort tema. For mer utfyllende informasjon finnes det mange gode kilder ved å søke etter "Star Schema Power BI", som eksempelvis Microsofts egen dokumentasjon her.