部分的なリロード
フル リロードは、常に既存のデータ モデルのすべてのテーブルを削除することから始まり、次にロード スクリプトを実行します。
部分的なリロードはこれを行いません。代わりに、データ モデル内のすべてのテーブルを保持し、[Add]、[Merge]、または [Replace] プレフィックスが前に付いた [Load] ステートメントと [Select] ステートメントのみを実行します。他のデータ テーブルはコマンドの影響を受けません。引数 only は、ステートメントが部分的なリロード中にのみ実行され、フル リロード中には無視されることを示します。次の表は、部分的および完全なリロードのステートメントの実行の概要です。
ステートメント | 完全なリロード | 部分的なリロード |
---|---|---|
Load ... | ステートメントが実行されます | ステートメントが実行されません |
Add/Replace/Merge Load ... | ステートメントが実行されます | ステートメントが実行されます |
Add/Replace/Merge Only Load ... | ステートメントが実行されません | ステートメントが実行されます |
部分的なリロードには、完全なリロードと比較していくつかの利点があります。
-
最近変更されたデータのみをロードする必要があるため、より高速です。データセットが大きい場合、違いは大きくなります。
-
ロードされるデータが少ないため、消費されるメモリも少なくなります。
-
ソース データへのクエリがより高速に実行され、ネットワークの問題のリスクが軽減されるため、信頼性が向上します。
[リロード] ボタンを使用して部分的なリロードを実行します。詳細については、「ボタン」を参照してください。Qlik Engine JSON API を使用することもできます。
制限事項
部分的なリロード中ではなく、完全なリロード中に存在したテーブルに関するコマンドがある場合、部分的なリロードは失敗します。
部分的なリロードにより、データから値を削除できます。ただし、これは、内部で維持されるテーブルである個別の値のリストには反映されません。したがって、部分的なリロード後、リストには、最後の完全なリロード以降に項目に存在したすべての個別の値が含まれます。これは、部分的なリロード後に現在存在する値よりも多い場合があります。これは、FieldValueCount() および FieldValue() 関数の出力に影響します。FieldValueCount() は、現在の項目値の数よりも大きい数を返す可能性があります。