none
Relacionamento ao montar Cubos RRS feed

  • Pergunta

  • Prezados,

    Estou trabalhando com Analysis Services gerando cubos e parei em um problema.

    Tenho a seguinte estrutura de tabelas:

    * TB_Estudante (IDEstudante, NMEstudante)

    * TB_Endereco (IDEndereco, NMRua)

    * TB_EstudanteEndereco (IDEstudante, IDEndereco)

    Meu problema é relacionar estes dados ao montar meu cubo visto que o estudante pode ter mais de 1 endereço. Não consegui outra forma a não ser fazendo um JOIN entre as TB_Estudante e TB_EstudanteEndereco, mas isto replica meus dados da TB_Estudante N vezes q quantidade de endereços que ele tem.

    Alguma sugestão por favor?

    Desde já agradeço,

    Rafael

    segunda-feira, 2 de setembro de 2013 13:53

Todas as Respostas

  • Na verdade, se você já tem uma tabela com os dados cruzados de Estudante e Endereço, você já tem sua tabela de fatos montada, o Estudante e Endereço não seriam rótulos dos dados da sua tabela de fatos?
    • Sugerido como Resposta fernando silva 1 terça-feira, 3 de setembro de 2013 18:39
    segunda-feira, 2 de setembro de 2013 19:49
  • Rafael,

    Concordo com a Andressa!!!!

    Sua tabela fato será na verdade a base para que os dados que estão relacionados com as outras tabelas venham a ser disponibilizados para o seu Cubo.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 6 de setembro de 2013 14:26
  • Rafael,

    Você está usando as tabelas TB_Estudante, TB_Endereço e TB_EstudanteEndereco como dimensão? Caso esteja, seria interessante rever a modelagem do seu data mart ou data warehouse (DW). Desnormalizar essa estrutura seria o melhor caminho a seguir.

    Como você já está dizendo que um estudante pode ter vários endereços, então, provavelmente o melhor modelo pra você é o snow flake, onde tem uma dimensão tem relacionamento direto com outra e não apenas com a tabela de fatos.

    Por exemplo: Dim_Estudante (id_estudante, matricula, nome, data_nascimento)

          Dim_Endereço (id_endereço, id_estudante, rua, cep, bairro, ....)

    Nesse exemplo, apenas a dimensão estudante teria ligação direta com sua tabela de fatos, a dimensão endereço teria ligação direta apenas com a dimensão estudante, como os campos nela sugerem.

    Se tiver mais detalhes do seu problema ajuda-nos na solução.

    Espero ter ajudado.


    Nayron Araújo - Desenvolvedor BI - Setor de TI - Universidade Potiguar - UnP



    quarta-feira, 11 de setembro de 2013 14:23