Direct Discovery-variabelen
Direct Discovery-systeemvariabelen
U kunt een cachelimiet voor de Direct Discovery-queryresultaten instellen voor visualisaties. Wanneer deze tijdslimiet is bereikt, maakt Qlik Sense de cache leeg als nieuwe Direct Discovery-query's worden gemaakt. Qlik Sense zoekt in de brongegevens naar de brongegevens voor de selecties en maakt de cache opnieuw voor de aangegeven tijdslimiet. Het resultaat voor elke combinatie van selecties wordt apart in de cache opgenomen. Met andere woorden, de cache wordt voor elke selectie apart vernieuwd, zodat de ene selectie de cache alleen vernieuwt voor de geselecteerde velden en een tweede selectie de cache vernieuwt voor de relevante velden. Als de tweede selectie velden bevat die zijn vernieuwd in de eerste selectie, worden zij niet opnieuw bijgewerkt in de cache als de cachelimiet nog niet is bereikt.
De Direct Discovery-cache is niet van toepassing op tabelvisualisaties. Bij tabelselecties wordt telkens een query op de gegevensbron uitgevoerd.
De grenswaarde moet worden ingesteld in seconden. De standaard cachelimiet is 1800 seconden (30 minuten).
De waarde die wordt gebruikt voor DirectCacheSeconds is de waarde die is ingesteld tijdens de uitvoering van de DIRECT QUERY-opdracht. De waarde kan niet worden gewijzigd tijdens de runtime.
Voorbeeld:
U kunt asynchrone, parallelle aanroepen uitvoeren op de database door gebruik te maken van de voorziening voor verbindingsgroepering. De syntaxis van het laadscript voor het instellen van de groeperingsvoorziening is als volgt:
De numerieke instelling geeft het maximumaantal databaseverbindingen op dat door de Direct Discovery-code moet worden gebruikt tijdens het bijwerken van een werkblad. De standaardinstelling is 1.
Direct Discovery kan ondersteuning bieden voorde selectie van uitgebreide Unicode-gegevens door gebruik te maken van de SQL-standaardindeling voor uitgebreide tekenreeksliterals (N’<uitgebreide tekenreeks>’) zoals vereist bij sommige databases (met name SQL Server). Het gebruik van deze syntaxis kan worden ingeschakeld voor Direct Discovery met de scriptvariabele DirectUnicodeStrings.
Als deze variabele wordt ingesteld op 'waar', wordt het gebruik van de standaard ANSI-markering voor brede tekens “N” vóór de tekenreeksliterals mogelijk gemaakt. Niet alle databases ondersteunen deze standaard. De standaardinstelling is 'false'.
Als een DIMENSION-veldwaarde wordt geselecteerd in een Qlik Sense-object, wordt een query gegenereerd voor de brondatabase. Wanneer de query groepering vereist, gebruikt Direct Discovery het trefwoord DISTINCT om alleen unieke waarden te selecteren. Sommige databases vereisen echter het trefwoord GROUP BY. Stel DirectDistinctSupport in op 'false' om GROUP BY te genereren in plaats van DISTINCT in query's voor unieke waarden.
If DirectDistinctSupport is ingesteld op true, wordt DISTINCT gebruikt. Als deze niet is ingesteld, wordt standaard gebruikgemaakt van DISTINCT.
In scenario's met meerdere tabellen met hoge cardinaliteit, is het mogelijk om subquery's te genereren in de SQL-query in plaats van een grote IN-clausule te genereren. Dit wordt geactiveerd door DirectEnableSubquery in te stellen op 'true'. De standaardwaarde is 'false'.
Teradata-variabelen voor query banding
Teradata-query banding is een functie waarbij ondernemingstoepassingen in staat worden gesteld samen te werken met de onderliggende Teradata-database om betere boekhoudvoorzieningen, prioriteitsstelling en werklastbeheer te bieden. Via query banding kunt u metagegevens, zoals gebruikersreferenties, aan een query koppelen.
Er zijn twee variabelen beschikbaar. Beide zijn tekenreeksen die worden geëvalueerd en naar de database verzonden.
Deze tekenreeks wordt verzonden wanneer er een verbinding met de database wordt gemaakt.
Als OSuser() bijvoorbeeld WA\sbt retourneert, wordt deze geëvalueerd tot SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, die naar de database wordt verzonden bij het tot stand brengen van de verbinding.
Deze tekenreeks wordt verzonden voor elke afzonderlijke query.
Direct Discovery-tekenvariabelen
U kunt het teken dat wordt gebruikt als veldscheidingsteken instellen in Direct Query-opdrachten voor databases die een ander teken dan een komma vereisen als veldscheidingsteken. Het opgegeven teken moet worden omringd door enkele aanhalingstekens in de SET-instructie.
U kunt een teken gebruiken om tekenreeksen van aanhalingstekens te voorzien in een gegenereerde query. De standaard is een enkel aanhalingsteken. Het opgegeven teken moet worden omringd door enkele aanhalingstekens in de SET-opdracht.
U kunt opgeven dat niet-ANSI-aanhalingstekens worden gebruikt voor id's in gegenereerde query's. Momenteel vormen GoogleBQ-aanhalingstekens de enige niet-ANSI-aanhalingstekens die beschikbaar zijn. De standaardinstelling is ANSI. Er kan gebruik worden gemaakt van hoofdletters, kleine letters en gemengde tekens (ANSI, ansi, Ansi).
Zo wordt bijvoorbeeld gebruikgemaakt van ANSI-aanhalingstekens in de volgende SELECT-opdracht:
Als DirectIdentifierQuoteStyle is ingesteld op "GoogleBQ", wordt in de SELECT-opdracht als volgt gebruikgemaakt van aanhalingstekens:
U kunt een teken gebruiken het gebruik van aanhalingstekens voor id's in een gegenereerde query te besturen. Deze kan worden ingesteld op één teken (zoals een dubbel aanhalingsteken) of twee tekens (zoals een stel vierkante haken). De standaard is een dubbel aanhalingsteken.
Als Direct Discovery-velden worden gebruikt in een Tablevisualisatie, wordt een drempelwaarde ingesteld om het aantal weergegeven rijen te beperken. De standaard drempelwaarde is 1000. De instelling voor de standaard drempelwaarde kan worden gewijzigd door de variabele DirectTableBoxListThreshold in te stellen in het load-script. Bijvoorbeeld:
De ingestelde drempelwaarde geldt alleen voor Tabelvisualisaties die Direct Discovery-velden bevatten. Tabelvisualisaties die alleen velden in het geheugen bevatten worden niet beperkt door de instelling DirectTableBoxListThreshold.
Er worden geen velden weergegeven in de Tabelvisualisatie totdat de selectie minder records heeft dat de drempelwaarde.
Direct Discovery-variabelen voor getalinterpretatie
Het gedefinieerde decimaalscheidingsteken vervangt het decimaalteken voor valuta in de SQL-opdracht die wordt gegenereerd voor het laden van gegevens met Direct Discovery. Dit teken moet overeenkomen met het teken dat wordt gebruikt in DirectMoneyFormat.
Standaardwaarde is '.'
Voorbeeld:
Het gedefinieerde teken vervangt de valutanotatie in de SQL-opdracht die wordt gegenereerd voor het laden van gegevens met Direct Discovery. Het valutateken voor het scheidingsteken voor duizendtallen moet niet worden opgenomen.
Standaardwaarde is '#.0000'
Voorbeeld:
De gedefinieerde tijdnotatie vervangt de tijdnotatie in de SQL-opdracht die wordt gegenereerd voor het laden van gegevens met Direct Discovery.
Voorbeeld:
De gedefinieerde datumnotatie vervangt de datumnotatie in de SQL-opdracht die wordt gegenereerd voor het laden van gegevens met Direct Discovery.
Voorbeeld:
Set DirectDateFormat='MM/DD/YYYY';
De gedefinieerde indeling vervangt de datum- en tijdnotatie in het SQL-opdracht die is gegenereerd in het SQL-opdracht voor het laden van gegevens laden met behulp van Direct Discovery.
Voorbeeld:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';