デジタル推進課

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

KNIME - 特定のデータを抜き出す4 ~Reference Row Filter / Splitter~ 他テーブルを参照してフィルタを適用

 

 

はじめに

特定のデータを抜き出す第4弾、他テーブル参照式Row フィルタです。

他のテーブルに含まれている値を基準に、フィルタを適用することができるようになります。

これを利用して、勤怠表を入力していない人リストを作ってみましょう。(人事から怖い催促メールが自動的に飛んでくるようになりますね、、)

 

 今回のテーマ ~Reference Row Filter / Splitter~

今回は、Reference Row Filter / Splitterです。他のテーブルの値を基準にして適用できる行フィルタです。

f:id:makkynm:20200604214329p:plain

Reference Row Filter / Splitter

 

覚えてほしいこと

フィルタをしたいテーブルは上、フィルタの値が含まれているテーブルは下

 

やりたいこと

勤怠表を入力していない人リストを作ってみます。

f:id:makkynm:20200605113451p:plain

やりたいこと - 他テーブル参照式フィルタ

 

Reference Row Filterの使い方

Splitter もFilterも使い方は同じです。 

Workflow

上がフィルタを適用されれるテーブル、

下がフィルタの値が含まれているテーブル

f:id:makkynm:20200605113652p:plain

Workflow - Reference Row Filter

Confirm - Before After

勤怠表に記録のない社員を抜き出してみましょう。

f:id:makkynm:20200605113847p:plain

Confirm - Reference Row Filter

Configure

 設定は非常に簡単です。どちらがどちらのコラムなのかだけ意識しましょう。

f:id:makkynm:20200605114104p:plain

Configure - Reference Row Filter
Step1 - Reference Columns コラムの選択

まずはコラムを設定していきましょう。Data table Columnが上からのInputのテーブルのコラムです。フィルタが適用されるコラムを入れていきます。

今回の例でいうと、社員表の社員番号コラムですね。

次にReference table columnで値リストの含まれているコラムを下のテーブルから選択します。

今回は、勤怠表の社員番号コラムです。

 

Step2 - Include rows from reference table 含めるか除くか

Reference table columnで値リストにあるものを含める(Include)設定にするのか、除く(Exclude)設定にするかを選べます。

今回は、勤怠表に含まれていない社員を抜き出したいので、”Exclude”を選択しました。

 

Reference Row Splitterは、この設定はありません。その代わりに、上のOutputがInclude、下のOutputがExcludeという形で出てきます。

f:id:makkynm:20200605114630p:plain

Configure - Reference Row Splitter

 

 

 

ちょっと一言

実行スピードアップのために

今回は、何もせずに適用しましたが、勤怠表のレコードが多くなると、実行スピードがかなり落ちてしまいます。

そこでおススメは、GroupByを直前に入れて事前にデータをまとめておき、重複を削除しておくことです。そうすることで、実行スピードが速くなりますし、やっていることもあとから確認しやすくなります。

 

f:id:makkynm:20200605115213p:plain

事前にGroupByでデータをまとめておく

f:id:makkynm:20200605115335p:plain

事前にGroupByでデータをまとめておく

f:id:makkynm:20200605115346p:plain

事前にGroupByでデータをまとめておく

 

 

おわりに

 今回は簡単でしたが非常に有用なNodeだったと思います。ぜひ活用していってください。

 

 

参考リンク