デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - 総当たりでデータ作成! ~Cross Joiner~

f:id:makkynm:20201220101421p:plain

 

 

はじめに

今回は総当たりでデータを作成する、Cross Joinerを扱いたいと思います。勤怠表の元データを作成したい場合などに便利ですね。

 

 今回のテーマ ~Cross Joiner~

f:id:makkynm:20200726091500p:plain

今回のテーマ - Cross Joiner

覚えてほしいこと

総当たりでデータを作成したい場合にはCross Joiner

 

やりたいこと

下記のように、1月の日付に対して各社員のデータをコピーしていきます。いわゆる総当たりでデータ作成を行います。

f:id:makkynm:20200726092220p:plain

やりたいこと - 総当たりでデータを作成

 

 

Cross Joinerの使い方

総当たりでデータを作成したい場合に使用します。勤怠表の元データを作成するなど、日付に関する処理のときにたまに出てきます。

Workflow

f:id:makkynm:20200726091500p:plain

Workflow - Cross Joiner

Workflowは下記からダウンロードできます。

hub.knime.com

 

Confirm - Before After

総当たりは、下図の通り、

上のInput1行目×下のInput全行コピー

上Table2行目×下Tableコピーのように進んでいきます。

コラム数は上のInputのコラム数+下のInputのコラム数 となり、行数は、上のInputの行数×下のInputの行数という形になります。

f:id:makkynm:20200726092137p:plain

Confirm - Cross Joiner

Configure

設定は必要ありません!総当たりですもんね。

一応オプションがあるので解説します。

f:id:makkynm:20200726092820p:plain

Configure - Cross Joiner

 

Bottom table's column name suffix

下のInputテーブルが上のInputテーブルと同じコラム名を持っていた場合に、コラム名が重ならないようにコラム名のあとにつける名前です。

 

Separator for new RowIds

OutputのRowIDに対しての設定です。上のRow IDと下のRow IDをくっつける際に間に入れる文字を指定します。

f:id:makkynm:20200726093250p:plain

Separator for new RowIds

 

Chunk size

データが多い時に実行を分割して同時実行させるための設定です。

 

Append top data tables RowIds

チェックを入れると、Outputのデータに上のInputテーブルのRowIDを新しいコラムといて挿入できます。

 

Append bottom data tables RowIds

チェックを入れると、Outputのデータに下のInputテーブルのRowIDを新しいコラムといて挿入できます。

 

おわりに

 今回はCross Joinerという知ってれば便利なNodeを紹介しました。

 

 

 

余談 

今回ご紹介するのは、「大統領の執事の涙」です。

 もうじき無料配信が終了しそうだったので、見てみましたが非常に良かったです。大統領に仕え続けたある黒人執事の人生とともに、黒人差別の歴史が描かれています。最近白人警官による黒人男性の殺害が話題になりましたが、どこか他人事のところがありました。これを見ると黒人の実際の息苦しさが伝わってきます。どこまでが実話なのかが気になるところです。感動できる内容でした。

 

大統領の執事の涙(字幕版)

大統領の執事の涙(字幕版)

  • メディア: Prime Video
 
大統領の執事の涙(吹替版)

大統領の執事の涙(吹替版)

  • メディア: Prime Video
 

 

www.youtube.com

参考リンク