いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】表全体でString Manipulationしたい。

・たくさん列のある表全体に対して同じString Manipulationの処理を実行したい時がある。

・String Manipulationは、1つの列に対してしか機能しないので、Loopを使って列を一つ一つ処理していく必要がある。

・例えば、表中の「田中」を「鈴木」に変換するWork Flowを作ってみた(下図)。

f:id:choron81:20210908224914p:plain

・逐次処理を実施するため、LoopはRecursive Loopを選択した。

・一番上に二つ並んだノードは、表から列数を抽出し、Recursive Loop EndのMaximal number of iterationを決めるために設置した。

・String Manipulationで編集対象の列名は、もともとの列名のリストをiteration数に応じて削り、1行目を変数として使用した。

・String Manipulationの列名に直接的に変数を使う方法が分からなかったので、編集したい列の名前を一時的にTempColumnNameに変更した。列名TempColumnNameをString Manipulationの編集対象の列として編集した後、TempColumnNameをもとの列名に戻した。

・Recursive Loop EndのData settingのCollect~~onlyにはチェックを入れた。

 

・Rule Based Row FilterとColumn Rename (Regex)は初めて使ったが、とても便利。

 

終わり。