Gå till huvudinnehåll
Cirkelreferenser

PÅ DEN HÄR SIDAN

Cirkelreferenser

Om det finns cirkelreferenser i en datastruktur innebär det att tabellerna är associerade på ett sådant sätt att det finns mer än en associationsväg mellan två fält.

Gör följande:

  1. Öppna Skriptredigeraren i appen Scripting Tutorial.
  2. Klicka på P för att lägga till ett nytt skriptavsnitt.
  3. Ge avsnittet namnet Region.
  4. Klicka på Välj data under DataFiles i menyn till höger.

  5. Ladda upp och välj sedan Region.txt. Ett fönster där du kan förhandsgranska data öppnas.
  6. Markera alla fält och se till att Inbäddade fältnamn under Fältnamn har valts för att inkludera namnen på tabellfälten när du laddar data.
  7. Klicka på Infoga skript.
  8. Klicka på Ladda data.
  9. Den här gången verkar det som att ett problem har uppstått med datainläsningen. En cirkelreferens har skapats. Fönstret för dataimportförlopp visar ett felmeddelande som anger att en cirkelreferens påträffades under importen. Laddningen slutförs dock och appen sparas.

  10. Öppna datamodellvyn.
  11. Du kan dra och släppa tabellerna på olika ställen för att omorganisera dem så att kopplingarna mellan tabellerna är enkla att se.

    Datamodellvy som visar en cirkelreferens
    Data model viewer showing circular reference.

    De röda prickade linjerna indikerar att en cirkelreferens har skapats. Detta är något du bör undvika eftersom det kan leda till tvetydigheter i datatolkningen.

Lösa cirkelreferenser

För att kunna förstå vad som orsakade cirkelreferensen ska vi ta en närmare titt på tabellerna i Datamodellvy.

Om du tittar på Table1 och Table2 i skärmdumpen ovan kan du se att de har fältet Date gemensamt. Du kan också se att Table1 och Region har fältet SalesKey gemensamt. Lägg också märke till att Table2 och Region har fältet Week gemensamt. Detta innebär att en cirkelreferens har skapats. Eftersom detta kan leda till problem med dataanalysen senare så ska vi ta bort den.

Det lättaste sättet att lösa det här är att döpa om eller ta bort ett av fälten. I vårt fall har vi läst in en del data som vi inte behövde för vår app och vi kan ta bort dessa.

Gör följande:

  1. Öppna Skriptredigeraren.
  2. Klicka på avsnittet Region och ta bort följande två rader i LOAD-satsen:
  3. "Week",

    SalesKey

  4. Kommatecknet efter "Region Code" måste också tas bort.
  5. Nu ska ditt skript se ut så här:

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

  6. Klicka på Ladda data.
  7. Öppna datamodellvyn.
  8. De oönskade referenserna till Region har tagits bort.

    Datamodellvy som visar att cirkelreferensen har tagits bort
    Data model viewer showing that circular reference has been removed.