Variabler i Direkt upptäckt
Systemvariabler i Direkt upptäckt
Du kan ställa in en cachelagringsgräns till Direkt upptäckt-frågeresultaten för visualiseringar. När den här tidsgränsen har uppnåtts rensar Qlik Sense cacheminnet när nya Direkt upptäckt-frågor ställs. Qlik Sense ställer frågor om urval till datakällan och skapar cacheminnet igen för den designerade tidsgränsen. Resultatet för varje kombination av urval cachelagras fristående. Det innebär att cacheminnet uppdateras fristående för varje urval, så att ett urval uppdaterar cacheminnet enbart för de valda fälten, och ett andra urval uppdaterar cacheminnet för de berörda fälten. Om det andra urvalet omfattar fält som uppdaterades i det första urvalet uppdateras de inte i cacheminnet igen om inte cachelagringsgränsen har uppnåtts.
Direkt upptäckt-cacheminnet gäller inte för Tabell-visualiseringar. Tabellurvalen frågar datakällan varje gång.
Gränsvärdet måste anges i sekunder. Standardgränsen för cachelagring är 1 800 sekunder (30 minuter).
Det värde som används för DirectCacheSeconds är det värde som är inställt vid tidpunkten då DIRECT QUERY-satsen exekveras. Värdet kan inte ändras under körning.
Exempel:
Du kan göra asynkrona, parallella anrop mot databasen med hjälp av funktionen för anslutningspoolning. Laddningsskriptsyntaxen för konfigurering av anslutningspoolning ser ut som följer:
Den numeriska inställningen anger det maximala antalet databaskopplingar som Direct Discovery-koden ska använda vid uppdatering av ett ark. Standardinställningen är 1.
Direct Discovery kan stödja urval av utökade Unicode-data med hjälp av SQL -standardformatet för stränglitteraler med utökad teckensträng (N’<utökad sträng>’) som krävs av vissa databaser (framför allt SQL Server). Användning av denna syntax kan aktiveras för Direkt upptäckt med hjälp av skriptvariabeln DirectUnicodeStrings.
Om variabeln anges till ”true” kan du använda den standardmässiga breda ANSI-teckenmarkören “N” framför stränglitteralerna. Alla databaser stöder inte den här standarden. Standardinställningen är ”false”.
Om ett DIMENSION-fältvärde väljs i ett Qlik Sense-objekt skapas en fråga för källdatabasen. Om frågan kräver gruppering använder Direkt upptäckt nyckelordet DISTINCT för att välja enbart unika värden. Vissa databaser kräver dock nyckelordet GROUP BY. Ställ in DirectDistinctSupport på 'false' för att generera GROUP BY i stället för DISTINCT i frågor för unika värden.
Om DirectDistinctSupport är inställt på true används DISTINCT. Om det inte är inställt är standardbeteendet att använda DISTINCT.
I scenarier med hög kardinalitet och flera tabeller är det möjligt att generera delfrågor i SQL-frågan istället för att generera en lång IN-sats. Aktivera detta genom att ställa in DirectEnableSubquery på 'true'. Standardvärdet är 'false'.
Variabler för Teradata-query banding
Teradata Query Banding är en funktion som större organisationer kan använda mot den underliggande Teradata-databasen för bättre redovisning, prioritering och hantering av arbetsbelastningen. Med hjälp av query banding kan man omsluta en fråga med metadata, exempelvis med autentiseringsuppgifter för användare.
Det finns två varianter. Båda är strängar som utvärderas och skickas till databasen.
Den här strängen skickas när en koppling till databasen skapas.
Om till exempel OSuser() returnerarWA\sbt utvärderas detta till SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, vilket skickas till databasen när kopplingen skapas.
Strängen skickas för varje enskild fråga.
Direkt upptäckt-teckenvariabler
Du kan ställa in det tecken som används som fältavgränsare i Direct Query-satser för databaser som kräver ett annat tecken än komma som fältavgränsare. Det angivna tecknet måste omges av enkla citattecken i SET-satsen.
Du kan ange ett tecken som ska användas för att förse strängarna i en genererad fråga med citattecken. Standardvärdet är enkla citattecken. Det angivna tecknet måste omges av enkla citattecken i SET-satsen.
Du kan ange att icke-ANSI-citatmarkering av identifierare ska användas i genererade frågor. För närvarande är den enda tillgängliga icke-ANSI-citatmarkeringen GoogleBQ. ANSI är standard. Versaler, gemener och versaler/gemener blandat kan användas (ANSI, ansi, Ansi).
ANSI-citatmarkering används till exempel i följande SELECT-sats:
Om DirectIdentifierQuoteStyle är inställd på "GoogleBQ" skulle SELECT-satsen använda citatmarkering på följande sätt:
Du kan ange ett tecken för att kontrollera citatmarkeringen av identifierare i en genererad fråga. Detta kan ställas in till antingen ett tecken (exempelvis ett dubbelt citattecken) eller två (exempelvis ett par hakparenteser). Standardvärdet är dubbla citattecken.
När Direct Discovery-fält används i en Tabell-visualisering, ställs ett gränsvärde in för att begränsa det antal rader som visas. Standardgränsen är 1 000 poster. Standardinställningen för gränsvärdet kan ändras med hjälp av variabeln DirectTableBoxListThreshold i laddningsskriptet. Exempel:
Gränsinställningen gäller enbart för Tabell-visualiseringar som innehåller Direkt upptäckt-fält. Tabell-visualiseringar som innehåller endast minnesfält begränsas inte av inställningen DirectTableBoxListThreshold.
Inga fält visas i Tabell-visualiseringen förrän urvalet har färre poster än gränsinställningen.
Direkt upptäckt-variabler för tolkning av tal
Den definierade decimalavgränsaren ersätter decimalsymbolen för valuta i SQL-satsen som genereras för att ladda data med Direkt upptäckt. Det här tecknet måste matcha det tecken som används i DirectMoneyFormat.
Standardvärdet är '.'
Exempel:
Den definierade symbolen ersätter valutaformatet i den SQL-sats som genereras för att ladda data med hjälp av Direkt upptäckt. Valutasymbolen för tusentalsavgränsaren ska inte tas med.
Standardvärdet är '#.0000'
Exempel:
Det definierade tidsformatet ersätter tidsformatet i den SQL-sats som genereras för att ladda data med hjälp av Direkt upptäckt.
Exempel:
Det definierade datumformatet ersätter datumformatet i den SQL-sats som genereras för att ladda data med hjälp av Direkt upptäckt.
Exempel:
Set DirectDateFormat='MM/DD/YYYY';
Det definierade formatet ersätter datum- och tidsformatet i den SQL-sats som genereras för att ladda data med hjälp av Direkt upptäckt.
Exempel:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';