Unterstützung mehrerer Tabellen in Direct Discovery
Sie können Direct Discovery verwenden, um mehr als eine Tabelle zu laden oder mit der Verknüpfungsfunktion von ANSI SQL anzuzeigen.
In einem einzelnen Diagramm müssen alle Kennzahlen aus derselben internen Tabelle in Qlik Sense abgeleitet sein, aber diese kann eine Kombination mehrerer, über Join-Befehle verbundener Tabellen aus einer Quelle sein. Sie können jedoch aus anderen Tabellen bezogene Dimensionen im gleichen Diagramm verwenden.
Zum Beispiel können Sie die mit Direct Discovery durch eine Where- oder Join-Bedingung geladenen Tabellen verbinden.
- Direct Discovery kann in einem einzelnen Einzelwert/Mehrfachdimension-In-Memory-Szenario mit großen Datensätzen implementiert werden.
- Direct Discovery kann mit mehr als einer Tabelle verwendet werden, wenn eines der folgenden Kriterien erfüllt ist:
- Die Kardinalität des Schlüsselfelds im Join ist niedrig.
Die Kardinalität des Schlüsselfelds im Join ist hoch, DirectEnableSubquery ist auf "true" gesetzt und alle Tabellen wurden mit Direct Discovery zusammengeführt.
Weitere Informationen finden Sie unter Verwenden von Unterabfragen in Direct Discovery.
- Direct Discovery ist nicht geeignet für die Implementierung in einem Dritte-Normalform-Szenario, wenn alle Tabellen in der Direct Discovery-Form vorliegen.
Verbinden von Direct Discovery-Tabellen mit einer Where-Bedingung
In diesem Beispielskript laden wir Daten aus der Datenbank AW2012. Die Tabellen Product und ProductSubcategory werden mit einer Where-Bedingung mithilfe des gemeinsamen Felds ProductSubCategoryID verbunden.
Product_Join:
DIRECT QUERY
DIMENSION
[ProductID],
[AW2012].[Production].[Product].[Name] as [Product Name],
[AW2012].[Production].[ProductSubcategory].[Name] as [Sub Category Name],
Color,
[AW2012].[Production].[Product].ProductSubcategoryID as [SubcategoryID]
MEASURE
[ListPrice]
FROM [AW2012].[Production].[Product],
[AW2012].[Production].[ProductSubcategory]
WHERE [AW2012].[Production].[Product].ProductSubcategoryID =
[AW2012].[Production].[ProductSubcategory].ProductSubcategoryID ;
Verbinden von Direct Discovery-Tabellen mit Join On-Bedingungen
Sie können auch Join On-Bedingungen zum Verbinden von Direct Discovery-Tabellen verwenden. In diesem Beispielbefehl verknüpfen wir die Tabelle SalesOrderHeader mit der Tabelle SalesOrderDetail über das Feld SalesOrderID. Ebenso verknüpfen wir die Tabelle Customer mit der Tabelle SalesOrderHeader über das Feld Customer ID.
In diesem Beispiel erstellen wir Kennzahlen aus der gleichen internen Tabelle, was bedeutet, wir können sie im gleichen Diagramm verwenden. Zum Beispiel können Sie ein Diagramm mit SubTotal und OrderQty als Kennzahlen erstellen.