depozit de date - Modelarea Dimensiune

voturi
1

Sunt nou la BI / Datawarehousing, iar după construirea unor probe de ușor, am nevoie de a construi o structură mai complexă. Proiectul meu a implicat inițial licențe de produse și am fost măsurat cât de multe vândute, pe lună / an și de program și la doar numărarea numărului de licențe.

Acum, cerința este de a introduce off-uri de salt de la aceste valori. Ca și în, atunci când vin la un anumit grup de licențe, pe care doresc să vadă un întreg valori diferite de cele. Cum ar fi, în cazul în care 100 de licențe au fost vândute martie 2011, cât de multe dintre ele instalate, activat și a anulat produsul. (Am urmări aceste informații, dar nu și în DW). Deci, eu sunt în căutarea pentru cel mai bun mod de a face acest lucru ... Presupun primul lucru pe care trebuie să faceți este să adăugați trei dimensiuni pentru instalate, activate și anulate - și au trei mese de fapt? Sau au un tabel de fapt cu fiecare licență, și să aibă un rând de anulat, instalat sau activat? (Deci o licență poate fi repetată). Sau au un tabel de fapt, cu diferite domenii de instalat, anulat activat? De asemenea, cum se raportează un tabel de fapt la altul? Este, prin dimensiuni, sau pot relatată în alte moduri?

Orice ajutor ar fi mult mai apreciat!

EDITAȚI | ×:

Multumesc pentru post ... am fost, de asemenea gândire a doua opțiune este, probabil, cel corect. Dar, în această implementare, am o problemă unică. Deci, una dintre faptele care este măsurată este numărul de licențe care sunt vândute - de data desigur. Să spun că am adăuga un rând de instalat, anulat activat. Cerința este ca ei să poată vedea un fapt conectat. De exemplu, dacă am adăuga rânduri individuale, având în vedere un interval de timp, eu pot spune cât de multe au fost vândute, și cât de multe au fost instalate.

Dar ei vor să vadă un anumit interval de timp, cât de mulți au fost cumpărate, și în afara ei, cât de multe instalate. de exemplu, în cazul în care intervalul de timp este martie, iar 100 au fost vândute în martie, din cei 100, cât de mulți au fost instalate - chiar dacă acestea ar putea fi instalate mult mai târziu decât martie, și, prin urmare, data de rând nu ar fi în intervalul de timp în care sunt în căutarea la .... aceasta este o problemă comună? cum este rezolvat?

Întrebat 14/04/2011 la 16:07
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
4

Presupun primul lucru pe care trebuie să faceți este să adăugați trei dimensiuni pentru instalate, activate și anulate - și au trei mese de fapt?

Nu chiar. O vânzare de licență este un fapt. Acesta are un preț.

O vânzare de licență are are dimensiuni cum ar fi data, produs, client și de program.

O „instalație“ sau „activitation“ este un eveniment de schimbare de stare a unei licențe. Ai „evenimente“ pentru fiecare licență (vânzare, instalați, activați etc.)

Deci, o licență are o „vânzare“ de fapt, o „instalație“, de fapt, și un fapt „activare“. Fiecare dintre care este (minim) o relație cu timpul.

Sau au un tabel de fapt cu fiecare licență, și să aibă un rând de anulat, instalat sau activat? (Deci o licență poate fi repetată).

Aceasta oferă cea mai mare flexibilitate, deoarece fiecare eveniment poate fi bogat cu mai multe dimensiuni. O secvență de evenimente poate fi fi apoi organizate pentru a furniza istoria unei licențe.

Acest lucru funcționează foarte bine.

Veți dori de multe ori pentru a crea tabele sintetice pentru capete de acuzare simple și sume pentru a salva a trebui să traverseze toate evenimentele pentru cele mai comune valori din tabloul de bord.

Cerința este ca ei să poată vedea un fapt conectat.

Dreapta. Participi la mai multe rânduri din tabelul de fapt împreună. Un rând în cazul în care evenimentul a fost vândut, exterior unit cu un rând în cazul în care evenimentul a fost instalat exterior unit cu rândul în cazul în care evenimentul a fost activat, etc. Se alătură doar exterior printre faptele.

Asa de. Contele de vânzări în martie este ușor. Eveniment = „Vânzare“. Timpul este toate rândurile în care time.month = „marș“. Uşor.

Contele de vânzări în martie, care a devenit instalărilor. Same „vânzări martie“, în cazul în care clauza exterior unit cu toate „instala“ evenimente pentru aceste licențe. Contele de „vânzări“ este același ca și count (*). Contele de instalările poate fi mai mic, deoarece se alăture exterior pune în unele null-uri.

Contele de vânzări în martie, care a devenit activări. Cele mai „vânzări martie“ în cazul în care clauza exterioară unite cu toate evenimentele „activare“. Rețineți că activarea nu are dată de constrângere.

Sau au un tabel de fapt, cu diferite domenii de instalat, anulat activat?

Acest lucru nu funcționează la fel de bine, deoarece coloanele tabelului dictează un proces de afaceri. Acest proces de afaceri s-ar putea schimba si vei fi tweaking la nesfârșit coloanele din tabelul de fapt.

Acestea fiind spuse că nu funcționează „la fel de bine“ înseamnă că nu oferă flexibilitate maximă. În unele cazuri, nu aveți nevoie de flexibilitate maximă. În unele cazuri, industria (sau regulamentele) pot defini o structură care este destul de fix.

De asemenea, cum se raportează un tabel de fapt la altul? Este, prin dimensiuni, sau pot relatată în alte moduri?

Dimensiuni prin definiție. Un tabel de fapt are doar două lucruri - măsurători și FK la dimensiuni.

Unele dimensiuni (cum ar fi „licență de exemplu“) sunt degenerate, deoarece dimensiunea poate avea aproape nici atribute utilizabile altele decât o PK.

Deci, ai un „vândut“, fapt ce legături cu o licență, un opțional „instalat“, fapt ce legături cu o licență și un opțional „activa“, fapt ce legături cu licență. Licența este un ID obiect (cheia surogat de baze de date) și - poate - identificatorul de licență în sine (poate un număr de serie de licență sau ceva în afara bazei de date).

Vă rugăm de Ralph Kimball Data Warehouse Toolkit înainte de a face ceva mai mult.

Publicat 14/04/2011 la 16:22
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more