Row splitter/Rule-based row splitter

Hi,

I'm new with Knime and I don't have so much programming skills. I have to divide the rows of my "Table 1" in 2 different sets according to the variable coming from the "Table Row To Variable Loop Start" node. I used the Row Splitter node and I chose my column to test. I have to test a column that contains, in every row, a list of infos (for example, row1 = target1, target2, target3; row2 = target1; row 3= target2; ...). When I tested my column (string format) for "target1" (the variable from "Table Row To Variable Loop Start" node), I expected "row1" and "row2" but the row splitter node returned only the "row2", as it looks only for a perfect match with the cell. To overcome this, I tried to use the "Rule-based row splitter" using the expression IN ("Checks whether the value of the left expression is contained in the list of right expressions. For example: $Col0$ IN ("Hello", "World")" from the Knime description). I put my column to test in "Setdatavalue" or "Collectiondatavalue" formats and I tested with this expression $${Snameofvariable}$$ IN $column$ => TRUE but even in these cases the node returned only the "row2". I also tried to put my list column in a string format using the expression $${Snameofvariable}$$ IN ($column$) => TRUE, but, again, the node returned "row2".

Could you please help me to fix this? I think I make a syntax error, but I don't understand where. For the sake of clarity, I tried to test my column directly with the variable from the loop (example: "target1" IN $column$ => TRUE), but it returned again "row2", so the error it's not in the loop node.

Thanks in advance

Gianluca

Hi Gianluca,

Is the "column that contains, in every row, a list of infos" means it is a collection cell? (The rule-nodes' IN operator works with those.) In case that is a String node, you should use the Cell Splitter node before to create a collection cell. Otherwise your solution should just work without problems.

Cheers, gabor

 

Hi aborg,

thank you for your reply. Of course, I have a collection cell created by the Cell Splitter node but the Rule Based Row Splitter does not work properly. Any other possible idea about this?

Thank you again

Gianluca

Could you share an example workflow? Mine seems to work as expected.

Thanks, gabor
 

Hi aborg,

thank you for your reply, I just saw it. I actually fixed the problem using the simply Row Splitter node with the option "filter based on collection element". Now it seems to work properly.

Thank you again, Gianluca