Row Splitter (Labs)

This node has exactly the same functionality as the Row Filter node, except for that it has an additional output that provides the rows that are filtered out. For performance and disk space reasons you may want to consider using the Row Filter node. The table at the upper port (with index 0) contains the rows included in the result according to the splitting criteria (the node settings). The lower port (with index 1) provides a table with all rows not matching the splitting criteria. The sum of the number of rows in the two output tables is the same than the number of rows in the input table.
This node allows to split rows based on a query defined in the node dialog. A query can contain conditions on multiple columns, which can be grouped and combined with either the logical AND or logical OR operation.
The row splitter also allows to apply conditions to the RowID as well as index based conditions. The corresponding columns are called <RowID> and <RowINDEX> and are always the top most options when opening the drop down for column selection. The <RowID> is treated as a string column, while the <RowINDEX> is considered to be numerical starting at index 0.


Buttons and views

Query View
A view of the created query displayed as a tree structure.
Add Condition
Allows to add a new condition to the query. You can select which column the condition should apply to, as well as the kind of operator to use in the condition. Depending on the operator, you will also have to specify the necessary operands to complete the condition. See below for a list of the different operators for the different types of columns.
Add Group
Creates a new group consisting of the currently selected condition. Please note that a group must contain at least two conditions to be valid. There are two ways in which a group combines its conditions.
  • AND: The group evaluates to true if all of its conditions evaluate to true.
  • OR: The group evaluates to true if any of its conditions evaluate to true.
Remove Group
Delete the selected group and put its conditions into the parent group.
Delete the selected element from the list so it won't show up anymore in the Conditions Panel.
Include/Exclude by query
This option allows you to select whether the specified query defines the rows that are included in or excluded from the top table.


General operators
These conditions are available for all primitive types.
  • == checks for equality of the values in the specified column and the value provided in the text field.
  • != checks for inequality of the values in the specified column and the value provided in the text field.
  • missing evaluates to true only for missing values.
  • not missing evaluates to true for values that aren't the missing value.
String operators
The pattern matching condition applies to string columns and it allows to match values based on a regular expression or wildcard expression. You can configure it by setting the respective checkmarks according to whether the pattern contains wildcards or is a regular expression. Wildcard patterns contain '*' (matching any sequence of characters) and '?' (matching any one character). Examples of regular expressions are given below. Also, a case sensitive match can be enabled by the according checkmark. Note: if you select a pattern from the drop-down menu of the pattern text field, the node still performs a comparison of the string representation of the data values.
Here are some examples of regular expressions:
"^foo.*" matches anything that starts with "foo". The '^'-character stands for the beginning of the word, the dot matches any (one) character, and the asterisk allows any number (including zero) of the previous character.
"[0-9]*" matches any string of digits (including the empty string). The [ ] define a set of characters (they could be added individually like [0123456789], or by range). This set matches any (one) character included in the set.
For a complete explanation of regular expressions see e.g. the JavaDoc of the java.util.regex.Pattern class.
Numerical operators
These conditions apply to numerical columns.
  • < evaluates to true for values below the specified value.
  • <= evaluates to true for values below or equal to the specified value.
  • > evaluates to true for values greater than the specified value.
  • >= evaluates to true for values greater or equal the specified value.
  • between allows you to specify a range in which the value has to lie. Note that the range is inclusive meaning that the start and endpoint are included in the range.

Input Ports

Data table from which to split rows

Output Ports

Data table with rows meeting the specified criteria
Data table with rows not meeting the specified criteria


This node has no views




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.