【JKI】019_Employee_Skills_02_よりみち!
【JKI_019】課題を再確認
従業員のアンケートのデータを集計して、プログラミングスキルのリストを作成しようという問題でしたね。
前の回ですでに解答を終えています。
つまり、今回は本編なしで全て寄り道です。
もうそっとこのページを閉じていただいても誰も困らないでしょう。
よりみち①:
【意外に曲者!? Loop Endノード】
今回の問題、もう一つ注釈が付いています。
と問題文に書かれているのですが、今回のサンプルデータにはそんなデータは入っていませんでした。
そこで私の提出したWFには、ダミーデータを入れたTest_data.xlsxも収載しておきました。
全てのスキルを「1」と申告した従業員ダミーデータを仮に作りました。
そして、Loop Endノードをあえて初期設定のまま繋いで実行すると、ループが2回目で止まります。
私の提出したWFでは上記を体験いただけるようにしてあります。WFの編集は必要ですが。
設定:
Excel Reader (#1): Test_data.xlsxを選択。
Loop End (#16): あえてデフォルト設定
<比較用>エラーが出ない設定
他にも2つ設定が変わっていますが、説明は割愛します。
正直普段はここは注意して見てません。今回もそうですが、一回走らせてループが止まってしまって、「あれっ」とエラーメッセージを見て気づきます。
first iterationでは私のWFの設計だと
Row Filter (#22)で全てフィルターされて空白テーブルになってしまうので、処理のアウトプットのColumn Resorter (#28)では
となってしまいます。私の設計が拙いため、2回目に生成する下図のデータテーブルと形が違ってしまいます。
【Loop Endノードのディスクリプション】
日本語化されたノードディスクリプションを見てみます。
そんな場合でも先述の設定にしておけばテーブルの仕様が異なろうとも集計してくれます。Loop Endノードは懐の深い仕様ですね。
他にもいくつか設定時に気を付けるべき点があるそうなので引用しておきます。ディスクリプションってちゃんと読まないといけないですね。
よりみち②:
【Loop Endノードの先方互換性】
話は変わって更に寄り道になるのですが、Loop Endノード、4.4系から4.5系にKNIME AP (Analytics Platform)がバージョンアップした際に互換性(先方互換)に問題が生じたようです。具体的にはKNIME AP ver.4.5.1で作ったWFをver.4.4.1で読み込むとこうなります。
でYesを押しても、その後
このNext>ボタンを押しても次へ進まないから仕方なく無理に開くと
これ、4.4系のLoop Endで代替したくても、4.5系で設定した内容が見えないんですよ。
まあ根本的な対策としてはKNIME APのバージョンを上げるんだろうな。
Just KNIME It!の解答者って当然最新版の4.5系を使う方がほとんどでして、未だに4.4系を愛用していた私にはつらい。一方で、もう4.6系の話も出ましたね。
Python-based RDKit nodesは早速注目を集めているようです。
いよいよバージョンを上げるか~と考えているところです。
以上
よりみち2回目!
でした。
記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。