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

さいごに

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

関連している記事

  • データ準備
2022.07.20

同じ年月が複数表示される!?

Qlik Senseで日付の書式を、日付(YYYY/MM/DD)から年月(YYYY/MM)に変更したら、同じ年月(YYYY/MM)が複数表示されてしまった…なんてことはありませんか?

  • データ準備
2022.06.28

マッピングテーブルで値を一括置換しよう!

Qlik Senseに取り込んだデータを予め用意した規則をもとに一括で置換したいということはないでしょうか?こんな時に便利なMappingプレフィックスとApplyMap関数の使い方をご紹介します。

  • データ準備
2022.04.13

テーブル名や項目名を変更する方法(データマネージャー編)

データマネージャーで取り込んだデータのテーブル名や項目名を変更する方法をご紹介します。

ページの先頭へ戻る