# Variables de Direct Discovery

## Variables de sistema en Direct Discovery

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectCacheSeconds

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:

```
SET DirectCacheSeconds=1800;
```

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectConnectionMax

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:

```
SET DirectConnectionMax=10;  
```

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.

Nota informativaEsta variable debería utilizarse con cuidado. Se sabe que configurarlo a un valor superior a 1 causa problemas al conectarse a Microsoft SQL Server.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectUnicodeStrings

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'&lt;cadena extendida&gt;'), 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'.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectDistinctSupport

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.

```
SET DirectDistinctSupport='false';  
```

Si se configura DirectDistinctSupported como verdadero, entonces se utiliza DISTINCT. Si no se configura así, el comportamiento predeterminado supone utilizar DISTINCT.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectEnableSubquery

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'.

Nota informativaCuando DirectEnableSubquery está habilitado, no podemos cargar tablas que no estén en modo Direct Discovery.

SET DirectEnableSubquery='true';

## 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.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### SQLSessionPrefix

Esta cadena se envía al crear una conexión a la base de datos.

SET SQLSessionPrefix = 'SET QUERY\_BAND = ' & Chr(39) & 'Who=' & OSuser() & ';' & Chr(39) & ' FOR SESSION;';

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.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### SQLQueryPrefix

Esta cadena se envía con cada consulta en particular.

SET SQLSessionPrefix = 'SET QUERY\_BAND = ' & Chr(39) & 'Who=' & OSuser() & ';' & Chr(39) & ' FOR TRANSACTION;';

## [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)Direct DiscoveryVariables de carácter de

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectFieldColumnDelimiter

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.

SET DirectFieldColumnDelimiter= '|'

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectStringQuoteChar

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.

SET DirectStringQuoteChar= '"';

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectIdentifierQuoteStyle

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).

SET DirectIdentifierQuoteStyle="GoogleBQ";

Por ejemplo, las comillas de ANSI se utilizan en la siguiente sentencia SELECT:

SELECT [Quarter] FROM [qvTest].[sales] GROUP BY [Quarter]

Cuando DirectIdentifierQuoteStyle está configurado en "GoogleBQ", la sentencia SELECT utilizaría el entrecomillado de la siguiente manera:

SELECT [Quarter] FROM [qvTest.sales] GROUP BY [Quarter]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectIdentifierQuoteChar

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.

SET DirectIdentifierQuoteChar='[]';

SET DirectIdentifierQuoteChar='``';

SET DirectIdentifierQuoteChar=' ';

SET DirectIdentifierQuoteChar='""';

[Fuentes de datos admitidas en Direct Discovery](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/data-sources-supported-in-direct-discovery.htm)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectTableBoxListThreshold

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:

SET DirectTableBoxListThreshold=5000;

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectMoneyDecimalSep

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:

Set DirectMoneyDecimalSep='.';

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectMoneyFormat

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:

Set DirectMoneyFormat='#.0000';

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectTimeFormat

El formato de hora definido sustituye al formato de hora de la sentencia SQL generada para cargar datos mediante Direct Discovery.

Ejemplo:

Set DirectTimeFormat='hh:mm:ss';

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectDateFormat

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';

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/direct-discovery-variables.htm)

#### DirectTimeStampFormat

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]';

## Más información

* [Acceso a grandes conjuntos de datos con Direct Discovery](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/access-large-data-sets-with-direct-discovery.htm)