デジタル推進課

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

KNIME - ラベルを付ける ~Rule Engine~

f:id:makkynm:20201220093757p:plain

 

 

はじめに

今回はラベルを付けるために使用するRule Engineをご紹介します。Rule-based Row FilterでほとんどConfigureの書き方は扱ったので、少し煩雑なルールでご紹介します。

 

 今回のテーマ ~Rule Engine~

f:id:makkynm:20200627102931p:plain

Rule Engine

 

覚えてほしいこと

ラベルを付けたいときはRule Engine

 

やりたいこと

下記のようなルールで、ラベルを付けていきたいと思います。当てはまらなかったら次に行くシステムです。

社員表にて、

  1. 入社日が、2015年代 であれば ”2代目”
  2. 出身地が大阪府京都府かつ 勤務地が大阪支店 であれば "関西人"
  3. 出身地が東京都である、かつ 勤務地が東京***であれば"関東人"
  4. 当てはまらなければ、名前をラベルとしてコピー

 

Rule Engineの使い方

ラベル付けをする際に使います。

Workflow

f:id:makkynm:20200627102931p:plain

Workflow - Rule Engine

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

kni.me

 

Confirm - Before After

まず、各ルールがどうなっているかを見ていきましょう。

f:id:makkynm:20200628122607p:plain

Confirm - Rule Engine

f:id:makkynm:20200628122524p:plain

Confirm - Rule Engine

 

Configure

さて、先ほどの4つのルールを記述していきます。Configureの画面配置は、Rule-based Row Filterとほぼ同じですね。

f:id:makkynm:20200628130635p:plain

Configure - Rule Engine
Step1 - Expression ルールの記述

Rule-based Row Filterと同じように条件を記述していきますが、Rule-based Row Filterは条件の後に来る表現がTRUEもしくはFALSEでしたが、今回はラベルになっている点が異なる点です。

一つ一つ表現を確認していきましょう。KNIMEのルール表現は、上から順番に実行されていきます。

ルール1

入社日のコラムは数値(Integer)型なので、2015年代は「20150101以上、20160101より小さい」という表現ができます。

f:id:makkynm:20200628130537p:plain

Configure - Rule Engine ルール1

ルール2

複数含まれるような条件を記述するには、INを使用します。INの後に続く中に値があればTRUEとなります。

f:id:makkynm:20200628131223p:plain

Configure - Rule Engine ルール2

ルール3

ワイルドカード表現(wild card)*1を使いたいときは、LIKEを使用します。

ちなみにMATCHは、正規表現*2を使いたいときに使用します。

f:id:makkynm:20200628131645p:plain

Configure - Rule Engine ルール3

 

ルール4

それ以外の残った行についてラベル付けを行いたい場合は、「TRUE => 」という表現を用いましょう。もし、この行がなかった場合、すべての条件に当てはまらなかった行は、欠損値として出力されます。

またここで示した通り、他のコラムの値をラベルとして出力することもできます。

 

f:id:makkynm:20200628132352p:plain

Configure - Rule Engine ルール4

 

Step2 - Append Column/Replace Column 出力コラム設定

ラベルのコラムを、新規追加するか既存のコラムに上書き保存するかを選択できます。

新規追加する場合は新コラム名を、上書き保存する場合は削除する予定のコラム名を入力します。

 

 

おわりに

今回はラベル付けよく使用されるRule Engineについて扱いました。今後出てくるSwitchと併用することでよりパワーを発揮します。  応用範囲は多いかもしれません。個人的にはString Manipulationと使いどころをたまに混合します。基本ラベル付けで覚えておくといいと思います!

コロナ落ち着きませんが、徐々に平常通りの生活に戻りつつありますね。皆さんお気お付けて!ではまた!

 

 

余談 

さて、ラベル付けに関連するおススメ映画は、「翔んで埼玉」です。これ関東人であればみんなが共感できる内輪ネタが多くて本当に面白いです。埼玉県民であればなおさら面白いと思います。関東出身の方で、爆笑したい方ぜひ!

 

翔んで埼玉

翔んで埼玉

  • 発売日: 2019/09/11
  • メディア: Prime Video
 

 

www.youtube.com

参考リンク