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

QVD ファイル

QVD (QlikView Data) ファイルは、Qlik Sense または QlikView からエクスポートされたデータのテーブルを含むファイルです。QVD はネイティブの Qlik 形式で、Qlik Sense または QlikView でしか書き込みと読み出しを行えません。ファイル形式は、Qlik Sense スクリプトからデータを読み取る際の速度について最適化されていますが、それでも非常にコンパクトです。QVD ファイルからのデータの読み取りは、他のデータ ソースから読み取る場合よりも、一般に 10~100 倍速くなっています。

QVD ファイルは、標準 (高速) と最適化 (超高速) の 2 つのモードで読み取ることができます。使用されるモードは、Qlik Sense スクリプト エンジンによって自動的に決定されます。最適化モードは、ロードされたすべての項目が変換 (項目に対して実行される式) なしに読み取られる場合にのみ使用できます。ただし、項目名は変更することができます。Where 節は、Qlik Sense にレコードを解凍させ、最適化されたロードを無効にします。

QVD ファイルは、厳密に 1 つのデータ テーブルを保持し、次の 3 つの部分で構成されます。

  • テーブル内の項目や、後続情報およびその他のメタデータのレイアウトを記述する XML ヘッダー (UTF-8 文字セット)。
  • バイト埋め込み形式のシンボル テーブル。
  • ビット埋め込み形式の実際のテーブル データ。

QVD ファイルの用途はさまざまですが、主に 4 つの目的で使用されます。複数の目的を一度に達成できる場合もあります。

  • データベース サーバーの負荷の減少
  • 外部データ ソースから取得するデータ量を大幅に削減できます。これにより、外部データベースおよびネットワーク トラフィックの負荷が減少します。さらに、複数の Qlik Sense スクリプトが同じデータを共有する場合は、ソース データベースから QVD ファイルに一度データをロードするだけで済みます。他のアプリケーションは、この QVD ファイルから同じデータを使用できます。

  • 複数の Qlik Sense アプリケーションからのデータ統合
  • Binary スクリプト ステートメントでは、単一の Qlik Sense アプリケーションからのみ別のアプリケーションにデータをロードできます。しかし、QVD ファイルを使用すれば、Qlik Sense スクリプトは、任意の数の Qlik Sense アプリケーションからデータを統合できます。これにより、さまざまな部署の類似データを統合するなど、アプリケーションの可能性が広がります。

  • 増分ロード
  • 多くの場合、QVD の機能を活用することで、増大するデータベースから新しいレコードだけをロードする増分ロードを簡単に実行できます。

情報メモ

Qlik コミュニティが Qlik アプリケーションの自動化 を使用して QVD のロード時間を改善する方法については、「自動化を使用して QVD を分割し、リロードを改善する方法」を参照してください。

QVD ファイルの作成

QVD ファイルは、スクリプト内で store コマンドを使用して作成し、名前を付けることができます。スクリプトで、以前に読み取ったテーブルまたはその一部を、選択した場所にある明示的に指定されたファイルにエクスポートするように記述します。

Store

このスクリプト ステートメントは、明示的に命名された QVDParquetCSV、または TXT ファイルを作成します。

構文:  

Store[ *fieldlist from] table into filename [ format-spec ];

項目のエクスポートは 1 つのデータ テーブルからのみ行えます。複数のテーブルの項目がエクスポートされる場合、エクスポートされるデータ テーブルを作成するためには、事前にスクリプトで明示的に結合されている必要があります。

テキストの値は UTF-8 形式で CSV ファイルに出力されます。区切り文字を指定できます (LOAD を参照)。CSV ファイルへの store ステートメントは、BIFF エクスポートをサポートしていません。

Store mytable into [lib://DataFiles/xyz.qvd]; Store * from mytable into [lib://DataFiles/xyz.qvd]; Store myfield from mytable into [lib://DataFiles/xyz.qvd]; Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; Store mytable into [lib://DataFiles/myfile1.txt]; Store mytable into [lib://DataFiles/myfile2.csv];

  1. 高度なスクリプト チュートリアル アプリを開きます。
  2. Product スクリプト セクションをクリックします。
  3. 次の内容をスクリプトの最後に追加します。
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    これで、スクリプトは次のようになります。

    CrossTable(Month, Sales)
    LOAD
        Product,
        "Jan 2014",
        "Feb 2014",
        "Mar 2014",
        "Apr 2014",
        "May 2014"
    FROM [lib://DataFiles/Product.xlsx] 
    (ooxml, embedded labels, table is Product);
    
    Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

  5. [データのロード] をクリックします。
  6. これで Product.qvd ファイルがファイル リストに表示されるようになります。

    Crosstableスクリプトの結果であるこのデータ ファイルは、各カテゴリ (Product, Month, Sales) ごとに 1 つの列を持つ 3 列構成のテーブルです。このデータ ファイルは、Product スクリプト セクション全体を置換するために使用できます。

QVD ファイルからのデータのロード

Qlik Sense は次の方法で QVD ファイルの読み込みやアクセスを実行します。

  • 明示的なデータ ソースとしての QVD ファイルのロード。QVD ファイルは、その他のテキスト ファイル (csvfixdifbiff など) と同様に、Qlik Sense スクリプトの load ステートメントで参照できます。
  • LOAD * from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • スクリプトからの QVD ファイルへのアクセス。(QVD で始まる) いくつかのスクリプト関数を使用して、QVD ファイルの XML ヘッダーにあるデータのさまざまな情報を取得できます。

  1. Product スクリプト セクションのスクリプト全体をコメント アウトします。
  2. 次のスクリプトを入力します。
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. [データのロード] をクリックします。
  5. データは QVD ファイルからロードされます。

    データ ロード進捗状況ウィンドウ

    データ ロード進捗状況ウィンドウ。
情報メモ増分ロードでの QVD ファイルの使用について詳しくは、Qlik Community の次のブログ投稿を参照してください。「Overview of Qlik Incremental Loading」 (Qlik 増分ロードの概要)

 

お疲れ様でした!

以上でチュートリアルは終了です。ここでご紹介した基本情報を Qlik Sense でのスクリプト作成にお役立てください。ウェブサイトでは、ご利用可能なトレーニングについての情報を公開しています。ぜひご覧ください。

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

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