Variabili di Direct Discovery
Variabili di sistema di Direct Discovery
È possibile impostare un limite di memorizzazione nella cache per i risultati della query Direct Discovery per le visualizzazioni. Una volta raggiunto tale limite, Qlik Sense svuota la cache quando vengono eseguite nuove query Direct Discovery. Qlik Sense esegue una query sui dati sorgente per le selezioni e crea nuovamente la cache per il limite di tempo indicato. Il risultato per ciascuna combinazione di selezioni viene memorizzato nella cache in modo indipendente. Ciò significa che la cache viene aggiornata in modo indipendente per ciascuna selezione, quindi una selezione aggiorna la cache solo per i campi selezionati e una seconda selezione la aggiorna per i campi rilevanti. Se la seconda selezione include i campi aggiornati nella prima selezione, questi non vengono aggiornati nuovamente nella cache se il limite di memorizzazione nella cache non è stato raggiunto.
La cache Direct Discovery non è applicabile alle visualizzazioni di tabella. Le selezioni di tabella interrogano la sorgente dei dati tutte le volte.
Il valore limite deve essere impostato in secondi. Il limite predefinito della cache è 1800 secondi (30 minuti).
Il valore utilizzato per DirectCacheSeconds è il valore impostato al momento dell'esecuzione dell'istruzione DIRECT QUERY. Tale valore non può essere modificato in fase di esecuzione.
Esempio:
È possibile effettuare chiamate asincrone e parallele al database utilizzando la funzione di pooling delle connessioni. Di seguito è riportata la sintassi dello script di caricamento per impostare la funzionalità di pooling:
L'impostazione numerica specifica il numero massimo di connessioni di database che il codice Direct Discovery deve utilizzare durante l'aggiornamento di un foglio. L'impostazione predefinita è 1.
Direct Discovery è in grado di supportare la selezione dei dati Unicode estesi mediante l'utilizzo del formato standard SQL per i valori letterali delle stringhe di caratteri estese (N'<stringa estesa>’) come richiesto da alcuni database (ad esempio SQL Server). È possibile attivare l'utilizzo della sintassi per Direct Discovery con la variabile di script DirectUnicodeStrings.
Se si imposta questa variabile su 'true', sarà possibile attivare l'utilizzo del marcatore di caratteri wide ANSI “N” standard davanti ai valori letterali di stringa. Non tutti i database supportano questo standard. L'impostazione predefinita è 'false'.
Quando un valore di campo DIMENSION viene selezionato in un oggetto di Qlik Sense, viene generata una query per il database sorgente. Quando la query richiede il raggruppamento, Direct Discovery utilizza la parola chiave DISTINCT per selezionare solo valori univoci. Alcuni database, tuttavia, richiedono la parola chiave GROUP BY. Impostare DirectDistinctSupport su 'false' per generare GROUP BY anziché DISTINCT nelle query per i valori univoci.
Se DirectDistinctSupport è impostato su true, viene utilizzato DISTINCT. Se non è impostato su alcun valore, il comportamento predefinito prevede l'utilizzo di DISTINCT.
Negli scenari con tabelle multiple ad alta cardinalità, è possibile generare sottoquery nella query SQL invece di generare una lunga clausola IN. Questa opzione viene attivata impostando DirectEnableSubquery su 'true'. Il valore predefinito è 'false'.
Variabili di unione di query Teradata
L'unione di query Teradata è una funzione che consente alle applicazioni aziendali di collaborare con il database Teradata sottostante per migliorare la contabilità, l'assegnazione delle priorità e la gestione del carico di lavoro. L'utilizzo di un'unione di query permette di aggiungere a una query metadati come le credenziali utente.
Sono disponibili due variabili, entrambe sono stringhe che vengono valutate e inviate al database.
Questa stringa viene inviata al momento della creazione di una connessione al database.
Se, ad esempio, OSuser() restituisce WA\sbt, questo sarà valutato come SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, che viene inviato al database quando viene creata la connessione.
Questa stringa viene inviata per ciascuna singola query.
Direct DiscoveryVariabili di carattere
È possibile impostare il carattere utilizzato come delimitatore di campo nelle istruzioni Direct Query per i database che richiedono un carattere diverso dalla virgola come delimitatore di campo. Il carattere specificato deve essere racchiuso tra virgolette semplici nell'istruzione SET.
È possibile specificare un carattere da utilizzare per racchiudere tra virgolette le stringhe in una query generata. Il valore predefinito è costituito dalle virgolette singole. Il carattere specificato deve essere racchiuso tra virgolette semplici nell'istruzione SET.
È possibile specificare l'utilizzo di virgolette non ANSI per racchiudere gli identificatori nelle query generate. In tal caso, le uniche virgolette non ANSI disponibili sono GoogleBQ. Il valore predefinito è ANSI. È possibile utilizzare lettere maiuscole, minuscole e miste (ANSI, ansi, Ansi).
Ad esempio, le virgolette ANSI vengono utilizzate nella seguente istruzione SELECT:
Quando DirectIdentifierQuoteStyle è impostato su "GoogleBQ", l'istruzione SELECT utilizza le virgolette come indicato di seguito:
È possibile specificare un carattere per controllare le virgolette che racchiudono gli identificatori in una query generata. L'impostazione può includere uno o due caratteri: ad esempio, virgolette doppie o parentesi quadre. L'impostazione predefinita è costituita dalle virgolette doppie.
Quando si utilizzano i campi Direct Discovery in una visualizzazione di tabella, viene impostata una soglia per limitare il numero di righe visualizzate. La soglia predefinita è 1000 record. L'impostazione predefinita della soglia può essere modificata impostando la variabile DirectTableBoxListThreshold nello script di caricamento. Ad esempio:
L'impostazione della soglia è valida solo per le visualizzazioni di tabella che contengono campi Direct Discovery. Le visualizzazioni di tabella che contengono solo campi in memoria non sono limitate dall'impostazione DirectTableBoxListThreshold.
Nella visualizzazione di tabella non viene visualizzato alcun campo finché la selezione non include un numero di record inferiore al limite di soglia.
Variabili di interpretazione numerica Direct Discovery
Il separatore decimale definito sostituisce il simbolo decimale per la valuta nell'istruzione SQL generata per caricare i dati con Direct Discovery. Questo carattere deve corrispondere a quello utilizzato in DirectMoneyFormat.
Il valore predefinito è '.'
Esempio:
Il simbolo definito sostituisce il formato della valuta nell'istruzione SQL generata per caricare i dati con Direct Discovery. Il simbolo della valuta per il separatore delle migliaia non deve essere incluso.
Il valore predefinito è '#.0000'
Esempio:
Il formato dell'ora definito sostituisce quello dell'istruzione SQL generata per caricare i dati con Direct Discovery.
Esempio:
Il formato della data definito sostituisce quello dell'istruzione SQL generata per caricare i dati con Direct Discovery.
Esempio:
Set DirectDateFormat='MM/DD/YYYY';
Il formato definito sostituisce il formato di data e ora dell'istruzione SQL generata per caricare i dati con Direct Discovery.
Esempio:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';