Synthetische Schlüssel

Haben zwei interne Tabellen mehr als ein Feld gemeinsam, werden sie automatisch über beide Felder verknüpft, und es kann zu Fehlinterpretationen kommen. Um dies zu vermeiden, erstellt QlikView automatisch synthetische Schlüssel. 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 Tabellenstruktur anzeigen. Überprüfen Sie, ob das Datenmodell korrekt ist oder nicht. Manchmal ist es das, häufig besteht der synthetische Schlüssel jedoch wegen eines Fehlers im Skript.

Mehrere synthetische Schlüssel sind oft ein Anzeichen für ein fehlerhaftes Datenmodell, müssen dies jedoch nicht sein. Ein sicheres Zeichen für ein fehlerhaftes Datenmodell ist jedoch, wenn synthetische Schlüssel vorhanden sind, die auf anderen synthetischen Schlüsseln basieren.

Warnung: Bei großen Datenmengen und komplizierten Tabellenstrukturen kann die Zahl solcher Kombinationen natürlich sehr groß werden, und es kann vorkommen, dass QlikView sie nicht ohne Weiteres verarbeiten kann. In einem solchen Fall müssen Sie Ihr Skript überarbeiten und alle synthetischen Schlüssel entfernen.

Handhabung synthetischer Schlüssel

Wenn Sie synthetische Schlüssel vermeiden müssen, können Sie dies im Ladeskript 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 Stringverknüpfung der Schlüsselfelder und mit Hilfe der Skriptfunktion "AutoNumber".