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

Syntetiska nycklar

När två eller fler interna tabeller har två eller fler gemensamma fält skapas en sammansatt nyckelrelation. QlikView hanterar detta genom att skapa syntetiska nycklar automatiskt. Dessa nycklar är anonyma fält som representerar alla förekommande kombinationer av den sammansatta nyckeln.

Om du får en varning om syntetiska nycklar när data laddas rekommenderar vi att du går igenom datastrukturen i tabellvyn. Du bör kontrollera om datamodellen är korrekt eller inte. Ibland, men inte tillräckligt ofta, finns den syntetiska nyckeln där på grund av ett fel i skriptet.

Flera syntetiska nycklar beror ofta på en felaktig datamodell men inte nödvändigtvis. Ett säkert tecken på en felaktig datamodell är om det finns syntetiska nycklar som baseras på andra syntetiska nycklar.

Anteckning om varningNär antalet syntetiska nycklar ökar beroende på datamängder, tabellstrukturer och andra faktorer kan det hända att QlikView inte kan hantera dem på rätt sätt och därmed använda onödig tid och/eller minne. I ett sådant fall måste du ombearbeta skriptet genom att ta bort alla syntetiska nycklar.

Two tables, IntervalMatchLength and LengthRange, have the Start and End fields in common. They are connected by the $Syn 1 field, which leads to the $Syn 1 Table, which contains only $Syn 1 and Start and End.

Hantera syntetiska nycklar

Om du måste undvika syntetiska nycklar finns det ett antal sätt att lösa detta i laddningsskriptet:

  • Kontrollera att endast de fält som är logiskt länkade till två tabeller används som nycklar.

    • Fält för till exempel kommentarer, anmärkningar och beskrivningar kan finnas i flera tabeller utan att vara relaterade och ska därför inte användas som nycklar.
    • Fält för datum, företag och namn kan finnas i flera tabeller och ha identiska värden, men ändå ha olika roller (t.ex. för orderdatum/fraktdatum, kundföretag/leverantörsföretag). I sådana fall ska de inte användas som nycklar.
  • Kontrollera att redundanta fält inte används – att endast relevanta fält kopplas. Om man exempelvis använder ett datum som nyckel ska man kontrollera att man inte läser in t.ex. år, månad eller dag_i_månaden från fler än en intern tabell.

  • Om så behövs ska du skapa några egna icke sammansatta nycklar, förslagsvis genom att använda strängkonkatenering i skriptfunktionen AutoNumber.

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!

Gå med i programmet Analytics Modernization

Remove banner from view

Modernisera utan att kompromissa med dina värdefulla QlikView-appar med programmet för analysmodernisering. Klicka här för mer information eller ta kontakt: ampquestions@qlik.com