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 アプリケーションからのデータ統合
- 増分ロード
外部データ ソースから取得するデータ量を大幅に削減できます。これにより、外部データベースおよびネットワーク トラフィックの負荷が減少します。さらに、複数の Qlik Sense スクリプトが同じデータを共有する場合は、ソース データベースから QVD ファイルに一度データをロードするだけで済みます。他のアプリケーションは、この QVD ファイルから同じデータを使用できます。
Binary スクリプト ステートメントでは、単一の Qlik Sense アプリケーションからのみ別のアプリケーションにデータをロードできます。しかし、QVD ファイルを使用すれば、Qlik Sense スクリプトは、任意の数の Qlik Sense アプリケーションからデータを統合できます。これにより、さまざまな部署の類似データを統合するなど、アプリケーションの可能性が広がります。
多くの場合、QVD の機能を活用することで、増大するデータベースから新しいレコードだけをロードする増分ロードを簡単に実行できます。
Qlik コミュニティが Qlik アプリケーションの自動化 を使用して QVD のロード時間を改善する方法については、「自動化を使用して QVD を分割し、リロードを改善する方法」を参照してください。
QVD ファイルの作成
QVD ファイルは、スクリプト内で store コマンドを使用して作成し、名前を付けることができます。スクリプトで、以前に読み取ったテーブルまたはその一部を、選択した場所にある明示的に指定されたファイルにエクスポートするように記述します。
Store
このスクリプト ステートメントは、明示的に命名された QVD、Parquet、CSV、または TXT ファイルを作成します。
構文:
項目のエクスポートは 1 つのデータ テーブルからのみ行えます。複数のテーブルの項目がエクスポートされる場合、エクスポートされるデータ テーブルを作成するためには、事前にスクリプトで明示的に結合されている必要があります。
テキストの値は UTF-8 形式で CSV ファイルに出力されます。区切り文字を指定できます (LOAD を参照)。CSV ファイルへの store ステートメントは、BIFF エクスポートをサポートしていません。
例:
次の手順を実行します。
- 高度なスクリプト チュートリアル アプリを開きます。
- Product スクリプト セクションをクリックします。
- 次の内容をスクリプトの最後に追加します。
- [データのロード] をクリックします。
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);
これで Product.qvd ファイルがファイル リストに表示されるようになります。
Crosstableスクリプトの結果であるこのデータ ファイルは、各カテゴリ (Product, Month, Sales) ごとに 1 つの列を持つ 3 列構成のテーブルです。このデータ ファイルは、Product スクリプト セクション全体を置換するために使用できます。
QVD ファイルからのデータのロード
Qlik Sense は次の方法で QVD ファイルの読み込みやアクセスを実行します。
- 明示的なデータ ソースとしての QVD ファイルのロード。QVD ファイルは、その他のテキスト ファイル (csv、fix、dif、biff など) と同様に、Qlik Sense スクリプトの load ステートメントで参照できます。
例:
- スクリプトからの QVD ファイルへのアクセス。(QVD で始まる) いくつかのスクリプト関数を使用して、QVD ファイルの XML ヘッダーにあるデータのさまざまな情報を取得できます。
次の手順を実行します。
- Product スクリプト セクションのスクリプト全体をコメント アウトします。
- 次のスクリプトを入力します。
- [データのロード] をクリックします。
Load * from [lib://DataFiles/ProductData.qvd](qvd);
データは QVD ファイルからロードされます。
お疲れ様でした!
以上でチュートリアルは終了です。ここでご紹介した基本情報を Qlik Sense でのスクリプト作成にお役立てください。ウェブサイトでは、ご利用可能なトレーニングについての情報を公開しています。ぜひご覧ください。