Qlikview-joins

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

QlikView-参加

QlikViewの結合は、2つのデータセットのデータを1つに結合するために使用されます。 QlikViewの結合は、SQLの結合と同じ意味です。 結合条件に一致する列と行の値のみが出力に表示されます。 ジョインがまったく初めての場合は、まずリンクについて学習することをお勧めします:/sql/sql-using-joins [ここ。]

入力データ

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

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

ProductSales:
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* を選択し、入力ファイルを参照します。 次に、スクリプト内のコマンドを編集して、テーブル間に内部結合を作成します。

load_script

内部結合は、両方のテーブルに存在する行のみをフェッチします。 この場合、 Product ListおよびProduct Sales テーブルの両方で使用可能な行がフェッチされます。 メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、 Table Box を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。

inner_join

左結合

左結合では、左側のテーブルからすべての行をフェッチし、右側のテーブルから一致する行をフェッチします。

スクリプトをロード

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

LEFT JOIN(Sales)

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

メニュー[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して*テーブルボックス*を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。

left_join

右結合

右結合では、右側のテーブルからすべての行をフェッチし、左側のテーブルから一致する行をフェッチします。

スクリプトをロード

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

RIGHT JOIN(Sales)

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

メニュー[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して*テーブルボックス*を作成します。ここでは、表示する3つのフィールド(ProductID、ProductCategory、SaleAmount)をすべて選択します。

right_join

外部結合

外部結合では、右側のテーブルと左側のテーブルからすべての行をフェッチします。

スクリプトをロード

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

OUTER JOIN(Sales)

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

メニューの[レイアウト]→[新しいシートオブジェクト]→[テーブルボックス]を使用して、 Table Box を作成します。ここでは、表示するProductID、ProductCategory、SaleAmountの3つのフィールドをすべて選択します。

outer_join