デジタル推進課

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

KNIME - ブラックボックスツールにしないためには? メモを残そう ~Annotation・Metanode・Node Description~

f:id:makkynm:20201219212507p:plain

 

 

はじめに

ブラックボックスツールになってしまって開発した人以外誰も変更ができない!とならないようにするために、きちんとWorkflowにメモを残してあげることが大事です。そこで今回は綺麗に共有するポイントをまとめたいと思います。

今回、簡単なのですが重要なので、長くなると思います。ポイントだけ拾っていってください!

 

やりたいこと

1.Nodeの名前を変更する

まずはDefaultの名前"Node XX"を説明文に変えます。

f:id:makkynm:20200510105124p:plain

名前変更

2.Nodeにコメントをつける

Node上にマウスを持っていくと、自動的にコメントが表示される設定をします。

f:id:makkynm:20200510105221p:plain

Nodeにコメントをつける

3.Workflowにコメントを付ける

Workflowにテキストボックスのようにコメントをつけていきます。

(色は気にしないでください笑)

f:id:makkynm:20200510105337p:plain

Workflowにコメントをつける

 

4.複数Nodeを一つにまとめる

複数のNodeを一つにまとめていきます。見やすくなりますね。

f:id:makkynm:20200510105854p:plain

複数Nodeを一つにまとめる

 

5.Nodeを自動的に並び替える

Nodeがめちゃくちゃに並んでいたとします。(スパゲッティ状態)

これをいい感じに並び替えてくれる機能を紹介します。

f:id:makkynm:20200510110143p:plain

Nodeを自動的に並び替える

 

覚えてほしいこと

開発するときにメモを残す癖をつける

Metanodeを作ることは階層を作ること

逆行禁止!Nodeは左から右に流れるように配置する

 

1.Nodeの名前を変更する

結果

f:id:makkynm:20200510105124p:plain

Nodeの名前変更

設定方法

これは簡単ですね。Nodeの名前の部分をダブルクリックするだけで編集を開始できます。文字の変更だけでなく、太字やテキストボックスの塗りつぶしなど、色々機能があります。

f:id:makkynm:20200510112553p:plain

Nodeの名前変更

おすすめ使用頻度

私はここでの文字編集は最小限に抑えることをお勧めします。文字ばかりでもWorkflowは見づらいですからね。

短くていいので、一個一個名前を付けていく癖つけていくといいと思います。

Developerの人は一個一個名前を命名するなんて面倒だと思うと思います。でも後から非常に力を発揮します。受け取り側がConfigureを一個一個見て処理内容を確認するなんてNodeが増えていくとやってられないですから。

 

2.Nodeにコメントをつける

結果

次にNodeにコメントをつけていきます。このコメントは、普段は見えませんがマウスを上に置くと出てきます。

f:id:makkynm:20200510105221p:plain

Nodeにコメントをつける

設定方法

コメントを書きたいNodeを選択して右クリックします。"Edit Node Description"を選択しましょう。

 

f:id:makkynm:20200510113549p:plain

対象Nodeを右クリック

出てきた下のような画面に、表示したいコメントを入力したら完了です。

f:id:makkynm:20200510113641p:plain

Node Description

 

おすすめ使用頻度

これは、必要に応じてでいいと思います。設定上、注意が必要なNodeによく設定します。

私の場合、よくJava Nodeや、Rule based Nodeを使用した時に使用します。Configureに自由度があり、初級者では使い方が分かりづらそう・一目で理解されづらそうなNodeに注意点や使い方を説明するために使ったりします。

 

3.Workflowにコメントを付ける

結果

Workflowにコメントボックスのようなものを挿入する方法です。

f:id:makkynm:20200510105337p:plain

Workflowにコメントをつける


設定方法

 まずはテキストボックスを挿入したい任意のWorkflowの場所を選択して、右クリックしましょう。"New Workflow Annotation"を選択してください。

f:id:makkynm:20200510115707p:plain

任意の場所で右クリック

次に場所と大きさを指定します。もちろん後からでも変更可能です。

f:id:makkynm:20200510115816p:plain

サイズと場所の選択

