QlikView-Keeps
QlikViewのkeepコマンドを使用して、2つのデータセットのデータを結合し、両方のデータセットをメモリで使用できるようにします。 前の章で説明した結合に非常に似ていますが、2つの大きな違いがあります。 最初の違いは-キープの場合です。両方のデータセットはQlikViewのメモリで利用できますが、結合では、ロードステートメントは列を選択する必要のあるデータセットを1つだけ生成します。 2番目の違いは、結合の場合に外部結合を使用できるため、外部キープの概念がないことです。
入力データ
次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。
インナーキープ
内部キープは、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、テーブルボックスを作成します。
最初に、 productSales テーブルのみを選択します。このテーブルには、表示されるProductID、ProductCategory、SaleAmountのフィールドがあります。
次に、 ProductList データセットを選択します。これにより、ProductIDフィールドとProductCategoryフィールドが提供されます。
最後に、 All Tables オプションを選択し、すべてのテーブルから使用可能なすべてのフィールドを取得します。
次のレポートは、上記のステップのすべてのテーブルボックスを示しています。
左キープ
左キープは左結合に似ており、QlikViewのメモリで使用可能な両方のデータセットとともに左のテーブルのすべての行を保持します。
左キープスクリプト
次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。
左キープデータ
上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。
右キープ
右キープは左結合に似ています。これは、QlikViewのメモリで使用可能な両方のデータセットとともに、右のテーブルのすべての行を保持します。
右キープスクリプト
次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。
データを正しく保持
上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。