Variables de Direct Discovery
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, QlikView borrará la caché cuando se hagan nuevas consultas de Direct Discovery. QlikView 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 es aplicable a los gráficos 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 admite la selección de datos Unicode ampliados, utilizando el formato SQL estándar para literales de cadenas de caracteres ampliadas (N’<cadena ampliada>’) tal y como lo requieren algunas bases de datos (sobre todo SQL Server). El uso de esta sintaxis puede activarse para Direct Discovery con la variable de script DirectUnicodeStrings.
Fijar esta variable en 'true' (verdadero) habilitará el uso del marcador de caracteres ANSI del estándar “N” 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 QlikView, 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. Fije DirectDistinctSupport en 'false' para generar GROUP BY en lugar 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 con múltiples tablas de alta cardinalidad es posible generar subconsultas en la consulta SQL en lugar de generar una gran cláusula IN. Esto se activa fijando el parámetro DirectEnableSubquery en 'true'. El valor por defecto es 'false'.
Variables de Teradata query banding
Teradata query banding es una función que permite a las aplicaciones de empresa colaborar con la base de datos Teradata subyacente para ofrecer una mejor contabilidad, priorización y gestió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 se evaluará como SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;, lo cual se envía a la base de datos al crearse 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 en las consultas generadas. Hoy por hoy, el único entrecomillado no ANSI disponible es GoogleBQ. El valor predeterminado es ANSI. Se pueden utilizar mayúsculas, minúsculas y caracteres combinados (ANSI, ansi, Ansi).
Por ejemplo, el entrecomillado ANSI se emplea en la sentencia SELECT a continuación:
Cuando DirectIdentifierQuoteStyle está configurado como "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 un gráfico 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 gráficos de Tabla que contengan campos de Direct Discovery. Los gráficos de Tabla que contienen campos solo en memoria no están limitados por el parámetro DirectTableBoxListThreshold.
No se mostrará ningún campo en el gráfico 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 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 por defecto es '.'
Ejemplo:
El símbolo definido reemplaza al formato de moneda de la sentencia SQL generada para cargar datos utilizando Direct Discovery. El símbolo de moneda para el separador de miles no debería incluirse.
El valor por defecto es '#.0000'
Ejemplo:
El formato de hora definido reemplaza al formato de hora de la sentencia SQL generada para cargar datos utilizando Direct Discovery.
Ejemplo:
El formato de fecha definido reemplaza al formato de fecha de la sentencia SQL generada para cargar datos con Direct Discovery.
Ejemplo:
Set DirectDateFormat='MM/DD/YYYY';
El formato definido reemplaza al formato de fecha y hora de la sentencia SQL generada en la sentencia SQL generada para cargar datos con Direct Discovery.
Ejemplo:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';