# Zmienne Direct Discovery

## Zmienne systemowe Direct Discovery

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

#### DirectCacheSeconds

Dla wyników zapytań Direct Discovery dotyczących wizualizacji można ustawić limit buforowania. Po osiągnięciu tego limitu Qlik Sense czyści bufor, gdy pojawią się nowe zapytania Direct Discovery. Qlik Sense skieruje zapytanie do źródła danych właściwego dla dokonanej selekcji i utworzy ponownie bufor na czas ograniczony limitem. Wynik każdej kombinacji selekcji będzie buforowany niezależnie. Oznacza to, że bufor jest odświeżany niezależnie przy każdej selekcji, czyli jedna selekcja odświeża bufor tylko dla pól poddanych selekcji, a druga selekcja odświeża bufor tylko pod względem poddanych jej pól. Jeśli druga selekcja obejmuje pola, które zostały odświeżone w pierwszej selekcji, nie są one ponownie aktualizowane w buforze, jeśli limit buforowania nie został osiągnięty.

Buforowanie Direct Discovery nie dotyczy wizualizacji typu Tabela. Każda selekcja w tabelach kieruje zapytanie do źródła danych.

Limit czasu musi być ustawiony w sekundach. Domyślny limit buforowania wynosi 1800 sekund (30 minut).

Wartość używana dla parametru DirectCacheSeconds jest wartością ustawioną w czasie wykonywania instrukcji DIRECT QUERY. Wartości tej nie można zmienić w środowisku wykonawczym.

Przykład:

```
SET DirectCacheSeconds=1800;
```

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

#### DirectConnectionMax

Do bazy danych można kierować asynchroniczne wywołania jednoczesne, korzystając z możliwości buforowania połączeń. Składnia skryptu ładowania przeznaczonego do ustawiania buforowania połączeń jest następująca:

```
SET DirectConnectionMax=10;  
```

Ustawienie liczbowe określa maksymalną liczbę połączeń bazy danych, z których kod Direct Discovery może korzystać podczas aktualizowania arkusza. Ustawieniem domyślnym jest 1.

InformacjaZ tej zmiennej należy korzystać ostrożnie. Jeśli nada się jej wartość większą niż 1, podczas połączenia z Microsoft SQL Server występują problemy.

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

#### DirectUnicodeStrings

Funkcja Direct Discovery może obsługiwać selekcję danych rozszerzonych Unicode przy użyciu standardowego formatu SQL dla rozszerzonych literałów ciągów znaków (N’&lt;ciąg rozszerzony&gt;’), co jest wymagane przez niektóre bazy danych (w tym przez SQL Server). Zastosowanie tej składni można włączyć dla Direct Discovery przy użyciu używanej w skryptach zmiennej DirectUnicodeStrings.

Ustawienie tej zmiennej na wartość „true” umożliwi użycie standardowego znacznika ANSI “N” dla znaków dwubajtowych przed literałami ciągów. Nie wszystkie bazy danych obsługują ten standard. Ustawieniem domyślnym jest „false”.

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

#### DirectDistinctSupport

Jeśli w obiekcie Qlik Sense wybrana jest wartość pola DIMENSION, wówczas dla źródłowej bazy danych generowane jest zapytanie. Jeśli takie zapytanie wymaga grupowania, Direct Discovery korzysta ze słowa kluczowego DISTINCT w celu selekcji tylko wartości niepowtarzalnych. Niektóre bazy danych wymagają jednak słowa kluczowego GROUP BY. Ustaw wartość parametru DirectDistinctSupport na 'false', aby wygenerować GROUP BY zamiast DISTINCT w zapytaniach dotyczących wartości niepowtarzalnych.

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

Jeśli parametr DirectDistinctSupport ma wartość true, wówczas stosowane jest słowo kluczowe DISTINCT. Jeśli parametr ten nie zostanie ustawiony, wówczas domyślnym działaniem będzie zastosowanie słowa kluczowego DISTINCT.

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

#### DirectEnableSubquery

W przypadku scenariuszy obejmujących wiele tabel i dużą liczbę wierszy można generować w ramach zapytania SQL zapytania podrzędne zamiast dużych klauzul IN. Aby włączyć tę funkcję, należy ustawić wartość funkcji DirectEnableSubquery na 'true'. Wartość domyślna to 'false'.

InformacjaPo włączeniu funkcji DirectEnableSubquery nie można już ładować tabel, które nie są w trybie Direct Discovery.

SET DirectEnableSubquery='true';

## Zmienne podziału zapytań na przedziały w Teradata

Podział zapytań na przedziały w Teradata to funkcja, która umożliwia aplikacjom korporacyjnym współpracę z bazą danych Teradata w celu zapewnienia lepszego rozliczania, priorytetyzacji i zarządzania obciążeniem pracą. Korzystając z podziału zapytań na przedziały można zawijać metadane, takie jak poświadczenia użytkownika, wokół zapytania.

Dostępne są dwie zmienne. Obie są ciągami znaków, które są oceniane i wysyłane do bazy danych.

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

