none
Ajuda com Conceito de Carga (ETL) RRS feed

  • Pergunta

  • Olá amigos.

    Estou com uma dúvida de conceito e se vocês puderem me ajudar ficarei muito agradecido.

    Imagine um banco de dados de um sistema bancário onde existe um registro de empréstimo que está com seu estado Pendente, ou seja, um cliente do banco solicitou um empréstimo e esta aguardando um posicionamento do gerente.

    Nesse momento realizo uma carga do banco de dados para o DW e esse registro de empréstimo irá para o DW.

    Em um segundo momento, após uns 2 dias, o gerente aprova o empréstimo e o estado ele então irá para Aprovado.

    Então eu preciso fazer uma nova carga do banco de dados para o DW, e é nesse momento que surgi minha dúvida.

    Na teoria um DW só pode ter consulta e inclusão, mas como devo proceder com esse registro? Veja ele já está no DW como pendente, só que agora ele foi alterado para aprovado.

    Minha dúvida é, altero o registro no DW ou devo subir essa nova informação no DW? Se eu preciso subir essa nova informação no DW não teri dados repetidos?

    Muito obrigado. 


    Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/

    sexta-feira, 14 de setembro de 2012 12:13

Todas as Respostas


  • Na teoria um DW só pode ter consulta e inclusão, mas como devo proceder com esse registro? Veja ele já está no DW como pendente, só que agora ele foi alterado para aprovado. Minha dúvida é, altero o registro no DW ou devo subir essa nova informação no DW? 

    Não tenho experiência em banco de dados de empresas de grande porte mas já trabalhei em uma empresa de vendas com SQL Server. Provavelmente não será uma resposta completa, mas acredito que seja fundamental. Com certeza você deveria guardar as informações de histórico desse empréstimo. Ou seja, uma linha para o status de Pendente e outra linha com o status de Aprovado, afinal se algum dia alguém consultar esse registro, se não tiver salvo o histórico, além dele aparecer magicamente Aprovado (pois seria o único status) você não teria a data de registro que o cliente deu entrada no empréstimo, a única data seria de Aprovação, isso vale para alterações de valores e etc. 

    Se eu preciso subir essa nova informação no DW não teri dados repetidos?

    Geralmente em uma tabela sempre tem um campo ID, caso o sistema do banco não gere por padrão uma segunda linha no banco de dados, você teria que inserir no DW uma coluna com um ID e data de registro e inserir uma linha a cada alteração. Com o ID você evitaria os registros repetidos e com a data de registro você conseguiria manter o histórico de cada operação.


    sexta-feira, 14 de setembro de 2012 13:25
  • Olá.

    Sim sobre o ID o registro será diferente, porém na hora de buscar a informação para o usuário, não posso mostrar os dois registros, porque senão a informação estará duplicada, correto?

    Isso teria que ser tratado no MDX?

    Obrigado.


    Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/

    sexta-feira, 14 de setembro de 2012 14:39
  • Sobre a informação estar duplicada, é relativo. Aqui um exemplo bem simplificado de um caso

    TABELA GERAL
    ID_tabela ID_emprestimo data_registro valor status
    1 1 2012-09-01 1000,00 Pendente
    2 1 2012-09-03 1000,00 Aprovado
    3 2 2012-09-02 1500,00 Pendente


    TABELA SIMPLIFICADA

    ID_tabela ID_emprestimo data_registro valor status
    2 1 2012-09-03 1000,00 Aprovado
    3 2 2012-09-02 1500,00 Pendente

    Na tabela GERAL você tem a informação completa de cada empréstimo e na SIMPLIFICADA, a informação do último status de cada empréstimo, note que cada linha da tabela tem um id_tabela diferente, então você pode, na construção da query, selecionar apenas o último id_tabela agrupando por id_empréstimo, ou seja, você teria apenas o último status de empréstimo agrupado pelo empréstimo. Se você vai mostrar todos os status do empréstimo ou apenas o último registro de cada empréstimo para o usuário vai depender da regra de negócio da empresa.

    • Sugerido como Resposta Renato Siqueira quarta-feira, 21 de novembro de 2012 16:51
    quarta-feira, 19 de setembro de 2012 14:49
  • Bom dia Marcos, 

    O mais indicado é guardar todos os dados ou seja, mudou o Status do Emprestimo um novo registro deverá ser carregado na fato, assim você pode futuramente realizar estudos sobre o quão é eficiente sua área de aprovação ou retenção de crédito, pegando pela diferença de dias que um emprestimo leva para passar de pendente para aprovado. 

    Então pode constar duas entradas do mesmo cliente apenas com status diferentes assim quando um analista quiser ver os dados do mesmo deverá filtrar na Dimensão Status Emprestimo apenas aprovados ou pendentes. 

    Espero ter ajudado. 

    Abraços. 


    Diogo A. Di Pietro [Business Intelligence Analyst|Data Base Administrator | Data Warehouse Administrator | Jedi Master | GM of Wow]

    quinta-feira, 27 de setembro de 2012 14:43
  • E no ETL como isto poderia ser feito? como proceder com SCD?


    terça-feira, 20 de novembro de 2012 15:02
  • Olá,

    Não entendi sua pergunta ?

    Grande abraço


    Diogo A. Di Pietro [Business Intelligence Analyst|Data Base Administrator | Data Warehouse Administrator | Jedi Master | GM of Wow]

    terça-feira, 18 de dezembro de 2012 20:00