Data ultimo aggiornamento: 28/08/2013

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Personalizzazione del datawarehouse (aggiungere nuovi campi)

Nel datawarehouse è possibile aggiungere nelle dimensioni di un qualsiasi scenario un campo aggiuntivo direttamete dal programma gestione scenari, se non si ha necessità di decodifica o di zoom/filtro. Per poter aggiungere un nuovo campo in uno scenario questo deve appartenere ad una delle tabelle già previste nelle join principali del datawarehouse del medesimo scenario (per esempio ANAGRA e ARTICO per lo scenario del ciclo attivo/passivo).

Procediamo ora con un esempio, in modo da spiegare i passi fondamentali per aggiungere un campo di tipo dimensione (gruppo 1, 2, 3 e 4 che sono rispettivamente periodo, clienti/fornitori, prodotto e documento), e a fine del paragrafo tratteremo l'inserimento di un campo di tipo dato (gruppo 5). Immaginiamo di avere la statistica che presenta il consegnato per mese per cliente di un'azienda di cosmetici, e di avere la necessita modificare la statistica in modo che presenti il consegnato per mese in base al Sesso indicato in anagrafica, per sapere l'andamento della vendita dei prodotti cosmetici durante l'anno.

Innanzitutto posizioniamoci sul tab Dati pivot della statistica che abbiamo già.

A questo punto dal menù Opzioni selezioniamo la voce Visualizza SQL.

SELECT Sum(dwarehe.dw_colli) As Colli_cons, Sum(dwarehe.dw_quant) As Quantita_cons, Sum(dwarehe.dw_colliordi) As Colli_ordinati, Sum(dwarehe.dw_quantordi) As Quantita_ordinata, Sum(dwarehe.dw_collifatt) As Colli_fatt, Sum(dwarehe.dw_quantfatt) As Quantita_fatt, Sum(dwarehe.dw_valore) As Valore_cons, Sum(dwarehe.dw_valoreval) As Valore_valuta, Sum(dwarehe.dw_valprelist) As Valore_pre_list, Sum(dwarehe.dw_valordi) As Valore_ordinato,
....
Sum(dwarehe.dw_acaquantordi) As Quantita_ordinata_aca, Sum(dwarehe.dw_acavalore) As Valore_cons_aca, Sum(dwarehe.dw_acavalprelist) As Valore_pre_list_aca, Sum(dwarehe.dw_acavalordi) As Valore_ordinato_aca, Sum(dwarehe.dw_acavalordiprelist) As Valore_ord_pre_list_aca, dwarehe.dw_mese as Mese , CASE WHEN anagra.an_descr1 IS NULL THEN '***' ELSE anagra.an_descr1 + ' - ' + LTRIM(RTRIM(STR(dwarehe.dw_conto))) END AS Cliente_forn FROM (( dwarehe INNER JOIN artico ON dwarehe.dw_codart = artico.ar_codart AND dwarehe.codditt = artico.codditt) INNER JOIN anagra ON dwarehe.dw_conto = anagra.an_conto AND dwarehe.codditt = anagra.codditt) LEFT JOIN artroot ON artico.codditt = artroot.codditt AND artico.ar_codroot = artroot.arr_codroot WHERE dw_scenario = 1 AND dw_tipo = 'VEN' AND dwarehe.codditt = 'PROVA' AND (anagra.an_codmast = 401 ) GROUP BY dwarehe.dw_mese, dwarehe.dw_conto, anagra.an_descr1 ORDER BY dwarehe.dw_mese , anagra.an_descr1

In questo caso notiamo che la tabella dell'archivio deposito DWAREHE è in join con le tabelle:

  • ARTICO
  • ANAGRA
  • ARTROOT

Poiché il campo Sesso che dobbiamo aggiungere come dimensione cliente/fornitore si trova in ANAGRA, possiamo personalizzare il datawarehouse in modo da ottenere la statistica voluta direttamente dal programma di gestione scenari, inserendo tutti i campi necessari a visualizzare la nuova dimensione:

  • Progr. campo è la chiave della tabella, deve essere univoco e per questioni di compatibilità con gli aggiornamenti deve essere superiore a 20000, decidiamo di attribuirgli il numero 20001;

  • Descr. campo rappresenta la descrizione mostrata nelle dimensioni del datawarehouse, perciò gli attribuiamo il valore Sesso;

  • Scenario dipende dallo scenario in analisi ed è proposto dal programma;

  • Gruppo dobbiamo impostare il valore della nostra dimensione, poiché il campo da aggiungere Sesso appartiene all'anagrafica, attribuiamo il valore 1 (1=cliente/fornitore, 2=prodotto 3= periodo 4=documento);

  • Flag combo lo impostiamo a No, ovvero il campo non ha decodifica;

  • Cod. tabella rappresenta il nome del campo sul nostro database composto da nome_tabella.nome_campo, nel nostro caso sarà anagra.an_sesso;

  • Des. tabella rappresenta il nome della decodifica del campo sul nostro database composto da nome_tabella.nome_campo, in questo caso non impostiamo nulla;

  • Alias è obbligatorio ed indica l'alias da utilizzare nella query, poiché questo deve essere univoco all'interno della query per mantenere compatibilità con gli aggiornamenti distribuiti, è consigliato utilizzare come parte finale dell'alias il codice tb_coddimd, in questo caso assegnamo il valore Sesso20001;

  • Tipo campo indica il tipo del nostro campo, possiamo reperire il valore visualizzando la struttura della tabella, in questo caso per ANAGRA il tipo del campo an_sesso è il testo, attribuiamo quindi il valore Stringa;

Terminato l'inserimento della nuova dimensione dovremmo aver aggiunto il record indicato.

Ora nella statistica precedente andiamo ad aggiungere la nuova dimensione creata.

Andando sul dati pivot abbiamo ottenuto la statistica che ci siamo preposti ovvero il consegnato per mese in base al sesso.

Con l'opzione di registro BSDWQVDA\OPZIONI\GestJoinMov attivata è possibile aggiungere, nello scenario del ciclo attivo/passivo, tra l'elenco delle dimensioni anche quelle presenti in MOVMAG e/o MOVORD, non presenti nell'archivio deposito. Con questa opzione il programma mette in collegamento nella query con l'archivio deposito anche la riga corrispondente di MOVORD o di MOVMAG, rendendo così disponibili anche i campi che non sono ereditati durante la fase di estrazione.

Inserimento di un campo di tipo dato (gruppo 5)

Per inserire un campo di tipo dato basta procedere come nel caso precedente, ma occorre sapere che il campo verrà totalizzato, ovvero nella stringa query sql verrà racchiuso dalla clausola sum(), qundi deve essere di tipo 'Numero' o 'Numero 3' quando viene definito nella gestione scenari.

Fanno eccezione a questa regola i campi aggiunti che iniziano con le clausole count(, min(, max( e sum(. In questo modo sarà possibile inserire campi aggiuntivi del tipo (esempio sullo scenario delle righe CRM):

Che porterà ad esempio ad avere analisi del tipo:

Clicca per accedere al sito di NTS Informatica