Ga naar hoofdinhoud
Cirkelreferenties

OP DEZE PAGINA

Cirkelreferenties

Bij cirkelreferenties ("lussen") in een gegevensstructuur, worden de tabellen zodanig geassocieerd dat er sprake is van meer dan één pad met associaties tussen velden.

Doe het volgende:

  1. Open de Editor voor laden van gegevens in de Scripting Tutorialapp.
  2. Klik op P om een nieuwe scriptsectie toe te voegen.
  3. Geef de sectie Region een naam.
  4. Onder DataFiles in het rechtermenu klikt u op Gegevens selecteren.

  5. Upload en selecteer Region.txt. Het venster Voorbeeld gegevens wordt geopend.
  6. Selecteer alle velden en zorg ervoor dat Ingesloten veldnamen onder Veldnamen is geselecteerd om de namen van de tabelvelden mee te nemen bij het laden van de gegevens.
  7. Klik op Script invoegen.
  8. Klik op Gegevens laden.
  9. Het lijkt er in dit geval op dat er iets is misgegaan met het laden van uw gegevens. Er is een cirkelreferentie gemaakt. In het voortgangsvenster voor het laden van gegevens wordt een foutbericht weergegeven waarin wordt aangegeven dat een cirkelreferentie is gevonden tijdens het laden. Het laden wordt echter voltooid en de app wordt opgeslagen.

  10. Open de gegevensmodelviewer.
  11. U kunt de tabellen rondslepen om deze op zodanige wijze te ordenen dat de verbindingen tussen de tabellen gemakkelijk te zien zijn.

    Gegevensmodelviewer met cirkelreferentie
    Data model viewer showing circular reference.

    De rood gestippelde lijnen geven aan dat een cirkelreferentie is gemaakt. Dit is iets dat u moet vermijden omdat het tot onduidelijkheden bij de gegevensinterpretatie kan leiden.

Cirkelreferenties oplossen

Als we willen begrijpen waardoor de cirkelreferenties werden veroorzaakt, moeten we uw tabellen nader in detail gaan bekijken in de gegevensmodelviewer.

Als u kijkt naar Table1 en de Table2 in de schermafbeelding hierboven, ziet u dat ze het veld Date gemeen hebben. U ziet ook dat Table1 en Region het veld SalesKey gemeen hebben. Tot slot is te zien dat Table2 en Region het veld Week gemeen hebben. Dit betekent dat er een lus, een cirkelreferentie, is ontstaan. Aangezien dit later tot problemen bij de gegevensanalyse kan leiden, gaan wij deze cirkelreferentie verwijderen.

De gemakkelijkste manier om dit te doen is door een van de velden te hernoemen of te verwijderen. In ons geval hebben wij een aantal gegevens geladen die wij niet nodig hebben voor onze app, zodat wij deze kunnen verwijderen.

Doe het volgende:

  1. Open de Editor voor laden van gegevens.
  2. Klik op de sectie Region en verwijder de volgende twee rijen uit de opdracht LOAD:
  3. "Week",

    SalesKey

  4. Verwijder ook de komma na "Region Code".
  5. Uw script moet er nu als volgt uitzien:

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

  6. Klik op Gegevens laden.
  7. Open de gegevensmodelviewer.
  8. De ongewenste verwijzingen naar Region zijn verwijderd.

    Gegevensmodelviewer waarin te zien is dat de cirkelreferentie verwijderd is
    Data model viewer showing that circular reference has been removed.