Variables Direct Discovery
Variables système Direct Discovery
Vous pouvez définir une limite de mise en cache applicable aux résultats de requêtes Direct Discovery pour les visualisations. Dès lors que cette limite temporelle est atteinte, Qlik Sense efface le contenu du cache à mesure que de nouvelles requêtes Direct Discovery sont effectuées. Qlik Sense recherche les sélections dans les données source et recrée le cache pour la durée limite spécifiée. Le résultat de chaque combinaison de sélections est mis en cache de manière indépendante. Autrement dit, le cache est actualisé pour chaque sélection de manière individuelle : une première sélection actualise le cache des seuls champs sélectionnés tandis qu'une seconde sélection actualise le cache des champs pertinents associés. Si la seconde sélection comprend des champs qui ont déjà été actualisés lors de la première sélection, ils ne sont pas remis à jour dans le cache si la limite de mise en cache n'a pas été atteinte.
Le cache Direct Discovery ne s'applique pas aux visualisations de type Table. Les sélections de table interrogent la source de données lors de chaque requête.
La valeur limite doit être définie en secondes. La limite de mise en cache par défaut est de 1 800 secondes (30 minutes).
La valeur utilisée pour la variable DirectCacheSeconds correspond à la valeur définie lors de l'exécution de l'instruction DIRECT QUERY. Il n'est pas possible de la modifier pendant que le programme est exécuté.
Le regroupement de connexions vous permet d'émettre des appels parallèles asynchrones en direction de la base de données. La syntaxe du script de chargement permettant de configurer la fonction de regroupement est la suivante :
Le paramètre numérique spécifie le nombre maximal de connexions à la base de données que le code Direct Discovery doit utiliser pendant la mise à jour d'une feuille. Le paramètre par défaut est 1.
La fonction Direct Discovery prend en charge la sélection de données Unicode étendues via le format standard SQL pour les littéraux de chaîne de caractères étendue (N’<chaîne étendue>’), comme l'exigent certaines bases de données (tout particulièrement SQL Server). Vous pouvez activer l'utilisation de cette syntaxe pour Direct Discovery à l'aide de la variable de script DirectUnicodeStrings.
Si vous définissez cette variable sur 'true', vous pouvez faire précéder les littéraux de chaîne du marqueur “N” de caractère large de la norme ANSI. Toutes les bases de données ne prennent pas en charge cette norme. Le paramètre par défaut est 'false'.
Lorsqu'une valeur de champ DIMENSION est sélectionnée dans un objet Qlik Sense, une requête est générée pour la base de données source. Lorsque la requête nécessite un regroupement, la fonction Direct Discovery fait appel au mot-clé DISTINCT pour ne sélectionner que des valeurs uniques. Certaines bases de données requièrent toutefois l'utilisation du mot-clé GROUP BY. Définissez la variable DirectDistinctSupport sur 'false' afin de générer le mot-clé GROUP BY au lieu du mot-clé DISTINCT dans les requêtes de valeurs uniques.
Si la variable DirectDistinctSupport est définie sur 'true', alors le mot-clé DISTINCT est utilisé. Si elle n'est pas définie, le comportement par défaut consiste à utiliser DISTINCT.
Dans les scénarios à plusieurs tables à cardinalité élevée, il est possible de générer des sous-requêtes dans la requête SQL plutôt que de générer une longue clause IN. Pour ce faire, il est nécessaire de définir la variable DirectEnableSubquery sur 'true'. La valeur par défaut est 'false'.
Variables de la fonction Bandes de requête de Teradata
La fonction Bandes de requête de Teradata permet aux applications d'entreprise de collaborer avec la base de données Teradata sous-jacente pour mieux gérer la comptabilité, la définition des priorités et la charge de travail. La fonction Bandes de requête vous permet d'englober une requête dans des métadonnées (des informations d'identification utilisateur, par exemple).
Deux variables sont disponibles. Toutes deux sont des chaînes qui sont évaluées et envoyées à la base de données.
Cette chaîne est envoyée suite à la création d'une connexion à la base de données.
Par exemple, si OSuser() renvoie WA\sbt, la chaîne est évaluée comme SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, puis envoyée à la base de données lorsque la connexion est créée.
Cette chaîne est envoyée pour chaque requête effectuée.
Direct Discovery Variables de caractère
Vous pouvez définir le caractère utilisé comme délimiteur de champs dans les instructions Direct Query pour les bases de données nécessitant un autre caractère que la virgule. Le caractère spécifié doit être placé entre des guillemets simples dans l'instruction SET.
Vous pouvez spécifier le caractère à utiliser pour mettre des chaînes entre guillemets dans une requête générée. Le caractère par défaut est un guillemet simple. Le caractère spécifié doit être placé entre des guillemets simples dans l'instruction SET.
Vous pouvez spécifier l'utilisation de la mise entre guillemets non-ANSI des identificateurs dans les requêtes générées. À l'heure actuelle, le seul type de mise entre guillemets non-ANSI disponible est GoogleBQ. La norme ANSI est définie par défaut. Il est possible d'employer des majuscules, des minuscules et une casse mixte (ANSI, ansi, Ansi).
Par exemple, la mise entre guillemets ANSI est utilisée dans l'instruction SELECT suivante :
Lorsque la variable DirectIdentifierQuoteStyle est définie sur "GoogleBQ", l'instruction SELECT applique la mise entre guillemets suivante :
Vous pouvez spécifier le caractère destiné à contrôler la mise entre guillemets des identificateurs dans une requête générée. Il peut s'agir soit d'un caractère (tel qu'un guillemet double) ou de deux (tels qu'une paire de crochets). Le caractère par défaut est un guillemet double.
Lorsque des champs Direct Discovery sont utilisés dans une visualisation de type Table, un seuil est défini en vue de limiter le nombre de lignes affichées. Le seuil par défaut est de 1 000 enregistrements. Il est possible de modifier le paramètre de seuil par défaut en définissant la variable DirectTableBoxListThreshold dans le script de chargement. Par exemple :
Le paramètre de seuil s'applique uniquement aux visualisations de type Table contenant des champs Direct Discovery. Les visualisations de type Table comportant exclusivement des champs chargés en mémoire ne sont pas limitées par le paramètre DirectTableBoxListThreshold.
Aucun champ n'est affiché dans la visualisation de type Table tant que la sélection comporte un nombre d'enregistrements supérieur à la limite de seuil fixée.
Variables d'interprétation des nombres Direct Discovery
Le séparateur décimal défini remplace le symbole décimal de la devise dans l'instruction SQL générée pour charger les données à l'aide de la fonction Direct Discovery. Ce caractère doit correspondre au caractère utilisé dans DirectMoneyFormat.
La valeur par défaut est '.'.
Le symbole défini remplace le format monétaire dans l'instruction SQL générée pour charger les données à l'aide de la fonction Direct Discovery. Le symbole de devise pour le séparateur de milliers doit être exclu.
La valeur par défaut est '#.0000'.
Le format de l'heure défini remplace le format de l'heure spécifié dans l'instruction SQL générée pour le chargement des données à l'aide de la fonction Direct Discovery.
Le format de date défini remplace le format de date spécifié dans l'instruction SQL générée pour le chargement des données à l'aide de la fonction Direct Discovery.
Set DirectDateFormat='MM/DD/YYYY';
Le format défini remplace le format de date et heure spécifié dans l'instruction SQL générée pour le chargement des données à l'aide de la fonction Direct Discovery.
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';