Direct Discovery-Variablen
Direct Discovery-Systemvariablen
Sie können ein Caching-Limit zu den Direct Discovery-Abfrageergebnissen für Visualisierungen festsetzen. Bei Erreichen dieses Zeitlimits löscht Qlik Sense den Cache, wenn neue Direct Discovery-Abfragen erfolgen. Qlik Sense fragt die Quelldaten nach den Auswahlen ab und erstellt den Cache erneut für das festgelegte Zeitlimit. Das Ergebnis für jede Kombination von Auswahlen wird unabhängig gecacht. Das heißt, der Cache wird für jede Auswahl unabhängig aktualisiert. Also aktualisiert eine Auswahl den Cache nur für die ausgewählten Felder und eine zweite Auswahl aktualisiert den Cache für deren relevante Felder. Falls die zweite Auswahl Felder einschließt, die in der ersten Auswahl aktualisiert wurden, werden sie im Cache nicht erneut aktualisiert, wenn das Caching-Limit nicht erreicht wurde.
Der Direct Discovery-Cache bezieht sich nicht auf die Tabellenvisualisierungen. Tabellenauswahlen fragen die Datenquelle jedes Mal ab.
Der Limit-Wert muss in Sekunden festgesetzt werden. Das standardmäßige Cache-Limit beträgt 1800 Sekunden (30 Minuten).
Der für DirectCacheSeconds verwendete Wert ist der Wert, der gleichzeitig mit der Ausführung des DIRECT QUERY-Befehls festgesetzt wird. Der Wert kann während der Laufzeit nicht geändert werden.
Beispiel:
Mithilfe der Verbindungspooling-Funktion können Sie asynchrone, parallele Abrufe aus der Datenbank durchführen. Die Syntax des Ladeskripts zur Einrichtung der Pooling-Funktion sieht wie folgt aus:
Die numerische Einstellung gibt die maximale Anzahl von Datenbankverbindungen an, die der Direct Discovery-Code verwenden soll, während ein Arbeitsblatt aktualisiert wird. Standard ist 1.
Direct Discovery kann die Auswahl erweiterter Unicode-Daten unterstützen, und zwar durch Verwendung des SQL-Standardformats für erweiterte Zeichenketten-Literale (N’<extended string>’), so wie dies für manche Datenbanken erforderlich ist (insbesondere SQL Server). Die Verwendung dieser Syntax kann für Direct Discovery mit der Skriptvariable DirectUnicodeStrings aktiviert werden.
Wenn diese Variable als „wahr“ festgelegt wird, dann ist die Verwendung des ANSI-Standard-Markers “N” für Wide-Characters vor den String-Literalen aktiviert. Nicht alle Datenbanken unterstützen diesen Standard. Standardeinstellung ist "falsch".
Bei Auswählen eines DIMENSION-Felds in einem Qlik Sense-Objekt wird eine Abfrage für die Quelldatenbank generiert. Wenn die Abfrage eine Gruppierung erfordert, verwendet Direct Discovery das Schlüsselwort DISTINCT, um nur eindeutige Werte auszuwählen. Einige Datenbanken erfordern jedoch das Schlüsselwort GROUP BY. Legen Sie DirectDistinctSupport als 'false' fest, um GROUP BY anstelle von DISTINCT in Abfragen nach eindeutigen Werten zu generieren.
Wenn DirectDistinctSupport auf wahr gesetzt ist, wird DISTINCT verwendet. Wenn dies nicht gesetzt ist, muss das Standardverhalten DISTINCT verwenden.
In Szenarien mit hoher Kardinalität und mehreren Tabellen können anstelle einer großen SQL-Klausel mehrere Unterabfragen in der IN-Abfrage generiert werden. Dies wird aktiviert, indem die Einstellung DirectEnableSubquery auf 'true' festgelegt wird. Der Standardwert ist 'false'.
Teradata-Abfrage-Banding-Variablen
Teradata-Abfrage-Banding ist eine Funktion, die Unternehmensanwendungen mit der zugrunde liegenden Teradata-Datenbank für bessere Buchhaltung, Priorisierung und Workload Management zusammenarbeiten lässt. Mithilfe von Query Banding können Sie Metadaten wie Login-Daten von Benutzern um eine Abfrage packen.
Zwei Variablen sind verfügbar, beide sind Strings, die evaluiert und an die Datenbank gesendet werden.
Dieser String wird beim Erstellen einer Verbindung mit der Datenbank gesendet.
Wenn OSuser() zum Beispiel WA\sbt zurückgibt, wird dies als SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION; bewertet und beim Erstellen der Verbindung an die Datenbank gesendet.
Dieser String wird für jede einzelne Abfrage gesendet.
Direct Discovery-Zeichenvariablen
Sie können für Datenbanken, die als Feldtrennzeichen ein anderes Zeichen als ein Komma erfordern, das in Direct Query-Befehlen als Feldtrennzeichen verwendete Zeichen festlegen. Das angegebene Zeichen muss im Befehl SET von einfachen Anführungszeichen umgeben sein.
Sie können ein Zeichen angeben, das zum Anführen von Strings in einer generierten Abfrage zu verwenden ist. Standard ist ein einfaches Anführungszeichen. Das angegebene Zeichen muss im Befehl SET von einfachen Anführungszeichen umgeben sein.
Sie können angeben, dass in generierten Abfragen keine Anführung von Identifikatoren gemäß ANSI verwendet werden soll. Derzeit ist die einzige verfügbare Anführung, die nicht den ANSI-Normen entspricht, GoogleBQ. Der Standard ist ANSI. Großschreibung, Kleinschreibung und gemischte Schreibung kann verwendet werden (ANSI, ansi, Ansi).
Zum Beispiel wird eine Anführung gemäß ANSI im folgenden SELECT-Befehl verwendet:
Wenn DirectIdentifierQuoteStyle auf "GoogleBQ" festgelegt ist, verwendet der SELECT-Befehl folgende Anführung:
Sie können ein Zeichen angeben, um das Anführen von Identifikatoren in einer generierten Abfrage zu kontrollieren. Dieses kann entweder als ein Zeichen (wie ein doppeltes Anführungszeichen) oder zwei (wie ein Paar eckiger Klammern) festgelegt sein. Standard ist ein doppeltes Anführungszeichen.
Bei Verwendung von Direct Discovery-Felder in einer Tabellenvisualisierung wird ein Schwellenwert festgelegt, der die Anzahl der angezeigten Reihen begrenzt. Standardschwellenwert ist 1000 Datensätze. Die Festlegung des Standardschwellenwerts kann durch Festsetzen der DirectTableBoxListThreshold-Variablen im Ladeskript geändert werden. Zum Beispiel:
Die Festlegung des Schwellenwerts gilt nur für Tabellenvisualisierungen, die Direct Discovery-Felder enthalten. Tabellenvisualisierungen, die nur im Speicher befindliche Felder enthalten, werden durch die DirectTableBoxListThreshold-Festsetzung nicht begrenzt.
In der Tabellenvisualisierung werden solange keine Felder angezeigt, bis die Auswahl weniger Datensätze hat als die Schwellenwertgrenze.
Variable zur Interpretation von Direct Discovery-Zahlen
Das definierte Dezimaltrennzeichen ersetzt das Dezimalsymbol für Währung in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden ist. Dieses Zeichen muss zum Zeichen passen, das in DirectMoneyFormat verwendet wurde.
Der Standardwert ist '.'.
Beispiel:
Das definierte Symbol ersetzt das Währungsformat in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden ist. Das Währungssymbol für das Tausendertrennzeichen sollte nicht eingeschlossen sein.
Der Standardwert ist '#.0000'.
Beispiel:
Das definierte Zeitformat ersetzt das Zeitformat in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden ist.
Beispiel:
Das definierte Datumsformat ersetzt das Datumsformat in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden ist.
Beispiel:
Set DirectDateFormat='MM/DD/YYYY';
Das definierte Format ersetzt das Datum- und Uhrzeitformat in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden ist.
Beispiel:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';