Ga naar hoofdinhoud Ga naar aanvullende inhoud

Synthetische sleutels

Qlik Sense maakt synthetische sleutels als in twee of meer gegevenstabellen twee of meer velden gelijk zijn. Deze sleutels zijn anonieme velden die alle voorkomende combinaties van de samengestelde sleutel vertegenwoordigen.

Als u een waarschuwing ontvangt over synthetische sleutels bij het laden van gegevens, moet u de gegevensstructuur controleren in de gegevensmodelviewer. U moet uzelf afvragen of het gegevensmodel al dan niet correct is. Soms is dat wel het geval, maar meestal wordt de synthetische sleutel veroorzaakt door een fout in het script.

Meerdere synthetische sleutels zijn vaak een symptoom van een onjuist gegevensmodel. Als u echter synthetische sleutels hebt die zijn gebaseerd op andere synthetische sleutels wijst dat duidelijk op een onjuist gegevensmodel.

WaarschuwingAls het aantal synthetische sleutels toeneemt, afhankelijk van de hoeveelheid gegevens, tabelstructuur en andere factoren, gaat Qlik Sense hier al dan niet op elegante wijze mee om en wordt mogelijk buitensporig veel tijd en/of geheugen verspild. In een dergelijk geval moet u uw script bewerken en alle synthetische sleutels verwijderen.

Drie tabellen gekoppeld aan synthetische sleutel $Syn 1.

Three tables associated with a synthetic key.

Omgaan met synthetische sleutels

Als u synthetische sleutels moet vermijden, kunt u dit op een aantal verschillende manieren oplossen in het load-script voor gegevens.

  • Controleer of alleen velden waarmee twee tabellen logisch worden gekoppeld worden gebruikt als sleutels.

    • Velden als "Commentaar", "Opmerking" en "Beschrijving" kunnen in meerdere tabellen voorkomen zonder verband met elkaar te houden en dienen derhalve niet te worden gebruikt als sleutels.
    • Velden als “Datum”, “Bedrijf” en “Naam” bestaat mogelijk in verschillende tabellen en hebben identieke waarden, maar hebben toch verschillende rollen (Besteldatum/Verzenddatum, Klantbedrijf/Leveranciersbedrijf). In dergelijke gevallen mogen zij niet worden gebruikt als sleutels.
  • Zorg ervoor dat geen redundante velden worden gebruikt en dat alleen de noodzakelijke velden zijn verbonden. Als bijvoorbeeld een datum als sleutel wordt gebruikt, zorg er dan voor dat bijvoorbeeld year, month of day_of_month van dezelfde datum uit niet meer dan één interne tabel wordt geladen.

  • Maak zo nodig uw eigen niet-samengestelde sleutels, meestal door tekenreeksen samen te voegen binnen een AutoNumber-scriptfunctie.

GERELATEERD LESMATERIAAL:

Meer informatie

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!