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 für diese Variable "wahr" eingestellt wird, dann ist die Verwendung des ANSI-normweiten Zeichen-Markers “N” 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. Setzen Sie DirectDistinctSupport auf 'false', um GROUP BY anstelle von DISTINCT in Abfragen für eindeutige Werte 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-Bedingung mehrere Unterabfragen in der IN-Abfrage generiert werden. Dies wird aktiviert, indem DirectEnableSubquery auf 'true' gesetzt wird. Der Standardwert ist 'false'.
Teradata Query-Banding-Variablen
Teradata Query 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 ergibt, wird dies als SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION; bewertet, was beim Erstellen der Verbindung an die Datenbank gesendet wird.
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. Gleichzeitig ist die einzige verfügbare Anführung, die nicht den ANSI-Normen entspricht, GoogleBQ. 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" gesetzt ist, würde der SELECT-Befehl folgende Anführung verwenden:
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. Hier ein 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 Symbol ersetzt das Währungsformat in dem SQL-Befehl, der für das Laden von Daten mithilfe von Direct Discovery generiert worden 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.
Beispiel:
Set DirectDateFormat='MM/DD/YYYY';
Das definierte Format ersetzt das Datum- und Uhrzeitformate 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]';