Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre estrutura de tabela fato

Olá, boa noite

Estou realizando um estudo sobre modelagem para DW

Uma das tabelas fatos que preciso construir é sobre contratos ativos, preciso analisar essa tabela pelas dimensões:

Cliente, Cidade, Plano, Fidelidade, Valor do contrato, status (podendo ser 3 tipos ativos, suspensos, cancelados)

O ERP não armazena dados sobre alterações de cidade, plano, fidelidade e nem valor nos contrato e estes podem ser alterados, o ERP armazena somente o status atual a data de adesão suspensão e cancelamento.

A data de suspensão não é fixa, se um contrato for ativo, suspenso, ativo e suspenso ele vai manter apenas a ultima data de suspensão

No projeto que estou simulando (baseado em um ERP real) preciso construir uma visão que seja: quais os valores de contratos ao longo do tempo, planos mais comuns etc...

Para resolver esses problemas de "rastreabilidade" pensei em aplicar a técnica de Slowly changing dimensions tipo 2 na tabela de contratos, porém pelo proprio nome da técnica não sei se seria adequada de ser aplicada em uma tabela fato...

eu conheço as sequintes tabelas fatos:

Fato transacional. Fato agregada. Fato consolidada. Fato snapshot periódico. Fato de snapshot acumulado.

Porém não consigo pensar em como estruturar nenhuma delas no meu projeto alguém tem alguma sugestão seja de abordagem ou de material que possa me auxiliar?

2 respostas
solução!

Olá, Cláudio, tudo bem?

A técnica de Slowly Changing Dimensions tipo 2 é geralmente aplicada em tabelas de dimensão, e não em tabelas de fato.

No seu cenário específico, uma abordagem seria considerar a criação de uma tabela de fatos transacional, onde cada registro representa um evento ou transação ocorrida. Por exemplo, sempre que houver uma alteração em um contrato, seja relacionada à cidade, plano, fidelidade ou valor do contrato, você poderia incluir uma nova linha nessa tabela de fatos transacional. Isso permitirá o acompanhamento preciso das mudanças ao longo do tempo.

Para as dimensões que você mencionou (Cliente, Cidade, Plano e Fidelidade), é recomendável aplicar a técnica SCD tipo 2. Assim, sempre que ocorrer uma alteração em um desses atributos, uma nova linha será adicionada à respectiva tabela de dimensão, mantendo o histórico completo das alterações.

Já no status do contrato (ativos, suspensos, cancelados), você poderia considerar a criação de uma tabela de dimensão separada para rastrear essas alterações. A cada vez que o status de um contrato for modificado, uma nova linha seria inserida nessa tabela de dimensão de status.

Por fim, para analisar os valores dos contratos ao longo do tempo e os planos mais comuns, você poderia considerar a criação de tabelas de fato agregadas, que resumem os dados em um nível mais alto. Por exemplo, você poderia ter uma tabela fato agregada que mostra o valor total dos contratos para cada plano em cada mês.

Espero ter ajudado.

Caso surja alguma dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Ola boa tarde tudo bem e vc? então nesse caso seria uma boa pratica "quebrar" contratos em varias fatos? exemplo uma fato agregada por plano, uma por tempo de contrato etc?