非プログラマーのためのインフォマティクス入門。(仮)

非プログラマーがインフォマティクスについて勉強したことを記録します。主にKNIMEというソフトを使用しています。

非プログラマーのためのインフォマティクス入門。(仮)

【KNIME】小ネタ:** to variableノードを使わない変数の作り方

ここ何回かの記事で、変数を使った内容を書きました。

 

 個人的には、変数に関しては「これが基本かな?」という方法を書きましたが、他にも何かしらの値を変数に指定する方法があるので、2つ紹介します。

 

Workflow内のどこでも使えるglobalな変数

この場合は、変数は固定値になりますが。

まずはKNIME explorerの中から、指定のflowを選び右クリックメニューを出します。今回の例ではtest10という名前のflowです。メニューの中にWorkflow Variables...というのがあるので、選択します。

f:id:sumtat:20170816104622p:plain

次のような新たなウインドウが開くので、addを選びます。今回の例ではfix_valueという名前の変数を設定することにします。タイプは整数値、値は2として設定します。

入力が終わったらOKします。

 

f:id:sumtat:20170816104948p:plain

 これでおしまいです。このworkflow上では、どこでもfix_value(値は2)という変数が使えるようになっています。確認してみます。

f:id:sumtat:20170816105625p:plain

 以前にちょっと紹介したTable Creator使って、1から9が入っているテーブルを作りました。Tableというタブではなくて、Flow Variablesというタブを探して内容を確認すると確かにfix_valueという変数名で2という値を持っていることが分かります。

 

 

次のMath Formula(算術演算をするノード)の設定画面でも、変数fix_valueが使えます。とりあえず掛けてみます。

f:id:sumtat:20170816110613p:plain

実行結果は次の通りです(確認するまでもないですが、一応)。

f:id:sumtat:20170816110720p:plain

 

ノードの設定のために記述した内容を変数とする方法

見出しではちょっと分かりにくいですかね?次のキャプチャをご覧ください。

f:id:sumtat:20170816111015p:plain

 例ではExcel Readerを使って、私のdesktop上にあるtable1.xlsxというファイルを指定していますが、この際に記述した

/users/sumtat/Desktop/tabel1.xlsx

という文字列変数にしたい場合にどうするか?というお話です(あんまり需要はない気もしますが…)。

 

 こういった、table内の情報ではないものはTable row to variableなどのノードでは変数にすることができません。解決策としては、当該ノードの設定画面(今回の場合excel reader)のFlow Variablesタブを開きます。

f:id:sumtat:20170816112111p:plain

 既に変数となっている値をファイル名として指定する場合は、対応する部分のプルダウンを選択し、適切な変数を指定すればよかったわけですが、今回のような場合には、変数にしたい項目の右側の欄に、任意の変数名を記入することで対応します。例としてhogeという変数名を指定しました。

(なんかhogeとかすると、急にそれっぽい雰囲気がでる気がして、使ってみたかった)

では、実行した結果をみてみます。

f:id:sumtat:20170816112737p:plain

ちゃんとhogeという変数名で、所望の内容を値として持っていることが確認できます。

 

私はあまり、今回紹介した方法を使う場面に出会っていませんが、知っておくとご利益があるかもしれません。

 

今回の話はイマイチ使えねーと言われそうなので、もう一つおまけをつけます。

 

Node Moniter

View > otherと選んでみてください。

するとshow viewというウインドウが開くので、Node Moniterを選択してみてください。

f:id:sumtat:20170816130711p:plain

そうすると下のように、node monitorというエリアが出てきます。レイアウトがちょっと違う場合もあるかもしれませんが、ドラッグ&ドロップで好きな場所に移せます。

f:id:sumtat:20170816130908p:plain

この画面を出しておいて、作業エリアのノードを選択すると、選んだノードに関する情報を確認することができます。

▽をクリックすることで表示内容を切り替えるメニューが出てきます。

f:id:sumtat:20170816131059p:plain

Excel readerは実行済みで、吐き出すtableの内容はこんな感じです。」というのを確認できます。表示メニューをshow variablesにしてみます↓

f:id:sumtat:20170816131238p:plain

さっき設定した変数hogeとその内容が確認できます。

node monitorを出しておくと、いちいちoutput tableを開かなくても内容がある程度確認できるので、まあ便利と言えば便利です。

 

 ここ数日、私の住んでいるところは8月にしては涼しいです。というか、夜とかちょっと寒いです。皆様、体調に気をつけてお過ごし下さい。私はやや具合が悪いです…。