• Non ci sono risultati.

CAPITOLO 4 INDIVIDUAZIONE DATA MART

4.2 Tabella dei fatti

4.2.1 Flusso di caricamento

In questa sezione si analizzeranno tutti gli step che hanno portato alla formazione della fact table. Rispetto al modello logico, si avrà modo di osservare la presenza di campi tecnici che in una prima fase non sono stati presi in considerazione, ma nel corso dello sviluppo si sono resi necessari affinchè la logica di calcolo potesse essere applicata. Gli step che si mostreranno partiranno dal primo Schema del primo livello (ST) e si “salirà” fino al Datamart. Prima di procedere con il dettaglio

della descrizione, si raccolgono in una rappresentazione che potrebbe essere da guida tutte le strutture coinvolte:

Figura4.3: Diagramma Strutture FT_CONTRACT

a) Staging Area

La tabella ST_CONTRACT viene popolata da un fornitore esterno che provvederà anche alla pulizia dei dati in essa contenuti. Si procede, quindi, con lo script di creazione, in cui saranno visibili alcuni dei campi presenti nel modello logico letti; per quanto riguarda i restanti, invece, occorrerà eseguire delle elaborazioni future.

Tesi di Laurea Magistrale 2015/2016

36

Figura4.4: Script creazione ST_CONTRACT

b) ODS

Nello schema ODS si provvede ad elaborare una struttura storicizzata, mediante l’utilizzo di procedure e viste. A tal proposito, viene riportato lo script della

procedura PRC_WT_D_DW_HIST_CONTRACT che ha il compito di popolare, per il giorno in cui si effettua l’esecuzione, per ogni contratto ancora in corso di

validità, la tabella WT_DELTA_DW_HIST_CONTRACT partendo dalla tabella DW_HIST_CONTRACT che contiene lo storico di tutte le movimentazioni avvenute per i contratti. Ogni giorno, la procedura provvede ad effettuare la TRUNC della tabella e l’INSERT con i record di quel giorno. Si provvede a

mostrare lo script di creazione della DW_HIST_CONTRACT specificando, però, che la sua elaborazione non verrà esplicitata nell’elaborato corrente in quanto

Tesi di Laurea Magistrale 2015/2016

37

Tesi di Laurea Magistrale 2015/2016

38

Interessante è lo script della procedura che oltre ad effettuare le elaborazioni descritte nelle righe 45-63 esegue dei check sulla correttezza dell’esecuzione e scritture nella tabella predisposta ai log.

Tesi di Laurea Magistrale 2015/2016

39

Tesi di Laurea Magistrale 2015/2016

40

La procedura scrive sulla tabella di cui si presenta lo script di creazione in Figura13; essa è partizionata in base ai record con contratto in essere e quelli che risultano chiusi.

Figura4.7: Script creazione WT_DELTA_DW_HIST_CONTRACT

c) DDS

Nello Schema corrente si è provveduto all’ulteriore elaborazione dei dati presenti sulla tabella dei fatti. In particolare, si andrà a considerare la vista VS_WT_DELTA_HIST_CONTRACT in cui viene letta la tabella presente sull’ODS DW_HIST_CONTRACT per reperire tutti i record elaborati in quel

Tesi di Laurea Magistrale 2015/2016

41

giorno.

Figura4.8: Script creazione VS_WT_DELTA_HIST_CONTRACT

La tabella WT_DELTA_DATE è una tabella aggiornata giornalmente dal sistema con la data corrente, dove per corrente si intende la data del giorno precedente (sysdate-1): oggi, ad esempio, saranno caricati i dati di ieri.

Allo script della vista segue quello di creazione della tabella omonima: WT_DELTA_HIST_CONTRACT.

Tesi di Laurea Magistrale 2015/2016

42

In questo punto intervengono diverse strutture presenti nel DW aziendale per il corretto calcolo della struttura CONTRACT. Non è stato possibile presentare interamente lo script coinvolto per la VS_WT_FT_CONTRACT, ma si è pensato, per completezza, di mostrarne almeno il frammento relativo alla create. In Figura17 è presentata la tabella popolata dalla vista citata.

Tesi di Laurea Magistrale 2015/2016

43 Figura4.11: Script creazione WT_FT_CONTRACT

d) DM

Il primo step che si è compiuto sullo Schema del secondo livello è stato quello di utilizzare una procedura per copiare la tabella WT_FT_CONTRACT dal DDS al DM. Per permettere ciò, ovviamente, è stata creata la tabella sul DM e poi è stata popolata mediante la PRC_COPY_CONTRACT.

Figura4.12: Script creazione WT_FT_CONTRACT

Tesi di Laurea Magistrale 2015/2016

44

mediante DB-link sui dati della tabella omonima presente sul DDS e inserisce questi sullo schema del secondo livello come mostrato nelle righe 11-27 della Figura19.

Figura4.13: Script PRC_COPY_CONTRACT

Rispetto al modello logico, fino a questo punto erano assenti i campi relativi al VAL_DISCOUNT e al FLG_TERMINATED il cui calcolo è previsto nella vista VS_WT_FT_CONTRACT_TOT in quanto coinvolge strutture esterne a quelle della CONTRACT presenti sul DM. I record vengono calcolati mediante due UNION in cui vengono considerati i contratti presenti nella WT_FT_CONTRACT in join con tabelle presenti nel DW. Si evidenzia come i due campi finora mancanti vengano ottenuti attraverso CASE WHEN precisamente nelle righe 23-34 e 50-54.

Tesi di Laurea Magistrale 2015/2016

45 Figura4.14: Script VS_WT_FT_CONTRACT_TOT

La tabella WT_FT_CONTRACT_TOT, quindi, presenterà tutti i campi previsti nel modello logico.

Tesi di Laurea Magistrale 2015/2016

46 Figura4.15: Script WT_FT_CONTRACT_TOT

Per terminare la presentazione degli step utili alla determinazione della tabella dei contratti, si presenta lo screen del tool Toad in cui viene mostrata la FT derivante dallo script di creazione presente in Figura9.

Tesi di Laurea Magistrale 2015/2016

47 Figura4.16: Screen Toad FT_CONTRACT

Documenti correlati