Synthetische Schlüssel
Qlik Sense erstellt synthetische Schlüssel, wenn zwei oder mehr Datentabellen zwei oder mehr gemeinsame Felder haben. Synthetische Schlüssel enthalten alle möglichen Kombinationen der Werte zweier oder mehrerer Schlüsselfelder.
Wenn beim Laden von Daten ein Warnhinweis zu synthetischen Schlüsseln angezeigt wird, sollten Sie die Datenstruktur in der Datenmodellansicht überprüfen. Überprüfen Sie, ob das Datenmodell korrekt ist oder nicht. Manchmal liegt hier das Problem, meistens besteht der synthetische Schlüssel jedoch wegen eines Fehlers im Skript.
Mehrere synthetische Schlüssel sind oft ein Anzeichen für ein fehlerhaftes Datenmodell. Ein sicheres Zeichen für ein fehlerhaftes Datenmodell ist jedoch, wenn synthetische Schlüssel vorhanden sind, die auf anderen synthetischen Schlüsseln basieren.
Handhabung synthetischer Schlüssel
Wenn Sie synthetische Schlüssel vermeiden müssen, können Sie dies im Datenladeskript auf verschiedene Weise erreichen:
-
Vergewissern Sie sich, dass nur Felder, die zwei Tabellen logisch verknüpfen, als Schlüssel verwendet werden.
- Felder wie „Kommentar“, „Anmerkung“ oder „Beschreibung“ können in mehreren Tabellen vorhanden sein, ohne zueinander in Bezug zu stehen. Sie sollten deshalb nicht als Schlüssel verwendet werden.
- Felder wie „Datum“, „Unternehmen“ und „Name“ können in mehreren Tabellen vorhanden sein und identische Werte aufweisen, aber dennoch unterschiedliche Funktionen erfüllen (Bestell-/Versanddatum, Unternehmen des Kunden/Unternehmen des Lieferanten). In solchen Fällen sollten sie nicht als Schlüssel verwendet werden.
-
Vergewissern Sie sich, dass keine redundanten Felder verwendet werden – dass tatsächlich nur über die inhaltlich richtigen Felder Verknüpfungen entstehen. Wenn Sie beispielsweise ein Datum als Schlüssel verwenden, stellen Sie sicher, dass in den Tabellen nicht auch Jahres-, Monats- oder Tagesangaben desselben Datums vorkommen.
-
Erstellen Sie, falls erforderlich, eigene synthetische Schlüssel durch String-Zusammenfassung der Schlüsselfelder und mit Hilfe der Skriptfunktion „AutoNumber“.