次にこのテキストボックスをダブルクリックすると、テキストボックスの編集ができるようになります。文字を挿入したり、枠線や塗りつぶしを行ってみたりしましょう。これで完了です!

f:id:makkynm:20200510120032p:plain

テキストボックスの編集

 

おすすめ使用頻度

このAnnotationはよく使います。

単体のNodeの説明では補足できない情報を書く目的、Workflowを大きな役割ごとに分ける目的など様々です。

複数Nodeで大きな機能を果たしているときに使用したり、次に説明するMetanodeのInput portの補足説明を書くのに使うこともあります。

多すぎてもWorkflowが見づらくなることがあるので、中くらいの機能を説明するのに記述するのと、大機能ごとに色を分けてあげる目的として使用するのがいいかもしれません。

 

4.複数Nodeを一つにまとめる

結果

Metanodeというのを使うと、複数Nodeを一つのNodeとして見せることができます。階層を作っていくイメージです。このMetanodeをダブルクリックすると中身のNodeが別のタブで見えるようになります。

f:id:makkynm:20200510105854p:plain

複数Nodeを一つにまとめる

設定方法

 まずはまとめたいNodeを複数選択してください。

複数選択の方法は、ctrlを押しながら1つ1つ選択していくでもいいですし、マウスで範囲を指定して一気に選択してもいいです。

そのあと、選択したNodeの1つの上で右クリックをすると、"Create Metanode.."というメニューが選択できます。

f:id:makkynm:20200510121124p:plain

まとめたいNodeを複数選択して右クリック

Nodeが緑色(実行完了状態)になっていた場合はResetするかどうか聞かれます。Resetしてしまいましょう。

f:id:makkynm:20200510121409p:plain

Reset 確認画面

次にMetanodeの名前を設定します。まとめたNodeに名前を付けてください。

この名前はMetanode上部に表示されるものなので、比較的短めにつけましょう。

f:id:makkynm:20200510121507p:plain

Node名設定

はい、以上でMetanode完成です!ダブルクリックすると、展開されて元々のNodeが見れますよ!

f:id:makkynm:20200510122537p:plain

Metanode

Metanodeを実行すると、Metanodeに含まれているNodeが実行されることになります。

f:id:makkynm:20200510122906p:plain

Metanode実行

 

おすすめ使用頻度

Metanodeを作るということはすなわち階層を作ることになります。

どうしても複雑なWorkflowになればなるほど、Nodeが増えていってしまうため、ある程度のところでMetanodeにしていくことをお勧めします。そうすることで、最初にWorkflowを開いたときに全体で大枠何を行っているかが一目瞭然です。

ただし、Metanodeの中にMetanodeを作りすぎるのもダメです!階層が深くなると、どれがどれだかわからなくなってしまいます。2階層くらいにしておきましょう。

この考え方はコーディングでサブルーチンを作る概念に似てますかね。

 

5.Nodeを自動的に並び替える

結果

たまに好き勝手に並べる開発者がいます笑 

私はこれをスパゲッティ状態と呼んでいます。まず大前提として、Workflowは左から右へ流れるものと認識してください。線が右から左に流れるような置き方はやめましょう。

見やすさが全然違うと思います。逆行禁止!です。

f:id:makkynm:20200510110143p:plain

Nodeを自動的に並び替える

設定方法

さて、スパゲッティ状態を自動的に解消してある程度綺麗に並び替えてくれる方法があるので紹介します。

まずは並び替えたいNodeを複数選択してください。

f:id:makkynm:20200510131153p:plain

並び替えたいNodeを選択

複数選択した状態で、白い点と線が三角形に並んでいるアイコンをクリックしましょう。

(縦や横に並んでいるアイコンは個人的にあまり使わないです)

f:id:makkynm:20200510131223p:plain

自動並び替えアイコン

はい、これだけでいい感じ並べ替えてくれます。

f:id:makkynm:20200510131527p:plain

自動的に並び替える

おすすめの並び替え方法 

並び替え時の注意点は、。NodeとNodeをつなぐ接続線に着目した下記の3点です。

  1. 接続線が、左から右に流れるようにNodeを配置
  2. 接続線ができるだけ交差しないようにNodeを配置
  3. 接続線がクネクネして何度も曲がらないようにする

