Bezpośredni dostęp do baz danych w chmurze za pomocą Direct Query
Użyj Direct Query, aby odczytywać bazy danych SQL bez konieczności importowania lub ładowania danych do pamięci.
Direct Query daje użytkownikowi więcej opcji dostępu do danych, aby dostosować je do indywidualnych potrzeb. Dostęp do danych za pośrednictwem Direct Query pozwala użytkownikowi zachować dane w ich podstawowym źródle danych. Zwiększa to szybkość, z jaką użytkownicy mogą wchodzić w interakcje ze swoimi danymi, w zamian za elastyczność, jaką oferuje aplikacja Qlik Cloud w pamięci.
Ogólnie zaleca się importowanie danych do Qlik Cloud, gdy tylko jest to możliwe. Aplikacje Qlik Cloud w pamięci pozwalają lepiej dostosować środowisko i w pełni wykorzystać dane. Jeśli jednak znajdziesz się w sytuacji, w której Twoich celów nie można osiągnąć poprzez importowanie danych, Direct Query może być dla Ciebie rozwiązaniem. Ze względu na ich usprawnioną funkcjonalność, aplikacje Direct Query mogą również pomóc nowym użytkownikom w zrobieniu pierwszego kroku w kierunku tworzenia w pełni funkcjonalnych i szybkich aplikacji w pamięci.
Możesz utworzyć swoją aplikację Direct Query za pomocą Menedżer modelu danych, aby pomóc w wyborze tabel i pól oraz zdefiniowaniu relacji między nimi. Więcej informacji zawiera temat Tworzenie Direct Query aplikacji.
Możesz również użyć niestandardowego kodu SQL w skrypcie ładowania, aby zdefiniować model danych dla swojej aplikacji Direct Query. Pozwala to na używanie zmiennych i wyrażeń Qlik podczas budowania modelu danych. Więcej informacji zawiera temat Tworzenie aplikacji Direct Query z niestandardowym językiem SQL.
Przykłady przypadków użycia Direct Query
Możesz rozważyć użycie Direct Query zamiast aplikacji w pamięci w następujących przypadkach:
| Przypadek użycia | Cel i opis |
|---|---|
| Duże źródła danych | Direct Query inicjuje się szybciej i jest mniej zasobochłonne w przypadku aplikacji z ponad 20 milionami wierszy. Może to być bardzo pomocne, gdy Twoje aplikacje są używane głównie do monitorowania lub raportowania stanu, gdzie dokonuje się tylko kilku lub żadnych selekcji. |
| Wydajne aplikacje w pamięci | Direct Query zapewnia funkcjonalność szybkiego i łatwego wyodrębniania wycinków danych do silnika Qlik Cloud z filtrowaniem zastosowanym we wszystkich powiązanych tabelach. Więcej informacji zawiera temat Eksportowanie ustawień aplikacji Direct Query do aplikacji-szablonu |
| Direct Query do zapisywania zwrotnego | Gdy zapisywanie zwrotne oparte na Qlik Automate jest skonfigurowane do modyfikowania danych w podstawowej bazie danych, Direct Query może bezpośrednio pokazywać zmodyfikowane wyniki bazy danych. Ta sama funkcjonalność w aplikacji w pamięci wymagałaby od użytkownika ponownego zaimportowania zmodyfikowanych tabel. |
| Eksploracja nowych baz danych i tabel | Direct Query może być używane do eksploracji nowych lub nieznanych baz danych i tabel. Pozwala to użytkownikowi na podjęcie świadomej decyzji, czy dane muszą zostać zaimportowane z podstawowego źródła danych. |
Samouczki
Samouczek dotyczący korzystania z aplikacji Qlik Sense można znaleźć w temacie Kurs — podstawy.
Samouczki dotyczące Direct Query można znaleźć poniżej:
-
Direct Query - Część 2: Hybrydowe rozwiązania analityczne z generowaniem aplikacji na żądanie (ODAG)
Obsługiwane możliwości
Aplikacje Direct Query mają inne możliwości w porównaniu do aplikacji w pamięci.
Direct Query obsługuje następujące elementy:
-
Typy połączeń danych:
InformacjaNie jest możliwe użycie połączeń danych Brama danych Qlik — dostęp bezpośredni w Direct Query.-
Amazon Redshift
-
Azure SQL
-
Azure Synapse Analytics
-
Databricks
-
Google BigQuery
-
Microsoft SQL Server
-
PostgreSQL
-
Snowflake
InformacjaW połączeniach danych obsługiwany jest podzbiór funkcji skalarnych. -
-
Emulacja analizy danych w pamięci:
-
Podzbiór analizy zestawów.
-
Wielotabelowe wykresy na dowolnych złożonych modelach. Istniejące wymagania dotyczące modeli dla aplikacji w pamięci będą nadal obowiązywać. Na przykład pętle asocjacji między tabelami nie są dozwolone.
-
Podstawowe typy agregacji:
-
Sum
-
Count
-
Min
-
Max
-
Avg
-
Only
-
-
Obliczenia przed i po agregacji, oparte na zestawie funkcji i operacji dostarczanym przez podstawową bazę danych.
-
-
Typy relacji tabel:
-
Złączenie wewnętrzne
-
Pełne złączenie zewnętrzne
-
-
Iteracyjne modelowanie i tworzenie pulpitów nawigacyjnych.
-
Funkcje wizualizacji:
-
Standardowe wykresy:
-
Wykres słupkowy
-
Wykres pociskowy
-
Przycisk
-
Wykres kombi
-
Kontener
-
Panel filtrowania
-
Miernik
-
Wskaźnik KPI
-
Wykres liniowy
-
Mapa
-
Wykres Mekko
-
Wykres kołowy
-
Wykres punktowy
-
Tabela
-
Tekst i obraz
-
Wykres kaskadowy
-
-
Wiązać pulpitu nawigacyjnego:
-
Odtwarzacz wideo
-
Wprowadzanie zmiennej
-
-
Wiązać wizualizacji:
-
Lejek
-
Wiele wskaźników KPI
-
Radar
-
Sankey
-
Chmura słów
-
-
-
Podzbiór możliwości wyszukiwania w polu:
-
Szukany ciąg bez symboli specjalnych (na przykład „*” i „?” do wyszukiwania wzorców lub „=” do wyszukiwania opartego na wyrażeniach) jest interpretowany jako wyszukiwanie prefiksu w pełnej wartości ciągu.
-
Symbole i możliwości wyszukiwania wzorców:
-
„*” - dowolne 0 lub więcej symboli
-
„?” - dowolny pojedynczy symbol
-
-
Wyszukiwanie oparte na zakresie (na podstawie „>”, „<”, „>=”, „<=”):
-
W przypadku wartości liczbowych dolne/górne granice są wykrywane na podstawie wartości liczbowej. Na przykład >10<100 jest równoważne <100>10. Oba są interpretowane jako [SearchedField] > 10 AND [SearchedField] < 100.
-
W przypadku innych typów danych dolne/górne granice są wykrywane na podstawie ich kolejności w warunku wyszukiwania. Na przykład >Value1<Value2 to nie to samo co <Value2>Value1. W drugim przypadku zakłada się, że Value2 odpowiada dolnej granicy i będzie interpretowane jako [SearchedField] < Value2 OR [SearchedField] > Value1.
-
-
Wyszukiwanie oparte na wyrażeniach, przy założeniu, że wyrażenie spełnia ograniczenia Direct Query.
InformacjaPełną listę możliwości wyszukiwania w pamięci można znaleźć w temacie Wyszukiwanie w ramach selekcji lub wizualizacji. -
-
Funkcje silnika Qlik w wyrażeniach $(=...).
W ramach wskaźnika KPI lub niestandardowego wyrażenia SQL w Direct Query można użyć następujących funkcji skryptu i wykresu Qlik:
-
Literały i operatory ciągów
Wyrażenie używające jednej lub więcej z powyższych opcji zostanie rozwinięte wyłącznie w silniku Qlik.
InformacjaMieszanie zdalnych natywnych funkcji SQL i funkcji silnika Qlik w ramach tego samego pojedynczego wyrażenia $(=...) nie jest obsługiwane.Aby połączyć użycie funkcji silnika Qlik i funkcji zdalnej bazy danych SQL (opcjonalnie w tym + zestaw/selekcje), użyj zagnieżdżonych wyrażeń $(=...):
$(= ...<EngineFuncs> ... $(=... <set/selection &| Native SQL funcs>) ... )
Na przykład:
'$(=Replace(GetUserAttr('userEmail'), '$(=Char(111))' , Chr(48)))'
W powyższym przykładzie zagnieżdżonego wyrażenia funkcje Replace(), GetUserAttr() i Chr() są funkcjami silnika Qlik i są ujęte w najbardziej zewnętrznym wyrażeniu $(=…). Zagnieżdżone wyrażenie $(=Char(111)) nie odwołuje się jednak do funkcji silnika. Jest to funkcja zdalnej bazy danych SQL (na przykład w MS SQL).
Zakładając, że adres e-mail użytkownika w Qlik Cloud to 'root@qlik.com', rozwinięcie powyższego wyrażenia nastąpiłoby w tej kolejności:
-
Rozwiń funkcję $(=CHAR(111)) niebędącą funkcją silnika za pośrednictwem zdalnej bazy danych SQL, co daje małą literę o.
-
Rozwiń funkcję silnika CHR(48) do znaku "0'.
-
Rozwiń GetUserAttr('userEmail') do 'root@qlik.com'.
-
Na koniec rozwiń ‘$(=Replace('root@qlik.com', ‘o' , ‘0’)’, aby uzyskać ostateczny wynik 'r00t@qlik.com'.