versione italiana versione italiana
english version english version

Incrociare mesi e anni sulla dimensione tempo

Spesso l’utente usa una PivotTable per estrarre i dati da un database OLAP e desidera ottenere la visualizzazione di una misura (per esempio le vendite) incrociando i mesi sulle righe e gli anni sulle colonne: in questo modo ha modo di confrontare velocemente i valori mese per mese e gli stessi mesi in anni diversi. Il problema ricorrente è che la dimensione tempo da usare è una sola, e non è possibile mettere il livello “Anno” sulle colonne di una PivotTable e il livello “Mese” sulle righe.

Per ovviare a questo problema si cerca spesso di trovare una soluzione sul client, quando invece la soluzione è facilmente ottenibile lavorando sul server. Se si crea una dimensione virtuale che chiameremo “Mese”, basata sul valore del livello “Mese” della dimensione “Tempo”, otterremo due dimensioni diverse per il client, che potrà così effettuare tutti gli incroci desiderati, senza penalizzare i tempi di elaborazione del cubo, visto che la dimensione virtuale non crea ulteriori aggregazioni.

L’unica controindicazione a questa tecnica è nel caso si abbiano diverse dimensioni temporali nello stesso cubo, intese come dimensioni logicamente diverse (es. data ordine e data spedizione) e non come gerarchie diverse di una stessa dimensione (come tempo solare e tempo fiscale). In una tale situazione, è vero che si potrebbe definire una dimensione virtuale “Mese” per ogni dimensione temporale (es. “Mese ordine” e “Mese spedizione”), ma bisogna considerare se il risultato finale è percepito come chiaro e utilizzabile dall’utente o se invece l’aumento delle dimensioni disponibili crei troppa confusione all’utilizzatore.