メイン コンテンツをスキップする 補完的コンテンツへスキップ

Direct Query

DIRECT QUERY ステートメントは、Direct Discovery 関数を使用している ODBC または OLE DB 接続からテーブルへのアクセスを可能にします。

構文:  

DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist[DETAIL fieldlist] FROM tablelist

[WHERE where_clause]

 

DIMENSIONMEASUREDETAIL の各キーワードは、どのような順番でも使用できます。

DIMENSIONFROM キーワード節は、すべての DIRECT QUERY ステートメントに必要です。FROM キーワードは、DIMENSION キーワードの後に配置する必要があります。

DIMENSIONキーワードの後ろに直接指定した項目は、メモリにロードされ、インメモリとDirect Discoveryデータ間の関連付けの設定に使用されます。

情報メモDIRECT QUERY ステートメントに、DISTINCT 節や GROUP BY 節を含めることはできません。

MEASURE キーワードを使用して、QlikView が「メタ レベル」では認識する項目を定義します。メジャー項目の実際のデータは、データ ロード プロセス中にデータベースの中にのみ存在し、チャートで使用されるチャートの数式が起動するアドホックベースで取得されます。

通常、軸として使用されることになる、不連続値を含む項目は、DIMENSION キーワードでロードする必要がありますが、集計においてのみ使用する数値は、MEASURE キーワードを使って選択しなければなりません。

DETAIL 項目は、コメント項目など、ユーザーが詳細をドリルダウンするテーブル ボックスに表示したいと考える可能性のある情報や詳細を提供します。DETAIL 項目をチャートの数式で使用することはできません。

DIRECT QUERY ステートメントは、SQL をサポートするデータソースに対して中立です。このため、同一の DIRECT QUERY ステートメントを変更することなく異なる SQL データベースで使用することができます。Direct Discovery は、必要に応じてデータベースに適したクエリを生成します。

NATIVE データソース構文は、ユーザーがクエリするデータベースを把握していて、SQL にデータベース特定の拡張機能を利用したい場合に使用できます。NATIVE データソース構文は、次の場合にサポートされます。

  • DIMENSION および MEASURE 節の項目式
  • WHERE 節のコンテンツ

 

DIRECT QUERY 
    DIMENSION Dim1, Dim2 
    MEASURE 
    NATIVE ('X % Y') AS X_MOD_Y   
FROM TableName;
                
DIRECT QUERY
    DIMENSION Dim1, Dim2
    MEASURE X, Y
FROM TableName
WHERE NATIVE ('EMAIL MATCHES "\*.EDU"');
情報メモ以下の用語はキーワードとして用いられるので、引用符で囲まないで列や項目名として使用することはできません。 and, as, detach, detail, dimension, distinct, from, in, is, like, measure, native, not, or, where

引数:  

Direct query 引数
引数 説明
fieldlist

コンマ区切りの項目指定リスト、 fieldname {, fieldname}. 項目指定を項目名にすることも可能で、データベースの列名と QlikView 項目名に同じ名前が使用される場合があります。または、データベース数式や列名が QlikView の項目名を指定する場合、項目指定を「項目エイリアス」にすることもできます。

Direct Discovery 項目リスト

tablelist

データのロード元となるデータベースのテーブル名またはビュー名のリストです。これは一般的には、データベース上で実行された JOIN が含まれるビューとなります。

where_clause

データベースの WHERE 節の完全な構文は、ここでは定義されませんが、ほとんどの SQL「関係式」は許容されます。これには、関数呼び出しの使用、文字列用の LIKE 演算子、IS NULLIS 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 と呼ばれるデータベース テーブル (Dim1Dim2Num1Num2Num3 項目を含む) が使用されます。Dim1Dim2 は、QlikView データセットにロードされます。

DIRECT QUERY DIMENSTION Dim1, Dim2 MEASURE Num1, Num2, Num3 FROM TableName ;
 

Dim1Dim2 は、軸として使用可能です。Num1Num2Num3 は、集計に利用可能です。Dim1Dim2 もまた、集計に利用できます。Dim1Dim2 が使用される集計タイプは、それぞれのデータ タイプによって決まります。たとえば、多くの場合 DIMENSION 項目には名前や口座番号といった文字列データが含まれています。こうした項目は集計できませんが、count(Dim1) を使用してカウントすることはできます。

情報メモDIRECT QUERY ステートメントは、スクリプトエディタに直接書き込まれます。DIRECT QUERY ステートメントの構造をシンプルにするには、データ接続から SELECT ステートメントを生成し、生成したスクリプトを編集して DIRECT QUERY ステートメントに変更します。
例えば、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;

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。

分析の近代化プログラムに参加する

Remove banner from view

分析最新化プログラムにより、重要な QlikView app を危険にさらすことなく最新化しましょう。 ここをクリック して詳細を表示するか、次にお問い合わせください。 ampquestions@qlik.com