Direct Query
Med DIRECT QUERY-satsen kan du komma åt tabeller genom en
Syntax:
DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist] [DETAIL fieldlist] FROM tablelist
[WHERE where_clause]
Nyckelorden DIMENSION, MEASURE och DETAIL kan användas i valfri ordning.
Nyckelordssatserna DIMENSION och FROM krävs i alla DIRECT QUERY-satser. Nyckelordet FROM måste komma efter nyckelordet DIMENSION.
Fälten som anges direkt efter nyckelordet DIMENSION laddas i minnet och kan användas för att skapa associationer mellan data i minnet och Direct Discovery-data.
Med hjälp av nyckelordet MEASURE kan du definiera fält som Qlik Sense kan tolka på "metanivå". Faktiska data för ett measure-fält finns enbart i databasen under dataladdningsprocessen, och hämtas vid behov utifrån de diagramuttryck som används i en visualisering.
Normalt bör fält med diskreta värden som ska användas som dimensioner laddas in med nyckelordet DIMENSION, medan tal som ska användas i aggregeringar enbart bör markeras med nyckelordet MEASURE.
DETAIL fälten innehåller information eller detaljer, exempelvis fälten ”Comment”, som en användare kan välja att visa i en detaljerad tabellbox. DETAIL-fält kan inte användas i diagramuttryck.
DIRECT QUERY-satsen är utformad för att vara datakällsneutral för datakällor som har stöd för
Programegen syntax för datakällan kan användas när användaren vet vilken databas frågan ska skickas till och vill utnyttja databasspecifika komplement till
- Som fältuttryck i DIMENSION- och MEASURE-satser
- Som innehåll i WHERE-satsen
Exempel:
DIMENSION Dim1, Dim2MEASURENATIVE ('X % Y') AS X_MOD_Y
DIMENSION Dim1, Dim2MEASURE X, YFROM TableNameWHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Arguments:
Argument | Beskrivning |
---|---|
|
En kommaavgränsad lista med fältspecifikationer, fieldname {, fieldname}. En fältspecifikation kan vara ett fältnamn, och i så fall används samma namn som databaskolumnens namn och Qlik Sense-fältnamn. En fältspecifikation kan även vara ett ”fältalias”. Då får ett databasuttryck eller ett kolumnnamn ett Qlik Sense-fältnamn. |
|
En lista över namnen på tabeller eller vyer i databasen som data kommer att läsas in från. Normalt är det vyer som innehåller en JOIN som utförs på databasen. |
|
Den fullständiga syntaxen för WHERE-databassatser anges inte här, men de flesta ” NOT är en unär operator i motsats till en modifierare för vissa nyckelord. Exempel: WHERE x > 100 AND "Region Code" IN ('south', 'west')
WHERE Code IS NOT NULL and Code LIKE '%prospect'
WHERE NOT X in (1,2,3)
Det sista exemplet kan inte skrivas som: WHERE X NOT in (1,2,3)
|
Example:
I det här exemplet används en databastabell som heter
Till exempel kan SELECT-satsen:
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
ändras till följande DIRECT QUERY-sats:
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;