Row Splitter

The node splits an input table into two output tables according to the given criteria. Each criterion can target the row number, RowID, or cell value of a row. Multiple criteria can be combined (similar to boolean logic via AND and OR) to specify the overall criterion applied to each row. Note: The domain of the input table is passed through as-is, i. e. the upper and lower bounds or the possible values in the table spec are not changed, even if one of the bounds or one value is fully filtered out from one of the output tables. If the input does not contain domain information, so will the output.

Options

Match row if matched by
Match the row if all or any criteria match:
  • All criteria: a row is matched if all of the criteria match (intersection of matches)
  • Any criterion: a row is matched if at least one of the criteria matches (union of matches)
Filter criteria
The list of criteria that should be filtered on.
  • Filter column: The column on which to apply the filter.
    The special column "RowID" represents the RowID of the input and is treated as a String column that is never missing. The special column "Row number" targets the 1-based row number of the input, is treated as a Long column and is never missing. Both special columns are always available, regardless of the input table spec or data.

    Columns containing data types that are non-native, i.e. contain cells of heterogeneous data types, or do not offer a conversion from and to a string representation are not supported and are filtered out from the available options.
    Collection columns are also not supported by the node.
  • Operator: Select the filter operator to apply.
  • Filter value: The value for the filter criterion.

    Note: Currently, comparison values for non-numeric and non-string data types, e.g. date&time-based types, must be entered as its string representation like in the Table Creator node.
    The format for date&time-based values is "ISO-8601 extended". For example, a "Local Date" must be entered in the format "2006-07-28". More information can be obtained from the ISO patterns in the "Predefined Formatters" table of the Java SE 17 documentation.
Column domains
Specify whether to take domains of all input columns as output domains as-is or compute them on the output rows.
Depending on the use case, one or the other setting may be preferable:
  • Retaining input columns can be useful, if the axis limits of a view should be derived from domain bounds, and that bounds should stay stable even when the displayed data is filtered.
  • Computing domains can be useful when a selection widget consumes the output and should only display actually present options to users.
If column domains are irrelevant for a particular use case, the "Retain" option should be used since it does not incur computation costs.
For more control over individual column domains, you can use the Domain Calculator, Edit Numeric Domain, or Edit Nominal Domain nodes.
  • Retain: Retain input domains on output columns, i.e. the upper and lower bounds or possible values in the table spec are not changed, even if one of the bounds or one value is fully filtered out from the output table. If the input does not contain domain information, so will the output.
  • Compute: Compute column domains on output columns, i.e. upper and lower bounds and possible values are computed only on the rows output by the node.
Splitting behavior
Determines whether matching rows are output at the first port and non-matching rows are output at the second port, or vice-versa.

Input Ports

Icon
Data table from which to filter rows

Output Ports

Icon
Data table with rows meeting the specified criterion
Icon
Data table with rows not meeting the specified criterion

Popular Predecessors

  • No recommendations found

Popular Successors

  • No recommendations found

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.