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.

Example:  

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.

Gör följande:

  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å ° 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ösa kopplingarna har ersatts med vanliga kopplingar:

Three tables with regular connections in the Data model viewer.

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?