Din cărți

Lecția 4 · Declară granularitatea înainte de orice; restul modelului decurge din ea.

Ralph Kimball, Margy Ross · The Data Warehouse Toolkit · 2013 · Kimball Group, Dimensional Modeling Techniques — Four-Step Dimensional Design Process (aceiași pași ca în The Data Warehouse Toolkit, ed. a 3-a, cap. 3)2 minute de citit
Alege procesul de afaceri. Declară granularitatea. Identifică dimensiunile. Identifică faptele.Ralph Kimball, Margy Ross · The Data Warehouse Toolkit · 2013 · Kimball Group, Dimensional Modeling Techniques — Four-Step Dimensional Design Process (aceiași pași ca în The Data Warehouse Toolkit, ed. a 3-a, cap. 3)

Granularitatea e o propoziție: «un rând = o linie de bon, într-un magazin, într-o zi».

Cei patru pași ai lui Kimball sunt în ordinea asta dintr-un motiv. Procesul de afaceri e un lucru care se întâmplă — o vânzare, o plată, un transport — nu un departament. Granularitatea e propoziția care spune ce reprezintă un rând din tabelul de fapte: „o linie de bon, într-un magazin, într-o zi”. Abia apoi vin dimensiunile — cine, ce, unde, când, contextul descriptiv — și faptele, măsurile numerice care se pot aduna la granularitatea aleasă. Rezultatul e schema stea: un tabel de fapte îngust și lung, cu chei străine spre dimensiuni late și denormalizate, fiecare cu o cheie surogat (un întreg generat de depozit, nu codul din sursă). Greșeala clasică e să amesteci granularități — linii de comandă și totaluri de comandă în același tabel — și să obții sume duble în primul raport. A doua greșeală e să ai trei dimensiuni „Client” ușor diferite; dimensiunile conformate, aceleași pentru toate procesele, sunt ce face două rapoarte comparabile.

De ce conteazăUn tabel de fapte cu granularitate nedeclarată produce cifre care se contrazic între rapoarte, iar nimeni nu poate spune care e cea corectă.

ProcesGranularitateDimensiuniFapte
Ordinea nu e negociabilă: faptele se pot aduna doar la o granularitate declarată.
Deschide pe YouTube

Vezi tot fluxul