Row Filter

The node filters an input table according to the given filter 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 filter criterion applied to each row.

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.
  • Operator: The operator defining the filter criterion.
    • Equals: Value in column must be equal to specified value
    • Does not equal: Value in column must be not equal to specified value
    • Less than: Value in column must be strictly smaller than specified value
    • Less than or equal: Value in column must be smaller than or equal to specified value
    • Greater than: Value in column must be strictly larger than specified value
    • Greater than or equal: Value in column must be larger than or equal than specified value
    • First n rows: Matches the specified number of rows at the start of the input
    • Last n rows: Matches the specified number of rows at the end of the input
    • Matches regex: Value in column must match the specified regular expression
    • Matches wildcard: Value in column must match the specified pattern, which may contain wildcards * and ?
    • Is true: Boolean value in column must be true
    • Is false: Boolean value in column must be false
    • Is missing: Value in column must be missing
    • Is not missing: Value in column must not be missing
  • 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.
Filter behavior
Determines whether only matching or non-matching rows are output.

Input Ports

Icon
Data table from which to filter rows

Output Ports

Icon
Data table with rows 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.