Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision |
transformations:iteratetable [2020/02/06 04:48] – dmitry | transformations:iteratetable [2021/07/17 15:55] – [More examples] craigt |
---|
===== Iterate table ===== | {{ transformations:IterateTableAction.png}} |
| ====== ITERATE TABLE ====== |
| Category: Workflow / Internal \\ |
| |
This action is similar to [[transformations:iterate|Iterate]] action, but allows passing a table to an iterated project. The "Iterate table" action has two inputs: | \\ |
| =====Description===== |
| This action is similar to [[transformations:iterate|Iterate]] action but allows passing a table to an iterated project. //Iterate table// has two inputs: |
| |
1. The output of the previous action | - The output of the previous action |
2. The external table it references | - The external table passed into the called module/project (referenced in the Action settings) |
| |
The action works as follows: it takes a dataset from another table (2), passes it to the called module or project, and runs it as many times as there are rows in its input dataset (1). | This action works as follows: It takes a dataset from another table (input #2, above), passes it to the called module or project, and runs it as many times as there are rows in the input dataset (input #1, above). |
| |
The iterated project should use [[transformations:input|Input]] transformation in order to receive the table. | The iterated module/project should use the [[transformations:input|Input]] action to receive the external table.\\ |
| |
This action allows significantly increasing performance in cases when iterated project had to operate with the same dataset in each iteration. | \\ |
| =====Use cases===== |
| This action is helpful when multiple calculations with different parameters have to be performed on the same dataset (e.g. financial stress testing).\\ |
| |
=== See also === | \\ |
* [[transformations:iterate|Iterate]] | =====Action settings===== |
| ^Setting^Description^ |
| |Other table|Select the table from the current project that will be passed into the called module (or project).| |
| |Module/Project to run<sup>*</sup>|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, append results// (and select the Result table from\\ the called module or project).| |
| |Assign parameters|Select the parameter(s) in the called module (or project) to pass values in through, and enter the associated\\ value(s)<sup>*</sup> (can be a column, text/number, or parameter).| |
| <sup>*</sup> Setting can be specified using a [[:parameters|parameter]].\\ |
| |
| \\ |
| =====Remarks===== |
| This action provides significantly increased performance in cases when the iterated project needs to operate with the same dataset in each iteration.\\ |
| |
| |
| \\ |
| =====Examples===== |
| **Mode: Iterate** — do not return anything from the iterated module, i.e. just run it one or several times. (top image, below)\\ |
| {{ https://easymorph.com/images/learn/iterate-mode3.png }} |
| **Mode: 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 table" action. (bottom image, above)\\ |
| |
| \\ |
| ====Community examples==== |
| * [[https://community.easymorph.com/t//1625/4|Create a new table with columns based on row values]] ([[https://community.easymorph.com/uploads/short-url/4oGLUNDHrUfB971H80ciuOAtOTG.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Table 1//; Action position: //4//) |
| * [[https://community.easymorph.com/t//1749/2|Match action - matching multiple values]] ([[https://community.easymorph.com/uploads/short-url/klCJavldZpx8EQbvoCRW6a6cYlr.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //All matches//; Action position: //2//) |
| * [[https://community.easymorph.com/t//2008/2|“Printed” Text File: Could EasyMorph import this?]] ([[https://community.easymorph.com/uploads/short-url/kIb1qqOJb9WK6D1N1jFZdnHzC46.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //TIMESHEET.txt (2)//; Action position: //4//) |
| * [[https://community.easymorph.com/t//1625/4|Create a new table with columns based on row values]] ([[https://community.easymorph.com/uploads/short-url/4oGLUNDHrUfB971H80ciuOAtOTG.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Table 1//; Action position: //4//) |
| |
| \\ |
| =====See also===== |
* [[transformations:input|Input]] | * [[transformations:input|Input]] |
| * [[transformations:iterate|Iterate]] |
| * [[transformations:iteratecolumns|Iterate column]] |
| * Read [[http://easymorph.com/learn/iterations.html|Iterations and loops in EasyMorph]] for more details regarding this action. |
| |
| |