Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Verknüpfungen zwischen Tabellen

Datenbanken bestehen mitunter aus vielen Tabellen. Jede Tabelle kann als eine Liste aufgefasst werden, in der jede Zeile ein Objekt eines bestimmten Typs repräsentiert.

Beispiel:  

Wenn in zwei Tabellen Objekte verschiedenen Typs aufgelistet werden, etwa eine Liste mit Kunden und eine Liste mit Rechnungen, und die beiden Listen ein Feld wie z. B. Kundennummer gemeinsam haben, so besteht zumeist eine Beziehung zwischen den beiden Tabellen. SQL-Tools erkennen dies und schließen solche Tabellen durch einen Join zusammen.

Die im Qlik Sense-Skript definierten Tabellen werden interne Tabellen genannt. Qlik Sense erstellt automatisch eine Verknüpfung zwischen zwei Tabellen auf Basis der Feldnamen. Diese Verknüpfung wird aktiviert, indem die betreffenden Werte innerhalb des Dokuments ausgewählt werden, z. B. Auswahl in einem Filterfenster.

Somit ist eine Verknüpfung fast dasselbe wie ein Join. Der einzige Unterschied besteht darin, dass der Join bereits während der Ausführung des Skripts gemacht wird und als Ergebnis eine einzige interne Tabelle liefert, deren Daten aus verschiedenen Tabellen der Originaldatenquelle stammen. Verknüpfungen dagegen entstehen erst, nachdem die programminternen Tabellen angelegt sind.

Vier Tabellen: eine Länderliste, eine Kundenliste, eine Liste aller Transaktionen und eine der Mitgliedschaften, die einander über die Felder Country und CustomerID zugeordnet sind.

Four logical tables associated.

Qlik Sense-Verknüpfung im Vergleich zu SQL Natural Outer Join

Eine Qlik Sense-Verknüpfung hat Ähnlichkeit mit einem SQL Natural Outer Join. Die Verknüpfung ist jedoch noch umfassender: Ein Join in SQL ist normalerweise eine Projektion einer Tabelle auf eine andere und weist damit nur in eine Richtung. Die Verknüpfung dagegen entspricht einem vollständigen (bidirektionalen) Join und weist in beide Richtungen.

Häufigkeiten in Schlüsselfeldern

Es gibt ein paar Beschränkungen bei der Verwendung der meisten assoziierten Felder, das heißt Felder, die bei zwei oder mehr Tabellen gleich sind. Wenn ein Feld in mehr als einer Tabelle vorkommt, weiß Qlik Sense nicht, welche Tabelle es für die Berechnung der Datenhäufigkeit verwenden soll.

Qlik Sense prüft zunächst, ob eine eindeutige Interpretation möglich ist. Das ist aber eher selten der Fall. Meistens kann das Programm nicht feststellen, in welcher Tabelle die Werte zur Ermittlung der Häufigkeiten gezählt werden müssen. Da ein Irrtum an dieser Stelle fatale Auswirkungen haben könnte, führt Qlik Sense Operationen, die mehrdeutige Ergebnissen bringen könnten, nicht aus.

Beschränkungen bei der Verknüpfung von Feldern

  1. In dem zu dem Feld gehörigen Filterfenster können keine Häufigkeiten angezeigt werden.
  2. Statistikboxen für diese Felder zeigen für die meisten statistische Größen "nicht verfügbar" an.
  3. In Diagrammen können keine Formeln definiert werden, die von Häufigkeitsinformationen abhängen (zum Beispiel die Funktionen Sum, Count und Average), es sei denn, der Modifizierer Distinct ist aktiviert. Nach jedem Ladevorgang prüft Qlik Sense, ob die Formeln in den Diagrammen noch eindeutige Ergebnisse liefern. Sollte das nicht der Fall sein, gibt das Programm eine Fehlermeldung aus, und die betreffende Formel wird deaktiviert. Sie kann erst wieder aktiviert werden, wenn Eindeutigkeit gegeben ist. Wird beim Ladevorgang eine log-Datei erstellt, sind dort die deaktivierten Formeln aufgelistet.

Problemumgehung

Diese Einschränkungen lassen sich leicht umgehen. Laden Sie das betreffende Feld noch einmal unter einem anderen Namen aus der Tabelle, aus der die Häufigkeiten ermittelt werden sollen. Dieses neue Feld können Sie als Filterfenster für die Anzeige von Häufigkeiten und Statistiken oder für Berechnungen in den Diagramme nutzen.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!