Category: Workflow / Internal
This action calls another project once for each row in a table. Parameters of the called project are assigned using the calling table's fields.
Iterate is used to create "FOR…EACH" and "FOR…NEXT" types of loops within EasyMorph.
|Module/Project to run*||Select whether to call a module (within the current project), or an external project (.morph file), then select the
module, or browse to the project file.
|Iteration mode||Choose whether to just iterate the called module (or project) and not return any results, or iterate and return
a dataset. Options: Iterate or Iterate and append results (and select the Result table from the called module or project).
|Assign parameters||Select the parameters in the called module (or project) to pass values in with, and the associated columns* in the
calling dataset that contains the values being passed.
|When an iteration fails||Select how EasyMorph will handle situations when iterations fail. Options: Halt project or Collect errors and continue
(a new column, "Iteration errors", will be created in the dataset to capture any errors that occurred
during the iterations).
* Setting can be specified using a parameter.
Appending the result datasets is similar to the Append another table action. Columns with the same name are concatenated into one column while columns with unique names are extended with empty cells.
To create a "FOR…NEXT" type of loop, generate a sequence of numbers from 1 to N using the Sequence action, then iterate across the sequence using Iterate.
Iterate — do not return anything from the iterated module, i.e. just run it one or several times.
Iterate and append results — run the module one or several times, return a table (the result dataset) from each iteration, and append all result datasets into one, which becomes the output of the "Iterate" action.