Zmienne Direct Discovery
Zmienne systemowe Direct Discovery
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:
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:
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.
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’<ciąg rozszerzony>’), 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”.
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.
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.
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ścią domyślną jest 'false'.
Zmienne podziału zapytań na przedziały w oprogramowaniu Teradata
Podział zapytań na przedziały w oprogramowaniu Teradata to funkcja, która umożliwia aplikacjom korporacyjnym współpracę ze źródłową bazą danych Teradata w celu zapewnienia sprawniejszego ewidencjonowania, lepszej priorytetyzacji i efektywniejszego zarządzania procesami. 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.
Ten ciąg jest wysyłany po nawiązaniu połączenia z bazą danych.
Jeśli OSuser() zwróci na przykład wynik WA\sbt, fragment ten będzie oceniany jako SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION; i taka postać zostanie wysłana do bazy danych po nawiązaniu połączenia.
Ten ciąg jest wysyłany w przypadku każdego zapytania.
Zmienne znakowe Direct Discovery
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.
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.
W celu cytowania identyfikatorów w generowanych zapytaniach można zezwolić na stosowanie cudzysłowów w formacie innym niż ANSI. Aktualnie jedynym cudzysłowem w formacie innym niż ANSI jest GoogleBQ. Wartością domyślną jest ANSI. Dozwolony jest zapis literami wielkimi, literami małymi oraz literami o różnej wielkości (ANSI, ansi, Ansi).
Na przykład cytowanie w formacie ANSI ma miejsce w następującej instrukcji SELECT:
Jeśli DirectIdentifierQuoteStyle ma wartość "GoogleBQ", wówczas w instrukcji SELECT cytowanie miałoby następującą postać:
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.
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:
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
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:
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:
Zdefiniowany format czasu zastępuje format czasu w instrukcji SQL wygenerowanej w celu ładowania danych przy użyciu Direct Discovery.
Przykład:
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';
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]';