Request on more flexibility on LoopNode


When I was doing experiments with Loop on customized PortObject, I found it quite not convenient and constrained to always set/create a DataTable as input for XXLoop–Start and an DataTable as output.
For example, for the experiments test, we don’t need any data table as input, just recursively changing [several] parameters. Also, the output result is not always in DataTable format, if we want to aggregate the result from customized PortObject, we can’t do it with current LoopEnd.
So here comes my request,
Could XLoop(Start/End) be executed more flexibly, like without input request on DataTable and have output in any output PortObject type??


Hi @KFDing -

Could you maybe provide an example of what you’d like to do to clarify? Maybe a toy workflow with some dummy data included, and a description of what you would like your results to ultimately look like?

It’s true that many of the Loop Start nodes will require an input table where your use case does not - where the interesting bits are happening inside the loop body entirely. But there is often times still a way we can aggregate results using the appropriate Loop End node.

1 Like

Hi, @ScottF,

thanks at first for your reply. A demo for my request is like in the graph,

From this demo, the following constraints on Loop can be seen:
<1> simple parameter changes in loop must have a data table as input. So wonder if it possible, that we directly set a loop variable without data table.
<2> output not in DataTable format can’t be saved at LoopEnd. Like in demo, my output is in PortObject, so I can’t directly connect it to the LoopEnd.
But, if I use a PetrinetWriter to explicitly save my model, because it’s s sink node, no output from it, Then also, no data available to connect LoopEnd.

Hope this will help clarify my request above.


Hi @KFDing

<1> There are nodes which do not need an input table, in this case I would recommend the

<2> if you want to select different models in a table, you can save your models in a cell using the

This works on every KNIME porttype.
I would recommend than adding some more variables from inside the loop with a Variable to Table Column node and finish the node with the Loop End, which will generate many rows instead of columns.

Cheers, Iris


This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.