Olá pessoal, como estão? tudo bem?!
Continuando com a a criação do staging para carga no data warehouse hoje estou refazendo a dimensão loja (store).
Como dito, utilizando a ferramenta Pentaho, estou montando meu primeiro portfólio real recriado do zero utilizando os novos recursos.
DIMENSÃO LOJA
O primeiro passo para criação desta dimensão foi detectar quais colunas agregariam mais valor e seriam boas para análise e medidas de KPI.
Como o banco já possui algumas views com as principais colunas, tudo que precisamos fazer foi realizar uma query com join nestas views para extrair os dados necessários. A única tabela física de fato envolvida na query foi a tabela sales.customer, onde extraí duas colunas:
- CustomerID;
- AccountNumber;
Baixe aqui a query utilizada.
Resultado parcial da query acima:

Como podemos ver temos alguns resultados duplicados, não irei me preocupar com eles agora, mas já detectamos algumas anomalias oriundas da nossa fonte.
Essa duplicação será eliminada quando formos passar para o data warehouse de fato!
Agora precisamos extrair estes dados utilizando o Pentaho para armazenarmos no stage. Adicione o step table input na sua transformação e cole a query no local.

NOTA: no último post eu esqueci de mencionar sobre o recurso circulado em vermelho chamado lazy conversion. Quando habilitado, este recurso está passa a gerenciar a conversão dos dados pela stream, mas como nem sempre funciona corretamente, o recomendado é deixar desativado alterando manualmente.
No meu exemplo, alterei o meta-data das colunas para tornar mais condizente com o tamanho real dos dados

Se quiserem testar o uso do step de sequence, basta adicionar entre a tabela final e o select values:

Aqui, a configuração da tabela de stage para a dimensão loja.

Os campos que possuem o tipo smallint são para colunas que não irão passar de 32000. Mesmo que não esteja azul, o comando é executado normalmente.
Transformação final com o log de erros adicionado

Consultando a dimensão no stage:

CONCLUSÃO
Este foi mais um post mostrando como criar uma dimensão no stage do banco e desta vez, criando a dimensão loja.
Agora temos duas dimensões concluídas e começamos a dar forma ao data warehouse.
Espero que tenham gostado do post, saúde.
Baixe aqui a transformação.