Qlikview-keeps

提供:Dev Guides
移動先:案内検索

QlikView-Keeps

QlikViewのkeepコマンドを使用して、2つのデータセットのデータを結合し、両方のデータセットをメモリで使用できるようにします。 前の章で説明した結合に非常に似ていますが、2つの大きな違いがあります。 最初の違いは-キープの場合です。両方のデータセットはQlikViewのメモリで利用できますが、結合では、ロードステートメントは列を選択する必要のあるデータセットを1つだけ生成します。 2番目の違いは、結合の場合に外部結合を使用できるため、外部キープの概念がないことです。

入力データ

次の2つのCSVデータファイルを考えてみましょう。これらのファイルは、詳細な説明の入力として使用されます。

Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts

Product Sales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514

インナーキープ

*Control + E* を押すと呼び出されるスクリプトエディターを使用して、上記の入力データを読み込みます。 オプション *Table Files* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部キープを作成します。

keep_script

内部キープは、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、テーブルボックスを作成します。

最初に、 productSales テーブルのみを選択します。このテーブルには、表示されるProductID、ProductCategory、SaleAmountのフィールドがあります。

keep_product_sales

次に、 ProductList データセットを選択します。これにより、ProductIDフィールドとProductCategoryフィールドが提供されます。

keep_product_list

最後に、 All Tables オプションを選択し、すべてのテーブルから使用可能なすべてのフィールドを取得します。

keep_both_tables

次のレポートは、上記のステップのすべてのテーブルボックスを示しています。

keep_chart_innerkeep

左キープ

左キープは左結合に似ており、QlikViewのメモリで使用可能な両方のデータセットとともに左のテーブルのすべての行を保持します。

左キープスクリプト

次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。

productsales:
LOAD ProductID,
     ProductCategory,
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

left keep(productsales)
productlists:
LOAD ProductID,
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

左キープデータ

上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。

keep_chart_leftkeep

右キープ

右キープは左結合に似ています。これは、QlikViewのメモリで使用可能な両方のデータセットとともに、右のテーブルのすべての行を保持します。

右キープスクリプト

次のスクリプトは、左キープコマンドで結果のデータセットを作成するために使用されます。

productsales:
LOAD ProductID,
     ProductCategory,
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

right keep(productsales)
productlists:
LOAD ProductID,
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

データを正しく保持

上記のようにスクリプトを変更し、 Control + R を使用してレポートのデータを更新すると、シートオブジェクトに次のデータが取得されます。

keep_chart_rightkeep