Direct Query
L'instruction DIRECT QUERY vous permet d'accéder à des tables par le biais d'une connexion
Syntax:
DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist] [DETAIL fieldlist] FROM tablelist
[WHERE where_clause]
Les mots-clés DIMENSION, MEASURE et DETAIL peuvent être utilisés dans n'importe quel ordre.
Les clauses des mots-clés DIMENSION et FROM sont obligatoires pour toutes les instructions DIRECT QUERY. Le mot-clé FROM doit figurer après le mot-clé DIMENSION.
Les champs spécifiés directement après le mot-clé DIMENSION sont chargés en mémoire ; ils peuvent être utilisés pour créer des associations entre les données en mémoire et les données Direct Discovery.
Vous pouvez utiliser le mot-clé MEASURE pour définir des champs reconnus par Qlik Sense à un « niveau méta ». Les données réelles d'un champ de mesure résident uniquement dans la base de données lors du processus de chargement et sont récupérées de manière ad hoc d'après les expressions de graphique utilisées dans une visualisation.
En général, les champs dotés de valeurs discrètes utilisées comme dimensions sont à charger à l'aide du mot-clé DIMENSION tandis que les nombres exclusivement employés dans les agrégations doivent être sélectionnés à l'aide du mot-clé MEASURE.
Les champs de type DETAIL fournissent des informations ou des détails, par exemple des champs de commentaire, que les utilisateurs peuvent souhaiter afficher dans une zone table présentant plusieurs niveaux de détail. Il n'est pas possible d'utiliser des champs de type DETAIL dans des expressions de graphique.
De par sa conception, l'instruction DIRECT QUERY est neutre vis-à-vis des sources de données prenant en charge le langage
La syntaxe native des sources de données peut s'utiliser lorsque l'utilisateur connaît la base de données soumise aux requêtes et qu'il souhaite exploiter des extensions propres à la base de données pour
- Sous forme d'expressions de champ dans les clauses DIMENSION et MEASURE
- Sous forme de contenu de la clause WHERE
Exemples :
DIMENSION Dim1, Dim2MEASURENATIVE ('X % Y') AS X_MOD_Y
DIMENSION Dim1, Dim2MEASURE X, YFROM TableNameWHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Arguments:
Argument | Description |
---|---|
|
Liste de spécifications de champs séparées par des virgules, fieldname {, fieldname}. Une spécification de champ peut correspondre à un nom de champ, auquel cas le même nom est utilisé pour le nom de colonne dans la base de données et le nom de champ Qlik Sense. Une spécification de champ peut également désigner un « alias de champ », auquel cas un nom de colonne ou d'expression de base de données se voit attribuer un nom de champ Qlik Sense. |
|
Liste des noms des tables ou des vues de la base de données à partir desquelles les données seront chargées. En général, il s'agit de vues contenant une JOINTURE réalisée sur la base de données. |
|
La syntaxe complète des clauses WHERE de base de données sort du cadre de cette rubrique, mais la plupart des « expressions relationnelles » NOT est un opérateur unaire, par opposition à un modificateur de certains mots-clés. Exemples : 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)
Il n'est pas possible d'écrire le dernier exemple de la manière suivante : WHERE X NOT in (1,2,3)
|
Example:
Dans cet exemple, une table de base de données, intitulée
Par exemple, il est possible de modifier l'instruction SELECT
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
pour obtenir l'instruction DIRECT QUERY suivante :
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;