Komma åt molndatabaser direkt med Direct Query
Använd Direct Query för att läsa SQL-databaser utan att behöva importera eller läsa in data i minnet.
Direct Query ger användaren fler alternativ för hur de vill komma åt sina data för att passa deras individuella behov. Att komma åt data via Direct Query gör att användaren kan behålla data i dess underliggande datakälla. Detta ökar hastigheten med vilken användare kan interagera med sina data i utbyte mot den flexibilitet som en Qlik Cloud-applikation i minnet erbjuder.
Generellt rekommenderas det att du importerar dina data till Qlik Cloud när det är möjligt. Qlik Cloud-applikationer i minnet gör att du kan anpassa din upplevelse bättre och få ut mesta möjliga av dina data. Men om du befinner dig i en situation där dina mål inte kan uppfyllas genom att importera data kan Direct Query vara lösningen för dig. Tack vare sin strömlinjeformade funktion kan Direct Query-applikationer också hjälpa nya användare att ta sitt första steg mot att skapa fullt fungerande och snabba applikationer i minnet.
Du kan skapa din Direct Query-applikation med hjälp av Hanterare för datamodell för att välja tabeller och fält samt definiera relationer mellan dem. Mer information finns i Skapar en Direct Query applikation.
Du kan även använda anpassad SQL i laddningsskriptet för att definiera datamodellen för din Direct Query-applikation. Detta gör att du kan använda variabler och Qlik-uttryck när du bygger din datamodell. Mer information finns i Skapa en Direct Query applikation med anpassad SQL.
Exempel på användningsfall för Direct Query
Du kan överväga att använda Direct Query istället för applikationer i minnet i följande fall:
| Användningsfall | Syfte och beskrivning |
|---|---|
| Stora datakällor | Direct Query går snabbare att initiera och är mindre resursskrävande för applikationer med mer än 20 miljoner rader. Detta kan vara till stor hjälp när dina applikationer främst används för övervakning eller statusrapportering, där endast ett fåtal eller inga urval görs. |
| Effektiva applikationer i minnet | Direct Query tillhandahåller funktioner för att snabbt och enkelt extrahera datadelar till Qlik Cloud-motorn med filtrering tillämpad på alla berörda tabeller. Mer information finns i Exportera Direct Query applikationsinställningar till en mallapplikation |
| Direct Query för tillbakeskrivning | När tillbakeskrivning baserad på Qlik Automate är konfigurerad för att ändra underliggande databasdata kan Direct Query visa de ändrade databasresultaten direkt. Samma funktion i en applikation i minnet skulle kräva att användaren importerar de ändrade tabellerna igen. |
| Utforska nya databaser och tabeller | Direct Query kan användas för att utforska nya eller obekanta databaser och tabeller. Detta gör att användaren kan fatta ett välgrundat beslut om huruvida data behöver importeras från den underliggande datakällan. |
Självstudier
För en självstudiekurs om hur du använder Qlik Sense-applikationer, se Introduktionskurs – Börja med grunderna.
För en självstudiekurs om Direct Query, se följande:
Funktioner som stöds
Direct Query-applikationer har andra funktioner jämfört med applikationer i minnet.
Direct Query stöder följande:
-
Typer av datakopplingar:
Anteckning om informationDet går inte att använda Qlik Data Gateway – direktåtkomst-datakopplingar i Direct Query.-
Amazon Redshift
-
Azure SQL
-
Azure Synapse Analytics
-
Databricks
-
Google BigQuery
-
Microsoft SQL Server
-
PostgreSQL
-
Snowflake
Anteckning om informationEn delmängd av skalära funktioner stöds i datakopplingarna. -
-
Emulering av dataanalys i minnet:
-
En delmängd av mängdanalys.
-
Diagram med flera tabeller över godtyckligt komplexa modeller. Befintliga modellkrav för applikationer i minnet gäller fortfarande. Till exempel är associationsloopar mellan tabeller inte tillåtna.
-
Grundläggande aggregeringstyper:
-
Summa
-
Antal
-
Min
-
Max
-
Medel
-
Endast
-
-
Beräkningar före och efter aggregering, baserat på den funktions- och operationsuppsättning som tillhandahålls av den underliggande databasen.
-
-
Typer av tabellrelationer:
-
Inre koppling
-
Full yttre koppling
-
-
Iterativ modellering och instrumentpanelsbygge.
-
Visualiseringsfunktioner:
-
Standarddiagram:
-
Stapeldiagram
-
Måldiagram
-
Knapp
-
Kombinationsdiagram
-
Behållare
-
Filterpanel
-
Mätare
-
KPI
-
Linjediagram
-
Karta
-
mosaikdiagram
-
Cirkeldiagram
-
Punktdiagram
-
Tabell
-
Text och bild
-
Vattenfallsdiagram
-
-
Dashboard-bunt:
-
Videospelare
-
Variabelinmatning
-
-
Visualiseringsbunt:
-
Tratt
-
Multi-KPI
-
Radardiagram
-
Sankey
-
Ordmoln
-
-
-
En delmängd av sökfunktioner för fält:
-
En söksträng utan specialtecken (till exempel ”*” och ”?” för mönstersökning, eller ”=” för uttrycksbaserad sökning) tolkas som en prefixsökning över hela strängvärdet.
-
Symboler och funktioner för mönstersökning:
-
"*" – noll eller fler valfria tecken
-
"?" – ett valfritt tecken
-
-
Intervallbaserad sökning (baserad på ”>”, ”<”, ”>=”, ”<=”):
-
För numeriska värden identifieras de nedre/övre gränserna baserat på det numeriska värdet. Till exempel är >10<100 likvärdigt med <100>10. Båda tolkas som [SearchedField] > 10 AND [SearchedField] < 100.
-
För andra datatyper identifieras de nedre/övre gränserna genom deras ordning i sökvillkoret. Till exempel är >Value1<Value2 inte detsamma som <Value2>Value1. I det andra fallet antas Value2 motsvara den nedre gränsen och tolkas som [SearchedField] < Value2 OR [SearchedField] > Value1.
-
-
Uttrycksbaserad sökning, förutsatt att uttrycket uppfyller begränsningarna för Direct Query.
Anteckning om informationEn fullständig lista över sökfunktioner i minnet finns i Söka i urval eller visualiseringar. -
-
Qlik-motorfunktioner i $(=...)-uttryck.
Inom en KPI eller ett anpassat SQL-uttryck i Direct Query är det möjligt att använda följande skript- och diagramfunktioner från Qlik:
-
Literaler och strängoperatorer
Ett uttryck som använder ett eller flera av ovanstående alternativ kommer uteslutande att expanderas i Qlik-motorn.
Anteckning om informationDet finns inget stöd för att blanda fjärranslutna inbyggda SQL-funktioner och Qlik-motorfunktioner i ett och samma $(=...)-uttryck.För att kombinera användning av Qlik-motorfunktioner och fjärranslutna SQL-databasfunktioner (valfritt inklusive + mängd/urval), använder du nästlade $(=...)-uttryck:
$(= ...<EngineFuncs> ... $(=... <set/selection &| Native SQL funcs>) ... )
Till exempel:
'$(=Replace(GetUserAttr('userEmail'), '$(=Char(111))' , Chr(48)))'
I exemplet med det nästlade uttrycket ovan är funktionerna Replace(), GetUserAttr() och Chr() Qlik-motorfunktioner och innesluts i det yttersta $(=…)-uttrycket. Det nästlade $(=Char(111))-uttrycket refererar dock inte till en motorfunktion. Det är en fjärransluten SQL-databasfunktion (till exempel i MS SQL).
Om vi antar att användarens e-postadress i Qlik Cloud är 'root@qlik.com' skulle expansionen av ovanstående uttryck ske i följande ordning:
-
Expandera funktionen $(=CHAR(111)) (som inte är en motorfunktion) via den fjärranslutna SQL-databasen, vilket resulterar i den gemena bokstaven o.
-
Expandera motorfunktionen CHR(48) till tecknet "0'.
-
Expandera GetUserAttr('userEmail') till 'root@qlik.com'.
-
Expandera slutligen ‘$(=Replace('root@qlik.com', ‘o' , ‘0’)’ för ett slutresultat på 'r00t@qlik.com'.