Gå till huvudinnehåll Gå till ytterligare innehåll

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.

  1. Öppna Skriptredigeraren i appen Scripting Tutorial.
  2. Klicka på Skapa nytt avsnitt 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. Inläsningen 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.

    Datamodellvyn visar cirkelreferens

    Datamodellvy som visar en cirkelreferens.

    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.

  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

    Datamodellvy som visar att cirkelreferensen har tagits bort.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!