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 in 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 QlikView 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 ett diagram.
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
NATIVE-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
Examples:
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 QlikView-fältnamn. En fältspecifikation kan även vara ett ”fältalias”. Då får ett databasuttryck eller ett kolumnnamn ett QlikView-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. Examples: 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
Exempelvis kan satsen SELECT:
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;