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 haben ein Feld gemeinsam, z. B. Kundennummer, so besteht zumeist eine Verbindung 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.
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
- In dem zu dem Feld gehörigen Filterfenster können keine Häufigkeiten angezeigt werden.
- Statistikboxen für diese Felder zeigen für die meisten statistische Größen "nicht verfügbar" an.
- 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 für jegliche Operationen benutzen: Anzeige von Häufigkeiten, Statistiken, Diagramme usw.