Ir para conteúdo principal
Referências circulares

NESTA PÁGINA

Referências circulares

Se existirem referências circulares (loops) em uma estrutura de dados, as tabelas serão associadas de forma que haja mais de um caminho de associações entre dois campos.

Faça o seguinte:

  1. Abra o editor de carregamento de dados no aplicativo Scripting Tutorial.
  2. Clique em P para adicionar uma nova seção de script.
  3. Nomeie a seção Region.
  4. Em DataFiles no menu direito, clique em Selecionar dados.

  5. Carregue e, em seguida, selecione Region.txt. Uma janela de visualização de dados é aberta.
  6. Selecione todos os campos e certifique-se de que Nomes de campos incorporados em Nomes de campos está selecionado para incluir os nomes dos campos da tabela quando você carregar os dados.
  7. Clique em Inserir script.
  8. Clique em Carregar dados.
  9. Dessa vez, parece que há algo de errado com sua carga de dados. Uma referência circular foi criada. A janela Andamento da carga de dados mostrará uma mensagem de erro, declarando que uma referência circular foi encontrada durante o carregamento. No entanto, a carga é concluída e o aplicativo é salvo.

  10. Abra o Visualizador do modelo de dados.
  11. Você pode arrastar as tabelas para reorganizá-las de modo a facilitar a visualização das conexões entre as tabelas.

    Visualizador do modelo de dados mostrando referência circular
    Data model viewer showing circular reference.

    As linhas vermelhas pontilhadas indicam que foi criada uma referência circular. Isso é algo que deve ser evitado, já que pode causar ambiguidades na interpretação dos dados.

Solucionando referências circulares

Para que possamos entender o que causou as referências circulares, vamos dar uma olhada mais de perto em suas tabelas no Visualizador do modelo de dados.

Se você olhar para Table1 e para Table2 na captura de tela acima, verá que elas possuem o campo Date em comum. Também poderá ver que Table1 e Region possuem o campo SalesKey em comum. Por fim, observe que Table2 e Region possuem o campo Week em comum. O que significa que um loop, uma referência circular, foi criado. Como isso pode causar problemas posteriores na análise de dados, vamos removê-lo.

O modo mais fácil de faze-lo é renomear ou remover um dos campos. No nosso caso, carregamos alguns dados dos quais não precisamos em nosso aplicativo, e podemos removê-lo.

Faça o seguinte:

  1. Abra o editor de carregamento de dados.
  2. Clique na seção Region e exclua as duas linhas a seguir no comando LOAD:
  3. "Week",

    SalesKey

  4. Certifique-se de remover também a vírgula após "Region Code".
  5. Seu script agora deve ter a seguinte aparência:

    LOAD Region, "Region Code" FROM [lib://DataFiles/Region.txt] (txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

  6. Clique em Carregar dados.
  7. Abra o Visualizador do modelo de dados.
  8. As referências indesejadas a Region foram removidas.

    Visualizador do modelo de dados mostrando que a referência circular foi removida
    Data model viewer showing that circular reference has been removed.