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

Förstå och lösa cirkelreferenser

Cirkulära tabellstrukturer i datastrukturen innebär att tabellerna är associerade på ett sådant sätt att det finns mer än en associationsväg mellan två fält.

Denna typ av datastruktur bör undvikas i största möjliga mån, då den skapar risk för tvetydighet i tolkningen av data.

Tre tabeller med en cirkulär referens eftersom det finns mer än en associationsväg mellan två fält.
Three tables with a circular reference.

Qlik Sense löser problemet med cirkelreferenser genom att bryta cirkeln med hjälp av en löst kopplad tabell. Om Qlik Sense hittar cirkulära datastrukturer när dataladdningsskriptet körs kommer en varningsdialog att visas och en eller flera tabeller kommer att bli löst kopplade. Qlik Sense försöker oftast göra den längsta tabellen löst kopplad. Ofta är det en transaktionstabell som ska kopplas lös. I datamodellvyn markeras löst kopplade tabeller med röda prickade länkar till andra tabeller.

Exempel:  

Data läses in från tre tabeller som innehåller följande:

  • Namn på några nationella fotbollslag
  • Fotbollsklubbar i några städer
  • Städer i några europeiska städer
Vy över källdatatabellerna i Excel.

Tables in Excel.

Denna datastruktur är inte särskilt bra eftersom fältnamnet Team används för två olika syften: nationella lag och lokala klubbar. De data som finns tillgängliga i tabellerna skapar en logiskt omöjlig situation.

När tabellerna läses in i Qlik Sense avgör Qlik Sense vilka datakopplingar som är minst viktig och kopplar lös denna tabell.

Välj Datamodellvy för att se hur Qlik Sense tolkar datakopplingarnas relevans:

Vy över de cirkulära referenserna som de röda prickade linjerna visar.
Circular references between tables.

Tabellen med städer och de länder de hör till är nu löst kopplad till tabellen med nationella lag i olika länder och till tabellen med lokala klubbar i olika städer.

Lösa cirkelreferenser

När cirkulära referenser uppstår måste du redigera dataladdningsskriptet och ge ett unikt namn till ett av de fält som har likadana namn.

  1. Öppna Skriptredigeraren.
  2. Redigera LOAD-satsen för ett av de fältnamn som är dubbletter.

    I detta exempel skulle LOAD-satsen för den tabell som innehåller de lokala lagen och deras städer innehålla ett nytt namn för Team, till exempel LocalClub. Den uppdaterade LOAD-satsen ser ut så här:

    LOAD City, Team as LocalClub

  1. Klicka på Play i verktygsfältet för att uppdatera data i appen.

Nu har du logik som fungerar i alla tabeller. I detta exempel, där du väljer Germany, associeras det nationella laget, de tyska städerna och varje stads lokala klubb.

Sheet with four tables.

När du öppnar Datamodellvyn ser du att de löst kopplade kopplingarna har ersatts med vanliga kopplingar:

Three tables with regular connections in the Data model viewer.
RELATERAD INFORMATION:

Mer information

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!