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.
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.