できるだけ読みやすいように配置していきましょう。

私もこの配置についてはあまり得意ではないのですが、、

 

ちょっと一言

Metanodeその他のメニュー

Metanodeについて、上で解説しきれなかった部分を触れていきます。Metanodeを右クリックすると、Metanodeにはその他のメニューがあることが分かります。ここからもう少しMetanode自体を編集できます。それぞれの意味は下記の通りです。

  • Open:展開(ダブルクリックと同じ)
  • Expand:解除(元の複数Nodeの状態に戻す)
  • Reconfigure:名前 / Input・Outputポートの変更
  • Convert to Component:Componentに変換(上級編)
  • Share:MetanodeをExport(上級編)

上級編のオプションは気にしなくていいです。主に使用するのはExpandとReconfigureでしょうか。

f:id:makkynm:20200510124007p:plain

Metanodeその他のメニュー

Metanode - Reconfigure

特にReconfigureについてもう少し触れます。

開発を続けていくと、

  • 変数のOutput ポートも増やしたい!
  • 最初に決めたMetanodeの名前を変更したい!
  • ポートの位置を変えたい!

といったことが出てきたりします。そんな時に使うのがReconfigureです。

f:id:makkynm:20200510125009p:plain

Metanode Reconfigure
変数のOutput ポートを増やす

例として、変数のOutputポートを増やしてみましょう。

Out Portの方で"Add..."を押します。するとPort Typeを選べます。変数のPort を選んでOKを押していきましょう。

f:id:makkynm:20200510125211p:plain

Metanode - 変数のOutputポートを増やす

 Finishを押せば、Outputポートが増えていることが分かるかと思います。

f:id:makkynm:20200510125723p:plain

Metanode - 変数のOutputポートを増やす

ちなみにポートの順番を変えたいときは、上の図でUPやDownを選択していけば自動的に変わります。

 

空のMetanodeの作り方

 上では、元々Nodeがある場合を想定してMetanodeを作りましたが、空のMetanodeを先に作ることも可能です。

四角の中にプラスがあるアイコンを押してください。

f:id:makkynm:20200510130056p:plain

空のMetanodeを作る

すると、Metanodeを作る画面になります。 好きなOutputポートのあるテンプレートを選択してFinishを押しましょう。もし、カスタムで作りたい場合はCustomを押してください。上のReconfigureの画面と同じ画面が現れます。

f:id:makkynm:20200510130201p:plain

空のMetanodeを作る

 

Node接続線の通過点指定

Nodeが接続している線ですが、杭のように通過点の位置を指定することができます。 

線をクリックすると黒い点が出てくると思います。これを動かしてあげることで、通過点を指定できます。

f:id:makkynm:20200510132126p:plain

通過点の指定

 動かすとこんなこともできます。

f:id:makkynm:20200510132251p:plain

通過点の指定

 

 

おわりに

サブテーマのわりにだいぶ長く書いてしまいました。見やすいWorkflowを開発 して、どんなに小さな自動化ツールでも、ブラックボックスツールにしないように心がけましょう。

 

ブログ書くの、慣れないせいか時間かかります、、

コロナがなかったら全然書けないで終わってましたね~

コメント等いただけると大変励みになります。ではまた!

 

 

 

余談

ブラックボックスとメモということで今回紹介するのは、殺し屋と少女の物語「レオン」です。これ不朽の名作ってやつだなと思います。殺し屋のレオンが本当にいいやつで、、

殺し屋のブラックボックス感と、最後に出てくる「メモ」の部分でまさにこれがピッタリだと思います。文字が読めなかったレオンに渡したメモから、助け出すシーンが後半に出てくるのですがそれがまた感動です。内容忘れてしまった方もぜひ。

レオン 完全版 (字幕版)

レオン 完全版 (字幕版)

  • 発売日: 2013/11/26
  • メディア: Prime Video
 
レオン完全版(吹替版)

レオン完全版(吹替版)

  • 発売日: 2015/12/01
  • メディア: Prime Video
 

 

 

www.youtube.com

 

参考リンク