Integrazione del datawarehouse con fonti dati esterni (SQL Server) | |||
In questa parte trattaremo l'integrazione dei dati del datawarehouse con altre fonti dati esterni, presenti su supporti di tipo Excel, Access o SQL Server. Come primo esempio tratteremo un'integrazione con dati di tipo SQL Server, ma per semplicità importeremo i dati di una tabella del database di Business in uso, ma che serve comunque per capire come procedere per importare i dati da questo tipo di fonte dati in un qualsiasi caso (per importare tabelle da altri database da una qualsiasi istanza SQL Server siano essi di Business oppure no, basterà intevenire a livello di stringa di connessione, al momento della definizione dati esterni). Per replicare l'esempio basta utilizzare il database di PROVA fornito attivando il modulo della contabilità analitica (non si tratta di quello della duplice contabilile, ma di quello standard), eventualmente se non si disponesse del modulo in questione è possibile replicare gli esempi successivi di Excel e Access, in formato SQL Server. Si è scelto di lavorare sullo scenario 7 della contabilità analitica perchè riveste un valido caso di applicazione, inoltre, oltre alla tematica di integrazione dati, affronta anche l'inserimento di nuove dimensioni di tipo dato e la possibilità di integrare i dati dei budget nello scenario dell'analitica. Come prima cosa imputiamo alcuni dati direttamente da prima nota di contabilità analitica come da schermata sotto, naturalmente per realizzare tali scritture occorre preventivamente creare gli appositi budget.
Una volta inseriti i dati sopra lanciamo l'estazione dei dati del solo scenario 7, in modo da riportarli nella tabella dwarehe e per poteri poi analizzare.
A questo punto creiamo una statistica datawarehouse di prova che fa uso di tali dati (schermata sotto).
E verifichiamo tramite i dati pivot l'avvenuta estrazione dei dati e salviamo lo scenario.
A questo punto entriamo nel budget della commessa 1 per il conto 1010002, precedentemente creato altrimenti non avremmo potuto creare le registrazioni in prima nota di analitica, e inseriamo il dettaglio budget mensile sempre come da schermata sotto.
Una volta inserito i dati nel dettaglio, rimanendo posizionati sulla griglia, se utilizziamo la funzione di visualizza datatable possiamo ottenere il nome della tabella del dettaglio budget mensile (BUDGETMEN) e i relativi nomi delle colonne (NB: a volte il nome della tabella e/o delle colonne mostrate in questa schermata sono diversi da quelle del database, si consiglia quindi in caso di incertezza di fare riferimento alla struttura del database).
A questo punto visto che vogliamo integrare i dati del valore budget e della quantià budget, poichè nello scenario 7 non abbiamo dimensioni di tipo dato (gruppo=5) disponibili ad ospitare tali informazioni, dobbiamo creare queste due nuove dimensioni, tramite il programma di gestione scenari, ad esempio con progressivo campo 20700 e 20701 (maggiore di 20000). Visto che in questo caso dobbiamo obbligatoriamente usare un campo di dwarehe (questo perchè quando si importano dati esterni questi finiscono sempre in dwarehe) possiamo riciclare uno dei campi presenti su tale tabella non usati dallo scenario 7 dell'analitica di tipo numerico, tra i tanti a disposizione scegliamo ad esempio i campi dwarehe.dw_valbudg e dwarehe.dw_qtabudg (utilizzati nello scenario 1 ma non nel 7 quindi disponibili).
Naturalmente il passaggio sopra può essere saltato se, sullo scenario, abbiamo già delle dimensioni di tipo dato adatte ad ospitare i dati estreni da importare. Definiamo ora l'impostazione dei dati esterni di tipo SQL Server, in questo caso i campi obbligatori sono, oltre ad assegnare un progressivo import e selezionare come tipo estensione SQL Server, il nome della tabella (nel nostro caso BUDGETMEN) una descrizione a piacere e la stringa di connessione all'istanza\database di SQL Server (nel nostro caso possiamo copiare la stringa di connessione presente in gestione aziende/database dell'azienda in uso).
Definito il record sopra, tramite il menu strumenti passiamo a compilare il dettaglio dell'import dei dati esterni, dovre praticamente si va a fare una corrispondenza fra i campi di BUDGETMEN e di DWAREHE, un pò come nell'import/export. Qui per ogni progressivo campo che desideriamo compilare possiamo far corrispondere una colonna della tabella che vogliamo importare marcando la colonna di griglia tipo cella = colonna, oppure un valore fisso tipo cella = costante (altri valori come cella fissa, colonna multipla, ... verrano trattati negli esempi successivi).
I campi che vanno obbligatoriamente impostati sono, oltre ovviamente al codice ditta e scenario (chiavi di DWAREHE), quelli presenti nelle tabelle in INNER JOIN nella query SQL dello scenario (nel nostro esempio non ce ne sono, ma ad esempio visualizzando la query SQL dello scenario del magazzino troviamo), mentre è consigliato inserire come dimensione di periodo i dati relativi al giorno, mese e anno oppure (altrenativamente) alla data (questo soprattutto perchè tali campi sono usati anche dal programma di estrazione dati). Naturalmente se non vengono compilati tutti i campi che partecipano alle INNER JOIN delle tabelle, l'elaborazione di import dati esterni non darà errore e i record verranno comunque creati in DWAREHE, ma poi questi non verranno visualizzati nell'analisi statistica poichè scartati dalla query SQL dello scenario.
Finito di definire la relazione dati SQL Server sopra, possiamo rielaborare lo scenario 7 tramite il programma di estrazione dati datawarehouse, il quale oltre a trattare i dati standard di Business della contabilità analitica, troverà anche la nuova impostazione dati esterni e procederà anche all'aggiunta di ulteriori record in DWAREHE secondo le regole ivi definite. Dopo l'elaborazione, se rientraimo nella statistica precedentemente creata, troveremo i due nuovi campi dato aggiunti valore e quantità budget.
Una volta selezionati, se passiamo alla visualizzazione dati pivot, ci ritroveremo i dati di BUDGETMEN che tramite la definizione di import dati esterni SQL Server, sono stati importati in fase di estrazione dati in DWAREHE.
|