Table Manipulator

Allows to perform several column transformations on any number of input tables such as renaming, filtering, re-ordering and type changing of the input columns.

If more than one input table is available the node concatenates all input rows into a single result table. If the input tables contain the same RowID the node can either generate a new RowID or prepend the input table index to the original RowID of the corresponding input table.

Options

Use existing RowID
Check this box if the RowIDs from the input tables should be used for the output tables. If unchecked, a new RowID is generated. The generated RowID follows the schema "Row0", "Row1" and so on.
Prepend table index to RowID
Only enabled if the existing RowIDs are used. If checked, a prefix is prepended to the RowIDs that indicates which table the row came from. The format of the prefix is "Table_0_", "Table_1_" and so on.
Transformations
This option displays every column as a row in a table that allows modifying the structure of the output table. It supports reordering, filtering and renaming columns. It is also possible to change the type of the columns. Reordering is done via drag-and-drop. Just drag a column to the position it should have in the output table. Whether and where to add unknown columns during execution is specified via the special row <any unknown new column>.
Reset order
Resets the order of columns to the order in the input input tables.
Reset filter
Clicking this button will reset the filters i.e. all columns will be included.
Reset names
Resets the names to the names that are read from file or created if the file/folder doesn't contain column names.
Reset types
Resets the output types to the default types guessed from the input table specification.
Reset all
Resets all transformations.
Enforce types
Controls how columns whose type changes are dealt with. If selected, we attempt to map to the KNIME type you configured and fail if that's not possible. If unselected, the KNIME type corresponding to the new type is used.
Take columns from
Only enabled in several input tables are available. Specifies which set of columns are considered for the output table.
  • Union: Any column that is part of any input table is considered. If an input table is missing a column, it's filled up with missing values.
  • Intersection: Only columns that appear in all input tables are considered for the output table.
NOTE:

This setting has special implications if you are changing the input table without reconfiguring the node. If Intersection is selected any column that moves into the intersection during execution will be considered to be new, even if it was previously part of the union of columns.

It is also important to note that the transformation matching during execution is based on name. That means if there was a column [A, Integer] during configuration in the dialog and this column becomes [A, String] during execution, then the stored transformation is applied to it. For filtering, ordering and renaming, this is straight forward. For type mapping the following is done: If there is an alternative converter to the specified KNIME type, then this converter is used, otherwise we default to the default KNIME type for the new type. In our example we might have specified that [A, Integer] should be mapped to Long. For the changed column [A, String] there is no converter to Long, so we default back to String and A becomes a String column in the output table.

Input Ports

Icon
Table to manipulate
Icon
Table(s) contributing subsequent rows and columns.

Output Ports

Icon
A table with the transformed columns from all input tables (Table 0, Table 1, Table ...)

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.