デジタル推進課

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

KNIME - コラムリストをもとにコラム削除 ~Reference Column Filter / Splitter~

 

f:id:makkynm:20201212140744p:plain

 

 

はじめに

Column FilterReference Row Filterが分かっていれば、概念は名前から分かりますよね。他テーブルの情報をもとにメインのテーブルのコラムを削除します。(もしくは分けます)

 

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

f:id:makkynm:20200607134215p:plain

Reference Column Filter / Splitter

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

kni.me

覚えてほしいこと

参照テーブルはコラム名だけしか見られない

 

やりたいこと

コラムリストをもとに、そこに含まれているコラムだけを残す

ことを行います。コラムの数が多い時に使用します。

今回は、勤務地と入社日のコラムをコラムリストを使用して削除してみたいと思います。

f:id:makkynm:20200617085048p:plain

やりたいこと - コラムリストをもとにフィルタリング

Reference Column Filterの使い方

コラムの数が多い時や、動的にコラムを削除したいとき、通常のColumn Filterよりも便利です。

Reference Column Splitterは使い方が同じなので省略します。FilterとSplitterの違いはRow Filterで説明した通り、分けるか残すかだけですね。

Workflow

コラム名リストの形では読み込めないので、RowIDTransposeを使用して「縦から横へ」値をコラム名に変換してから、参照テーブルとしてInputに入れます。

f:id:makkynm:20200617085302p:plain

Workflow - Reference Column Filter

 

Confirm - Before After

上のInput(Excel Reader)がフィルタリングの対象テーブル、

下のInput(Transpose)が参照テーブルになります。

参照テーブルは、コラム名しか見られていません。

※オプションを使えばデータ型まで見られます

f:id:makkynm:20200617085708p:plain

Confirm - Reference Column Filter

 

データ変換の軌跡

RowIDやTransposeで何が起こっているのかを、Confirmを見ながら確認しましょう。

f:id:makkynm:20200617090920p:plain

データ変換の軌跡

 

Configure

ほとんどやることはないです!

Inputテーブルさえきちんと用意できれば、あとは繋ぐだけというNodeです。

f:id:makkynm:20200617085934p:plain

Configure - Reference Column Filter
Step1 - Include columns from reference table 入れるか除くか

Splitterにはこの項目はありません。

参照テーブルにあるコラムを入れるか、除くかを決めます。

今回はIncludeを選択しているので、コラムリストにあるコラムを抽出していますが、Excludeを選択すると、これらが除かれるので「勤務地、入社日」のコラムが残ることになります。

 

 

Step2 - Ensure compatibility of column typesデータ型まで参照するか

これにチェックを付けると、コラム名だけでなくデータ型まで一致するものを抜き出してきます。今回の参照テーブルのデータ型はすべてStringでしたよね。

なので、これにチェックを入れると元テーブルのデータ型がStringではない「部署ID、生年月日」のコラムも除かれることになります。

f:id:makkynm:20200617092015p:plain

データ型も選定基準に含める

 

 ちょっと一言

 SplitterのConfigure画面

SplitterのConfigureの画面はStep1がないので非常に簡素です。

f:id:makkynm:20200617092116p:plain

Configure - Reference Column Splitter

 

おわりに

今回で、RowIDやTransposeの用法が分かってきたのではないでしょうか。KNIMEは、データベースの操作ツールなので縦への処理に強いです。

基本的にコラム単位で処理し、使いたいときだけ横に変換するという形で使用すると、処理できる内容が増えてよいです。

 

 

 

余談

他のテーブルをもとに、退けてしまうという特性にピッタリなおすすめ映画は、「ファウンダー ハンバーガー帝国の秘密」です。

この映画は、あのマクドナルドの始まりの話です。マクドナルドが不動産会社なのは皆さんご存知ですよね。あまりにディック&マック兄弟がかわいそうなんですが、ビジネスマンとしてはレイ・クロックが正解なのでしょう。

ビジネスマンとして成功するには、冷徹な面がないといけないのかなと思わされるような映画でした。マック大好きな方は是非見てください!

ファウンダー ハンバーガー帝国のヒミツ(字幕版)

ファウンダー ハンバーガー帝国のヒミツ(字幕版)

  • 発売日: 2018/01/24
  • メディア: Prime Video
 

 

https://www.youtube.com/watch?v=_plbpk8Wa9c

参考リンク