#### SQLSessionPrefix

Ten ciąg jest wysyłany po nawiązaniu połączenia z bazą danych.

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

Jeśli OSuser() zwróci na przykład wynik WA\sbt, fragment ten zostanie wyliczony jako SET QUERY\_BAND = 'Who=WA\sbt;' FOR SESSION; i taka postać zostanie wysłana do bazy danych po nawiązaniu połączenia.

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

#### SQLQueryPrefix

Ten ciąg jest wysyłany w przypadku każdego zapytania.

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

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

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

#### DirectFieldColumnDelimiter

Dla baz danych, które jako separatora pola wymagają znaku innego niż przecinek, można ustawić znak używany jako separator pola w instrukcjach Direct Query. Podany znak należy ująć w pojedyncze cudzysłowy w instrukcji SET.

SET DirectFieldColumnDelimiter= '|'

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

#### DirectStringQuoteChar

Możliwe jest określenie znaku, który będzie używany w celu cytowania ciągów w generowanych zapytaniach. Domyślnie jest to pojedynczy cudzysłów. Podany znak należy ująć w pojedyncze cudzysłowy w instrukcji SET.

SET DirectStringQuoteChar= '"';

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

#### DirectIdentifierQuoteStyle

W celu cytowania identyfikatorów w generowanych zapytaniach można zezwolić na stosowanie cudzysłowów w formacie innym niż ANSI. Aktualnie jedynym formatem cudzysłowów innym niż ANSI jest GoogleBQ. Domyślnym formatem jest ANSI. Dozwolony jest zapis literami wielkimi, literami małymi oraz literami o różnej wielkości (ANSI, ansi, Ansi).

SET DirectIdentifierQuoteStyle="GoogleBQ";

Na przykład cytowanie w formacie ANSI jest używane w następującej instrukcji SELECT:

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

Jeśli DirectIdentifierQuoteStyle ma wartość "GoogleBQ", wówczas w instrukcji SELECT cytowanie miałoby następującą postać:

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

Możliwe jest określenie znaku, który będzie kontrolował cytowanie identyfikatorów w generowanych zapytaniach. Może to być jeden znak (np. znak podwójnego cudzysłowu) albo dwa znaki (np. para nawiasów kwadratowych). Domyślnie jest to znak podwójnego cudzysłowu.

SET DirectIdentifierQuoteChar='[]';

SET DirectIdentifierQuoteChar='``';

SET DirectIdentifierQuoteChar=' ';

SET DirectIdentifierQuoteChar='""';

[Źródła danych obsługiwane przez Direct Discovery](https://help.qlik.com/pl-PL/sense/May2026/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

Jeśli pola Direct Discovery są używane w wizualizacji typu Tabela, wówczas ustawiona jest wartość progowa, która ogranicza liczbę wyświetlanych wierszy. Ustawieniem domyślnym jest 1000 wierszy. Aby zmienić domyślne ustawienie limitu, należy w skrypcie ładowania odpowiednio ustawić zmienną DirectTableBoxListThreshold. Na przykład:

SET DirectTableBoxListThreshold=5000;

Ustawienie limitu obowiązuje tylko względem wizualizacji typu Tabela, która zawiera pola Direct Discovery. Wizualizacje typu Tabela zawierającej jedynie pola oparte na pamięci głównej nie podlegają ograniczeniu wartości określonym przez funkcję DirectTableBoxListThreshold.

W wizualizacji typu Tabela wyświetlane są pola dopiero wtedy, gdy selekcja obejmuje mniej rekordów niż wartość limitu.

## Zmienne interpretacji liczb Direct Discovery

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

#### DirectMoneyDecimalSep

Zdefiniowany separator dziesiętny zastępuje symbol dziesiętny dotyczący waluty w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu Direct Discovery. Ten znak musi być zgodny ze znakiem użytym w funkcji DirectMoneyFormat.

Wartość domyślna to '.'

Przykład:

Set DirectMoneyDecimalSep='.';

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

#### DirectMoneyFormat

Zdefiniowany symbol zastępuje format waluty w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu funkcji Direct Discovery. Nie należy uwzględniać symbolu waluty w odniesieniu do separatora tysięcy.

Wartość domyślna to '#.0000'

Przykład:

Set DirectMoneyFormat='#.0000';

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

#### DirectTimeFormat

Zdefiniowany format czasu zastępuje format czasu w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu Direct Discovery.

Przykład:

Set DirectTimeFormat='hh:mm:ss';

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

#### DirectDateFormat

Zdefiniowany format daty zastępuje format daty w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu Direct Discovery.

Przykład:

Set DirectDateFormat='MM/DD/YYYY';

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

#### DirectTimeStampFormat

Zdefiniowany format zastępuje format daty i godziny w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu Direct Discovery.

Przykład:

Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';

## Dowiedz się więcej

* [Uzyskiwanie dostępu do dużych zestawów danych za pomocą Direct Discovery](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/access-large-data-sets-with-direct-discovery.htm)