Direct Query
DIRECT QUERY ステートメントは、Direct Discovery 関数を使用している ODBC または OLE DB 接続からテーブルへのアクセスを可能にします。
構文:
DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist] [DETAIL fieldlist] FROM tablelist
[WHERE where_clause]
DIMENSION、MEASURE、DETAIL の各キーワードは、どのような順番でも使用できます。
DIMENSION と FROM キーワード節は、すべての DIRECT QUERY ステートメントに必要です。FROM キーワードは、DIMENSION キーワードの後に配置する必要があります。
DIMENSIONキーワードの後ろに直接指定した項目は、メモリにロードされ、インメモリとDirect Discoveryデータ間の関連付けの設定に使用されます。
MEASURE キーワードを使用して、Qlik Sense が「メタ レベル」では認識する項目を定義します。メジャー項目の実際のデータは、データ ロード プロセス中にデータベースの中にのみ存在し、ビジュアライゼーションで使用されるチャートの数式が起動するアドホックベースで取得されます。
通常、軸として使用されることになる、不連続値を含む項目は、DIMENSION キーワードでロードする必要がありますが、集計においてのみ使用する数値は、MEASURE キーワードを使って選択しなければなりません。
DETAIL 項目は、コメント項目など、ユーザーが詳細をドリルダウンするテーブル ボックスに表示したいと考える可能性のある情報や詳細を提供します。DETAIL 項目をチャートの数式で使用することはできません。
DIRECT QUERY ステートメントは、SQL をサポートするデータ ソースに対して中立です。このため、同一の DIRECT QUERY ステートメントを変更することなく異なる SQL データベースで使用することができます。Direct Discovery は、必要に応じてデータベースに適したクエリを生成します。
ネイティブ データソース構文は、ユーザーがクエリするデータベースを把握していて、SQL にデータベース特定の拡張機能を利用したい場合に使用できます。ネイティブ データソース構文は、次の場合にサポートされます。
- DIMENSION および MEASURE 節の項目式
- WHERE 節のコンテンツ
例:
DIMENSION Dim1, Dim2MEASURENATIVE ('X % Y') AS X_MOD_Y
DIMENSION Dim1, Dim2MEASURE X, YFROM TableNameWHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
引数:
引数 | 説明 |
---|---|
fieldlist |
コンマ区切りの項目指定リスト、 fieldname {, fieldname}. 項目指定を項目名にすることも可能で、データベースの列名と Qlik Sense 項目名に同じ名前が使用される場合があります。または、データベース数式や列名が Qlik Sense の項目名を指定する場合、項目指定を「項目エイリアス」にすることもできます。 |
tablelist |
データのロード元となるデータベースのテーブル名またはビュー名のリストです。これは一般的には、データベース上で実行された JOIN が含まれるビューとなります。 |
where_clause |
データベースの WHERE 節の完全な構文は、ここでは定義されませんが、ほとんどの SQL「関係式」は許容されます。これには、関数呼び出しの使用、文字列用の LIKE 演算子、IS NULL、および IS NOT NULL が含まれます。IN. BETWEEN は含まれていません。 NOT は、特定のキーワードの修飾子と対照的な単項演算子です。 例: 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)
最後の例を次のように記述することはできません。 WHERE X NOT in (1,2,3)
|
この例では、TableName と呼ばれるデータベース テーブル (Dim1、Dim2、Num1、Num2、Num3 項目を含む) が使用されます。Dim1 と Dim2 は Qlik Sense データセットにロードされます。
Dim1 と Dim2 は、軸として使用可能です。Num1、Num2、Num3 は、集計に利用可能です。Dim1 と Dim2 もまた、集計に利用できます。Dim1 と Dim2 が使用される集計タイプは、それぞれのデータ タイプによって決まります。例えば、多くの場合 DIMENSION 項目には名前や口座番号といった文字列データが含まれています。こうした項目は集計できませんが、count(Dim1) を使ってカウントすることはできます。
例えば、SELECT ステートメントを
SQL SELECT
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
次の DIRECT QUERY ステートメントに変更できます。
DIRECT QUERY
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;