Variables de Direct Discovery
Variables de sistema en Direct Discovery
Podemos poner un límite de caché a los resultados de la consulta efectuada a Direct Discovery en gráficos. Una vez que se haya alcanzado este límite, Qlik Sense borrará la caché cuando se hagan nuevas consultas de Direct Discovery. Qlik Sense consulta a la fuente de datos las selecciones efectuadas y crea la caché de nuevo según el límite de tiempo designado. El resultado de cada combinación de selecciones se envía a caché por separado. Es decir, la caché se actualiza con cada selección de manera independiente, de modo que una selección actualiza la caché solo para los campos seleccionados y una segunda selección actualiza la caché en los campos que interesa actualizar. Si la segunda selección incluye campos que se actualizaron en la primera selección, no se actualizarán en la caché de nuevo si no se ha alcanzado el límite de envío a caché.
La caché de Direct Discovery no se aplica a las visualizaciones de Tabla. Las selecciones de tabla consultan la fuente de datos constantemente.
El valor límite debe fijarse en segundos. El límite de la caché por defecto es de 1800 segundos (30 minutos).
El valor utilizado para DirectCacheSeconds es el valor establecido en el momento en que se ejecuta la sentencia DIRECT QUERY. El valor no puede cambiarse en tiempo de ejecución.
Ejemplo:
Podemos hacer llamadas paralelas, asíncronas, a la base de datos, empleando la función de conexión directa. La sintaxis de script de carga para configurar la capacidad de conexión directa es la siguiente:
El parámetro numérico especifica el número máximo de conexiones a la base de datos que el código Direct Discovery debería emplear mientras actualiza los objetos de una hoja. El parámetro predeterminado es 1.
Direct Discovery puede admitir la selección de datos Unicode extendidos utilizando el formato estándar SQL para literales de cadena de caracteres extendidos (N'<cadena extendida>'), tal y como exigen algunas bases de datos (en particular SQL Server). El uso de esta sintaxis puede activarse para Direct Discovery con la variable de script DirectUnicodeStrings.
Si asigna a esta variable el valor "true", se habilitará el uso del marcador de caracteres anchos estándar ANSI“N” delante de los literales de cadena. No todas las bases de datos admiten este estándar. El parámetro predeterminado es 'false', 'falso'.
Cuando se selecciona el valor de un campo DIMENSIONen un objeto Qlik Sense, se genera una consulta para la base de datos fuente. Cuando la consulta requiere agrupamiento, Direct Discovery usa la palabra clave DISTINCT para seleccionar solo valores únicos. Algunas bases de datos, no obstante, requieren la palabra clave GROUP BY. Configure DirectDistinctSupport como 'false' para generar GROUP BY en lugar de DISTINCT en las consultas para valores únicos.
Si se configura DirectDistinctSupported como verdadero, entonces se utiliza DISTINCT. Si no se configura así, el comportamiento predeterminado supone utilizar DISTINCT.
En escenarios con múltiples tablas de alta cardinalidad, es posible generar subconsultas en la consulta SQL en lugar de generar una cláusula IN de gran tamaño. Esto se activa configurando DirectEnableSubquery en 'true'. El valor por defecto es 'false'.
Variables de bandas de consulta de Teradata
Las bandas de consulta de Teradata es una funcionalidad que permite a las aplicaciones empresariales colaborar con la base de datos subyacente de Teradata con el fin de proporcionar una mejor contabilidad, priorización y gestión de las cargas de trabajo. Utilizando query banding podemos incluir metadatos, como por ejemplo unas credenciales de usuario, en una consulta.
Hay dos variables disponibles, ambas son cadenas que se evalúan y envían a la base de datos.
Esta cadena se envía al crear una conexión a la base de datos.
Si OSuser(), por ejemplo, devuelve WA\sbt, se evaluará como SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, lo cual se envía a la base de datos cuando se crea la conexión.
Esta cadena se envía con cada consulta en particular.
Direct DiscoveryVariables de carácter de
Podemos fijar el carácter utilizado como delimitador de campos en sentencias Direct Query para bases de datos que requieran un carácter distinto de la coma como delimitador de campos. El carácter especificado debe ir rodeado de símbolos de entrecomillado simple en la sentencia SET.
Podemos especificar un carácter para utilizarlo como símbolo de entrecomillado en una consulta generada. La opción predefinida es un entrecomillado simple. El carácter especificado debe ir rodeado de símbolos de entrecomillado simple en la sentencia SET.
Puede especificar que se utilicen comillas no ANSI en los identificadores en las consultas generadas. En este momento, el único símbolo de comillas no ANSI disponible es GoogleBQ. El valor predeterminado es ANSI. Se pueden utilizar mayúsculas, minúsculas y mayúsculas mixtas (ANSI, ansi, Ansi).
Por ejemplo, las comillas de ANSI se utilizan en la siguiente sentencia SELECT:
Cuando DirectIdentifierQuoteStyle está configurado en "GoogleBQ", la sentencia SELECT utilizaría el entrecomillado de la siguiente manera:
Podemos especificar un carácter para controlar el entrecomillado de identificadores en una consulta generada. Esto se puede fijar o bien en un carácter (como un símbolo de entrecomillado doble) o dos (como un par de corchetes). La opción predeterminada es un entrecomillado doble.
Cuando se utilizan campos Direct Discovery en una visualización de Tabla, se establece un umbral o límite para limitar el número de filas mostradas. El límite por defecto es de 1000 registros. El parámetro del límite predefinido se puede modificar configurando la variable DirectTableBoxListThreshold en el script de carga. Por ejemplo:
El parámetro del límite se aplica únicamente a visualizaciones de Tabla que contengan campos de Direct Discovery. Las visualizaciones de Tabla que contienen campos solo en memoria no están limitadas por el parámetro DirectTableBoxListThreshold.
No se mostrará ningún campo en la visualización de Tabla hasta que la selección contenga menos registros que el límite del umbral.
Variables de interpretación numérica de Direct Discovery
El separador decimal definido sustituye al símbolo decimal de moneda en la sentencia SQL generada para cargar datos utilizando Direct Discovery. Este carácter debe coincidir con el carácter utilizado en DirectMoneyFormat.
El valor predeterminado es '.'
Ejemplo:
El símbolo definido reemplaza al formato de moneda en la sentencia SQL generada para cargar datos mediante Direct Discovery. El símbolo de moneda para el separador de miles no debería incluirse.
El valor predeterminado es '#.0000'
Ejemplo:
El formato de hora definido sustituye al formato de hora de la sentencia SQL generada para cargar datos mediante Direct Discovery.
Ejemplo:
El formato de fecha definido sustituye al formato de fecha de la sentencia SQL generada para cargar datos mediante Direct Discovery.
Ejemplo:
Set DirectDateFormat='MM/DD/YYYY';
El formato definido sustituye al formato de fecha y hora en la sentencia SQL generada en la sentencia SQL generada para cargar datos utilizando Direct Discovery.
Ejemplo:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';