User Tools

Site Tools


transformations:enumerate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
transformations:enumerate [2021/03/21 14:26] craigttransformations:enumerate [2022/11/12 22:56] (current) – udpate with new Repeat after setting (v5.3.1) craigt
Line 1: Line 1:
 {{ transformations:EnumerateRowsAction.png}} {{ transformations:EnumerateRowsAction.png}}
 ====== ENUMERATE ROWS ====== ====== ENUMERATE ROWS ======
-Category: Transform / Basic+Category: Transform / Basic\\
  
 +\\ 
 =====Description===== =====Description=====
-This action adds a new column with row numbers. Rows can be enumerated for either the entire table, or inside groups defined by combinations of values in particular columns. In the latter case, row numbers restart from 1 inside each group.\\+This action adds a new column with row numbers.\\ 
 + 
 +Rows can be enumerated
 +  *for the entire table 
 +  *inside groups defined by combinations of values in particular columns (row numbers restart from 1 inside each group
 +  *to a specified value (once this value is reached, enumeration restarts at 1) 
 +\\ 
 +=====Use cases===== 
 +  *Create unique row IDs for datasets that do not already possess a unique key field. 
 +  *To define an original record order with which to re-sort records downstream. 
 +  *Prepare datasets for pivoting by setting a defined number of rows and row groupings (repetitions).
  
 \\  \\ 
Line 10: Line 21:
 ^Setting^Description^ ^Setting^Description^
 |Enumerate in groups|Select this option to restart row numbering at each unique value in the selected column(s). | |Enumerate in groups|Select this option to restart row numbering at each unique value in the selected column(s). |
 +|Repeat after<sup>*</sup>|Enter or set a maximum value after which the count resets to 1.  Check the //Add column with repetition count// to\\ add a column (named "Repetition") that displays the count of the repetition.|
 |Column list|This list appears when the //Enumerate in groups// is selected.  Select which columns are taken into account to\\ form unique values when numbering columns.  Column numbering will restart at 1 for each unique value or value\\ combination across all selected columns.| |Column list|This list appears when the //Enumerate in groups// is selected.  Select which columns are taken into account to\\ form unique values when numbering columns.  Column numbering will restart at 1 for each unique value or value\\ combination across all selected columns.|
 +<sup>*</sup> Setting can be specified using a [[:parameters|parameter]].\\
  
 \\  \\ 
 =====Examples===== =====Examples=====
  
-**Source table** +**Source table:** 
- Province  City  ^  Amount  Total Tax  ^ +^Province  ^City  ^Amount  ^Total Tax  ^ 
- ON  |  Toronto  |  1000|  125| +|ON  |Toronto  |  1000|  125| 
- ON  |  Ottawa  |  1000|  125| +|ON  |Ottawa  |  1000|  125| 
- ON  |  Brampton  |  2000|  250| +|ON  |Brampton  |  2000|  250| 
- QC  |  Montreal  |  2000|  270| +|QC  |Montreal  |  2000|  270| 
- QC  |  Quebec City  |  2000|  270| +|QC  |Quebec City  |  2000|  270|
  
 +\\ 
 After transformation (enumeration for entire table). After transformation (enumeration for entire table).
- RowNo  ^  Province  City  ^  Amount  Total Tax  ^ +^RowNo  ^Province  ^City  ^Amount  ^Total Tax  ^ 
-|  1|  ON  |  Toronto  | 1000|  125| +|  1|ON  |Toronto  | 1000|  125| 
-|  2|  ON  |  Ottawa  | 1000|  125| +|  2|ON  |Ottawa  | 1000|  125| 
-|  3|  ON  |  Brampton  |  2000|  250| +|  3|ON  |Brampton  |  2000|  250| 
-|  4|  QC  |  Montreal  |  2000|  270| +|  4|QC  |Montreal  |  2000|  270| 
-|  5|  QC  |  Quebec City  |  2000|  270| +|  5|QC  |Quebec City  |  2000|  270| 
 +\\ 
 After transformation (enumeration for each Province). After transformation (enumeration for each Province).
- RowNo  ^  Province  City  ^  Amount  Total Tax  ^ +^RowNo  ^Province  ^City  ^Amount  ^Total Tax  ^ 
-|  1|  ON  |  Toronto  | 1000|  125| +|  1|ON  |Toronto  | 1000|  125| 
-|  2|  ON  |  Ottawa  | 1000|  125| +|  2|ON  |Ottawa  | 1000|  125| 
-|  3|  ON  |  Brampton  |  2000|  250| +|  3|ON  |Brampton  |  2000|  250| 
-|  1|  QC  |  Montreal  |  2000|  270| +|  1|QC  |Montreal  |  2000|  270| 
-|  2|  QC  |  Quebec City  |  2000|  270| +|  2|QC  |Quebec City  |  2000|  270| 
 +\\ 
 After transformation (enumeration for each Province-Amount pairing). After transformation (enumeration for each Province-Amount pairing).
- RowNo  ^  Province  City  ^  Amount  Total Tax  ^ +^RowNo  ^Province  ^City  ^Amount  ^Total Tax  ^ 
-|  1|  ON  |  Toronto  | 1000|  125| +|  1|ON  |Toronto  | 1000|  125| 
-|  2|  ON  |  Ottawa  | 1000|  125| +|  2|ON  |Ottawa  | 1000|  125| 
-|  1|  ON  |  Brampton  |  2000|  250| +|  1|ON  |Brampton  |  2000|  250| 
-|  1|  QC  |  Montreal  |  2000|  270| +|  1|QC  |Montreal  |  2000|  270| 
-|  2|  QC  |  Quebec City  |  2000|  270|+|  2|QC  |Quebec City  |  2000|  270| 
 +\\  
 +After transformation (Repeat after "2"). 
 +^RowNo  ^Province  ^City  ^Amount  ^Total Tax  ^ 
 +|  1|ON  |Toronto  | 1000|  125| 
 +|  2|ON  |Ottawa  | 1000|  125| 
 +|  1|ON  |Brampton  |  2000|  250| 
 +|  2|QC  |Montreal  |  2000|  270| 
 +|  1|QC  |Quebec City  |  2000|  270| 
 +\\  
 +After transformation (Repeat after "2", Add column with repetition count). 
 +^RowNo  ^Repetition ^Province  ^City  ^Amount  ^Total Tax  ^ 
 +|  1|  1|ON  |Toronto  |  1000|  125| 
 +|  2|  1|ON  |Ottawa  | 1000|  125| 
 +|  1|  2|ON  |Brampton  |  2000|  250| 
 +|  2|  2|QC  |Montreal  |  2000|  270| 
 +|  1|  3|QC  |Quebec City  |  2000|  270| 
 + 
 +\\  
 +====Community examples==== 
 +  * [[https://community.easymorph.com/t//1332/3|String manipulation (REVERSE)]] ([[https://community.easymorph.com/uploads/short-url/67c52KIJt323kknw2Q4vOvlAJ05.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Using actions//; Action position: //4//) 
 +  * [[https://community.easymorph.com/t//1351/1|How to order columns by a list of columns]] ([[https://community.easymorph.com/uploads/short-url/bKeuXUgwKo1alDrA03LY5z3tPJv.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Reordered columns//; Action position: //2//) 
 +  * [[https://community.easymorph.com/t//1649/14|Update existing data in a database table]] ([[https://community.easymorph.com/uploads/short-url/hauw3ZALjf9UqXAOP8prtLUNbxH.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Sample data//; Action position: //4//) 
 +  * [[https://community.easymorph.com/t//1849/4|Iterate through a set of column]] ([[https://community.easymorph.com/uploads/short-url/5icrGfTGgzbmG2l5AuSiqb43QvR.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //in.csv//; Action position: //2//) 
 +  * [[https://community.easymorph.com/t//2454/4|.txt to .csv - Multiple Line & Character Length HELP!]] ([[https://community.easymorph.com/uploads/short-url/m3PqCDwhBrNEG2xW23QqEvl8RbX.morph|Project]]; Module: //Main//; Group: //Group 1//; Table: //SAMPLE.txt//; Action position: //4//)
  
 \\  \\ 
 =====See also===== =====See also=====
   *[[transformations:enumerategroups|Enumerate groups]]   *[[transformations:enumerategroups|Enumerate groups]]
 +  *[[transformations:sequence|Sequence]]
transformations/enumerate.txt · Last modified: 2022/11/12 22:56 by craigt

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki