Direct Discovery variables
Variables de sistema de 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 mediante el uso del formato SQL estándar para literales de cadenas de caracteres extendidos (N'<cadena extendida>'), tal como lo requieren algunas bases de datos (especialmente SQL Server). El uso de esta sintaxis se puede habilitar para Direct Discovery con la variable de script DirectUnicodeStrings.
Fijar esta variable en 'true' (verdadero) habilitará el uso del marcador de caracteres “N” del estándar ANSI frente a 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 en 'false' para generar GROUP BY en vez de DISTINCT en consultas de valores únicos.
Si se fija DirectDistinctSupported como verdadero, entonces se utiliza DISTINCT. Si no se fija, el comportamiento predeterminado supone utilizar DISTINCT.
En escenarios de tablas múltiples de alta cardinalidad, es posible generar subconsultas en la consulta SQL en lugar de generar una cláusula IN grande. Esto se activa configurando DirectEnableSubquery en 'true'. El valor predeterminado es 'false'.
Variables query banding de Teradata
Teradata query banding es una función que permite a las aplicaciones empresariales colaborar con la base de datos Teradata subyacente a fin de proporcionar una mejor contabilidad, priorización y administración de la carga 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, esto devolverá SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, que 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.
Podemos especificar que se utilice entrecomillado no ANSI en los identificadores de las consultas generadas. Hoy por hoy, el único entrecomillado no ANSI disponible es GoogleBQ. El valor predeterminado es ANSI. Se pueden usar mayúsculas, minúsculas y una combinación de mayúsculas y minúsculas (ANSI, ansi, Ansi).
Por ejemplo, el entrecomillado ANSI se emplea en la sentencia SELECT a continuación:
Cuando DirectIdentifierQuoteStyle está fijado en "GoogleBQ", la sentencia SELECT utilizará las comillas del siguiente modo:
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 reemplaza el símbolo decimal de la moneda en la sentencia SQL generada para cargar datos usando Direct Discovery. Este carácter debe coincidir con el carácter utilizado en DirectMoneyFormat.
El valor predefinido es '.'
Ejemplo:
El símbolo definido reemplaza el formato de moneda en la sentencia SQL generada para cargar datos usando Direct Discovery. El símbolo de moneda para el separador de miles no debería incluirse.
El valor predefinido es '#.0000'
Ejemplo:
El formato de hora definido reemplaza al formato de hora de la sentencia SQL generada para cargar datos usando Direct Discovery.
Ejemplo:
El formato de fecha definido reemplaza al formato de fecha de la sentencia SQL generada para cargar datos usando Direct Discovery.
Ejemplo:
Set DirectDateFormat='MM/DD/YYYY';
El formato definido reemplaza al formato de fecha y hora de la sentencia SQL generada para cargar los datos que utilizan Direct Discovery.
Ejemplo:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';