使用Node:One Row to Many / ROWID / Java Snippet
あるカラムに記載された数値の数だけレコードを複製し、かつRowIDの反復数を活用し、Countを反復するカラム「Iteration」を作成
グループごとの連番を作成する際にはRowIDを活用できそう
WFの例
▼配置例▼
-----解説-----
1.Node【Table Creator】からレコードを読み込み
2.Node【One Row to Many】でカラム「Col_Count」の数値に基づきレコードを複製
3.Node【RowID】を新規カラムにコピー
4.コピーしたカラムを使用して文字列をSplit
【One Row to Many】で任意の数だけレコードをコピー
▼Node設定例▼
今回はカラム「Col_Count」を複製数の参照先として指定した
▼実行前▼
▼結果▼
【RowID】を新規カラムにコピー
▼Node設定例▼
コピーした【RowID】の文字列から反復数を取り出す
反復数の取り出しについての解説は、記事「KNIME_文字列操作その1【Java Snippet】左から指定の文字までを抽出」を参照
本記事の例では、カラム「Iteration」の値はString型なので必要に応じて変換
tama-shi.hatenadiary.com
グループごとに通し番号を反復する方法は以下の記事でも紹介
tama-shi.hatenadiary.com
▼KNIME Hub▼
kni.me