まえがき
目次[非表示]
どうもシャイン社員です!
最近記事の執筆スピードが遅くなってしまいまして…
若干モチベダウン気味です。。
ここが踏ん張りどころだと思って頑張ります!!
記事の内容がお粗末になっているかもしれませんが、ご容赦を…
それでは今回はKNIMEのJoinerについて解説します。
何をしたいとき使うの?Joinerの使い方
Joinerの使用目的、用途ですが
共通の項目、値に基づいて2つの表を1つに統合するノードです。
エクセルでいうところのVLOOK UP関数と似た使い方が可能です。
Joinerノードは下記のように
INPUTポートが2つ、OUTPUTポートが3つあります。
それぞれのINPUTポートは「Top input」と「Bottom Input」
OUTPUTポートは「Join result」「Left unmached rows」「Right unmached rows」
となります。
2つの表から共通する項目を抜き出し、1つの表に統合する。
共通の項目、値に基づいて2つの表を1つに統合するノードです。
エクセルでいうところのVLOOK UP関数と似た使い方が可能です。
今回は例としてTable 1とTable 2の2つの表を準備しました。
Table 2には学籍番号と苗字(性)、名前(名)が書いてあります。
これらの表を組み合わせて下記のように
苗字(性)、名前(名)と学籍番号と国語、数学、英語を組み合わせた表を
下記のように作成しようと思います。
Joinerノードの接続方法
下記のようにノードを接続します。
Table1 / Table 2の接続先は上下が逆でもOKです。
Joinerの設定(Configure画面)
Joinerは基本的に設定をしないとうまく動作しません。
Configure画面は以下になります。
All of the following:全ての条件に当てはまる場合のみMatch
Any of the following : どれかに1つの条件に当てはまる場合にMatch
Add matching criterion :
ここを入力データ(Table1 と Table2 )のカラムを選択する画面になります。
ここで選択したカラムの同一の値を持つセル同士を1行に表示できます。
Add matching criterion を押すと下記のようにTable 1 Table 2からそれぞれ
任意のカラムを選択します。
選択したカラム同士で同じ値を持つ行を結合します。
列の抽出方法を設定する
Include in output
ここで出力ポートのJoin resultに出力するデータの内容を選択します。
ここで出力ポートのJoin resultに出力するデータの内容を選択します。
Matching rows (Inner join)
両方の円が被る紫のエリア
Table 1 とTable 2 の両方に含まれる学籍番号のみを選出して
同一の行に結合して表示する。
左片方の円の青色エリア
Table 1 に含まれる学籍番号のみを選出する。
Table 2 には該当するデータはないため姓/名は
欠損値である「?」が入力される。
Right unmatched rows (Right antijoin)
右片方の円の赤色エリア
Table 2 に含まれる学籍番号のみを選出する。
Table 1 には該当するデータはないため国語、数学、英語
の点数は欠損値である「?」が入力される。
出力するカラムを取捨選択する
Column Selection
ここの画面で出力に含ませるColumn(列名)を取捨選択できます。
ここはColumn splitterやColumn FilterのConfigure画面と似ていますね。
その他のあまり使わないオプション
Split join result into multi tables ( top = matching rows, middle = left unmatched rows , bottom = right unmatched rows)
これにチェック入れると「Join result」以外の出力ポート
「Left unmached rows」「Right unmached rows」からもデータが出力されます。
出力される内容は上記で説明した
Left unmatched rows (Left antijoin)とRight unmatched rows (Right antijoin)
のデータが出力されます。
あらかじめInclude in outputの設定で
Left unmatched rows (Left antijoin)かRight unmatched rows (Right antijoin)
を選択した場合のみここにデータが入ります。
Row Keysの
Concatenate original row keys with separator ___
1つのRow(行)にまとめた際のRow ID名の付け方を設定できます。
デフォルトではTable1RowID _Table2RowID
のようにアンダーバーを介してくっつけて名前付けされます。
参考サイト
こちらのサイトを参考にJoinerの動作を解説しました。
今回はJoiner を紹介したいと思います。スーパー基本操作に関しては過去記事【超入門シリーズ(全3回)】に書いてみました。必要に応じて参照いただければと思います。 【超入門(1/3)】KNIMEの使い方 〜エクセルファイルを読んでみよう(Excel Reader)〜 - 非プログラマーのためのインフォマティクス入門。(仮) 【超入門(2/3)】KNIMEの使い方 〜欲しい行だけ抽出しよう(Row filter, splitter)〜 - 非プログラマーのためのインフォマティクス入門。(仮) 【超入門(3/3)】KNIMEの使い方 〜エクセルファイルとして書き出してみよう(Excel Writ&
あとがき
いかがでしたでしょうか?
エクセルではVLOOKUP関数を使う途端に構成が複雑になり
何をしているのか理解するのが困難になります。
KNIMEのJoinerではデータを非破壊で編集し、Configure画面を見ることで
分かりやすく処理の内容を追うことができるので、この辺りもKNIMEを使うメリットだと感じています。
0 件のコメント:
コメントを投稿
ここにコメントを書いてね!