Pentaho: Melhor maneira de converter uma data em uma dimensão de cubo de perfuração para baixo?

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

  •  27-09-2019
  •  | 
  •  

Pergunta

Minha tabela de dataware apenas contém um único date Coluna SQL, mas quero poder perfurar usando os níveis habituais de ano/trimestre/mês/dia.

Eu poderia criar manualmente uma nova coluna usando a Kettle Pentaho e, em seguida, criar os níveis um por um no Pentaho Schema Workbench.

Mas essa é uma tarefa tão comum (acho que todo mundo criando cubos relacionados a vendas precisa fazê-lo), então tenho certeza de que Pentaho desenvolveu algo para fazê-lo em segundos. Qual é a maneira recomendada de fazer isso?

Foi útil?

Solução

Não conheço uma maneira integrada para fazer isso.

Aqui está um bom truque que aprendi alguns anos atrás: tenha uma mesa chamada Time com uma linha por dia/hora, dependendo das suas preferências de resolução.

Para datas, cada uma dessas fileiras conterá:

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

E você pode adicionar quantos campos quiser: trimestre, dia em semana, dia a partir do início do ano, semana após ano, etc.

Esta tabela é pré-populada com datas. Quando sua consulta exige agregações como cubo, você pode ingressar no horário com a tabela de data-warehouse, para criar qualquer agregação que desejar.

Uma boa vantagem dessa abordagem é que, usando as junções externas na consulta, você também pode adicionar datas vazias ao relatório e não apenas agregar em datas que contêm valores. Esse é um recurso importante se você perfurar dimensões muito escassas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top