Ho intenzione di condividere la mia esperienza con la creazione di un datacube. Ho usato SQL Server Analysis Services 2005. L'azienda è nel commercio al dettaglio e ha negozi in diverse posizioni. Ogni negozio ha il proprio server di database ma utilizza lo stesso schema di database.
Per prima cosa estraggo i dati da ciascun sito in un unico database centrale. Questo è fatto periodicamente, nel mio caso mensile. Questo database centrale utilizza lo stesso schema del database del sito.
Quindi da questo database centrale, i dati vengono massaggiati per formare lo 'schema a stella'. Nel mio caso, ho voluto creare un cubo vendita . Questo cubo di vendita dovrebbe poter essere suddiviso per prodotto, data e posizione. Il cubo di vendita dovrebbe essere in grado di mostrare la somma della quantità di articoli venduti, la somma delle vendite lorde e la somma delle vendite nette.
Per creare questo schema a stella, ho scelto di creare alcune viste per appiattire alcuni riferimenti alle tabelle:
- Una vista per unire l'intestazione vendite e le tabelle dei dettagli di vendita, esponendo data di vendita, codice prodotto, codice posizione, quantità venduta, prezzo unitario, prezzo qtà * e prezzo qty * - sconto. Questo può essere chiamato tabella dei fatti di vendita .
- Una vista per unire la tabella del prodotto con i suoi sottotabella come categoria di prodotto, ecc. Questa è l'origine dati per la dimensione del prodotto .
- Una vista per unire la tabella delle posizioni con i suoi sottotitoli. Questa è l'origine dati per la dimensione della posizione .
Per data, ho creato una tabella calendario contenente tutte le date dal 1 ° gennaio 2001 al 31 dicembre 2030 che assomigliavano a questa:
|date |year|month|dayofweek|
|2001-01-01|2001|1 |0 |
|...
Questa tabella del calendario è l'origine dati per dimensione della data .
Successivamente ho creato un nuovo progetto di "servizi di analisi" nello studio visivo. Ho impostato le viste e le tabelle sopra come origini dati, collegato il codice prodotto nella visualizzazione vendite alla dimensione prodotto, collegato la data di vendita alla dimensione data, ecc. E build il cubo.
I servizi di analisi imposteranno quindi le definizioni del cubo e popoleranno il cubo e le dimensioni. Al termine di questo processo, il cubo è pronto per l'uso.
Quindi il cubo viene popolato durante l'elaborazione. Rimarrà lo stesso se non lo rielabori.