Keep

keepプレフィックスはjoin プレフィックスに類似しています。joinプレフィックスのように、ロード済みテーブルと既存の名前付きテーブルまたは直前に作成されたデータ テーブルを比較します。しかし、ロード済みテーブルと既存のテーブルを結合する代わりに、テーブル データの共通部分に基づき、QlikView に保存される前に、2 つのうち一方または両方のテーブルを縮小する効果があります。実施された比較は、すべての共通項目で行われる自然結合に相当します (対応する結合と同じ方法など)。ただし、2 つのテーブルは結合されず、別の名前付きテーブルとして QlikViewに保存されます。

構文:  

(inner | left | right) keep [(tablename ) ]( loadstatement | selectstatement )

 

keepプレフィックスの前には、inner または leftright のプレフィックスを配置する必要があります。

QlikViewスクリプト言語における明示的なjoin プレフィックスは、2 つのテーブルの完全な結合を実行します。その結果、1 つのテーブルが生成されます。通常、このような結合を行うと、かなり大きなテーブルが作成されます。そのため、QlikViewでは、テーブルを結合する代わりに複数のテーブル間で関連付けを行います。これにより、メモリの使用量が削減され、処理速度がアップすると同時に柔軟性が極めて高まります。このような理由から、一般的にはQlikViewスクリプトでの明示的な結合は避ける必要があります。keep の機能は、明示的な結合の使用回数を減らすよう設計されています。

引数:  

引数 説明
tablename 名前が付いたテーブルが、ロード済みのテーブルと比較されます。
loadstatementまたは selectstatement ロード済みテーブルの LOADまたは SELECT ステートメントです。

例:  

Inner Keep LOAD * from abc.csv;

Left Keep SELECT * from table1;

tab1:

LOAD * from file1.csv;

tab2:

LOAD * from file2.csv;

.. .. ..

Left Keep (tab1) LOAD * from file3.csv;