Qlik Training Blog

開発・スクリプト

JOIN(データの結合)で分析しやすいデータに加工する!

公開日:
更新日:
開発・スクリプト
#QlikView
#Qlik Sense
#Qlik Cloud
#開発者
#データロード

データをアプリに取り込む中で、似たデータやテーブルが増え、
データ構造や管理が複雑になった...という経験はないでしょうか。
例えば以下のような場合です。

  • テーブル数が多くなり、テーブル構造が把握しづらくなった

  • 循環参照(関連付けのループ)が発生し、関連付けが上手くいかない

  • シンセティックキー(複合キー)ができ、データ量が増えた

こんな時に便利なのが「結合」です!
JOIN(データの結合)はマウス操作だけで簡単にできる!」ではGUIで結合する方法を
ご紹介しました。今回はGUIでの加工では物足りず、スクリプトオンリーで
開発している方向けに、データ ロード エディタで結合する方法をご紹介します。

目次

※本記事は バージョン「February 2021」で作成しています。

結合とは

データを結合し、複数のテーブルを1つにまとめる機能です。
結合はInner JOIN、Left JOIN、Right JOIN、Outer JOINの4種類があります。
それぞれの動作は「JOIN(データの結合)はマウス操作だけで簡単にできる!」でご確認ください。

データ ロード エディタでJOINする方法


LOAD文の前に「(結合の種類) Join (結合先テーブル)」を指定します。

(結合の種類)を省略すると自動的にOuter JOINで処理され、
(結合先のテーブル)を省略すると直前にロードされたテーブルが結合先となります。
意図しない動作とならないよう、どちらも明記することをお勧めします。

<Left JOINの記述例>

 売上明細:
 LOAD
商品コード,
数量
 FROM [lib://DataFiles/Book1.xlsx]
 (ooxml, embedded labels, table is Sheet1);

 LEFT JOIN (売上明細)

 LOAD
商品コード,
商品名
 FROM [lib://DataFiles/Book1.xlsx]
 (ooxml, embedded labels, table is Sheet2);



<イメージ>



<動作例>
結合元に存在する商品コード「0001」「0002」「0003」「0004」のみ残して、
データがまとめられます。

▼結合元 ▼結合先 

商品コード

数量

商品コード

商品名

0001

30

0001

コーヒー

0002

40

←Left Join

0002

ワイン

0003

50

0003

ビール

0004

60

0004

ジュース

▼Left Joinの結果

商品コード

数量

商品名

0001

30

コーヒー

0002

40

ワイン

0003

50

ビール

0004

60

ジュース

詳細はヘルプをご覧ください。
https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm

さいごに

今後、データ加工のテクニックをさらにご紹介する予定です。お楽しみに!