Qlik Trainingブログ

  • データ準備
2021.05.12

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

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


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

 ・テーブル数が多くなり、テーブル構造が把握しづらくなった
 ・循環参照(関連付けのループ)が発生し、関連付けが上手くいかない
 ・シンセティックキー(複合キー)ができ、データ量が増えた

こんな時に便利なのが「結合」です!
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

さいごに

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

関連している記事

  • データ準備
2021.07.29

Date#とDateの違い

皆さんはデータを分析する時、必ずと言っていいほど日付データを扱われると思います。 その際に取り込んだ日付データが日付として扱えなかったことはありませんか?

  • データ準備
2021.06.30

Where句で必要なデータだけ取り込みます!

アプリに全てのデータを取り込む必要はないな…という時ありませんか? そんな時はWhere句で条件を指定して必要なデータだけ取り込みましょう!

  • データ準備
2021.06.15

Concatenate(連結)で分析しやすいデータに加工する!

JOINに引き続き、データ準備のテクニックをご紹介します。 今回はJOINと同じように複数テーブルを1つにまとめ、 分析しやすいデータに加工できる「Concatenate」(連結)についてです。

ページの先頭へ戻る