Pentaho: Il modo migliore per convertire una data in una dimensione del cubo drill-down-grado?

StackOverflow https://stackoverflow.com/questions/3465858

  •  27-09-2019
  •  | 
  •  

Domanda

Il mio tavolo datawarehouse contiene solo una singola colonna date SQL, ma voglio essere in grado di drill-down utilizzando i livelli di consueto anno / trimestre / mese / giorno.

ho potuto creare manualmente nuova colonna utilizzando Pentaho Kettle, e quindi creare i livelli di uno-di-uno in Pentaho Schema Workbench.

Ma questo è un compito così comune (Credo che tutti la creazione di vendita-correlati cubetti deve farlo), quindi sono sicuro Pentaho sviluppato qualcosa da fare in pochi secondi. Qual è il modo consigliato di farlo?

È stato utile?

Soluzione

Non so costruito in modo per farlo.

Ecco un trucco bello che ho imparato qualche anno fa: Avere una tabella chiamata Tempo con una riga per ogni giorno / ora, a seconda delle vostre preferenze risoluzione.

Per le date, ciascuna di queste righe contiene:

Date (date) - 2010-09-28
Day (int) - 28
Month (int) - 9
Year (int) - 2010

E si può aggiungere come molti campi come ti piace: Quarter, Day in settimana, giorno dall'inizio anno, settimana durante l'anno, ecc.

Questa tabella è pre-popolato con le date. Quando la query richiede cubo come aggregazioni, è possibile unire la tabella tempo con la tabella di data-warehouse, per creare qualsiasi aggregazione ti piace.

Un bel vantaggio di questo approccio è che utilizzando outer join nella query, è anche possibile aggiungere date vuote al report e non solo aggregato in date che contengono valori. Questa è una caratteristica importante se si drill-down per le dimensioni molto sparse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top