Auf dieser Seite
Verwenden von Unterabfragen in Direct Discovery
Wenn die Kardinalität des Schlüsselfelds, das die Tabellen verbindet, hoch ist, d. h., wenn es eine große Anzahl von distinkten Werten enthält, kann eine Auswahl in Qlik Sense einen sehr großen
Wir veranschaulichen dies anhand einer Produkttabelle (
Wir erstellen ein Diagramm mit
Szenario 1: niedrige Kardinalität
In diesem Szenario enthält die Produkttabelle eine geringe Anzahl an distinkten Produkten, 266. Wenn wir eine Auswahl in
Das generierte
Szenario 2: Verwenden von Unterabfragen
Wenn dasselbe Beispiel eine große Anzahl an distinkten Produkten enthält, zum Beispiel 20.000, lässt sich durch die Auswahl eines Dimensionsfilters, zum Beispiel
Die Lösung besteht darin, von Qlik Sense Unterabfragen erstellen zu lassen. Dazu muss DirectEnableSubquery auf "true" gesetzt werden. Der generierte
Die Größe der WHERE ProductID IN-Bedingung ist nun nicht mehr von der Anzahl der Schlüssel als Resultat der Auswahl abhängig.
Die folgenden Einschränkungen gelten bei der Verwendung von Unterabfragen:
- Die Syntax der Unterabfrage wird nur aufgerufen, wenn Sie Daten auswählen, die das Filtern eines Diagramms nach Daten einer anderen Tabelle umfassen.
- Die Datenmenge innerhalb der Schlüssel ist der begrenzende Faktor, nicht die Schlüsselanzahl.
- Unterabfragen werden nur aufgerufen, wenn alle beteiligten Tabellen im Direct Discovery-Modus sind. Wenn Sie das Diagramm nach den Daten einer Tabelle im In-Memory-Modus filtern, wird eine IN-Bedingung generiert.