Math Formula (Multi Column)

The Math Formula (Multi Column) node is an extension of the Math Formula node which evaluates a mathematical expression based on the values in a row for a set of selected columns. It allows the user to do with a single node what would otherwise require multiple nodes. If you wanted to evaluate the same expression for more than one column with the Math Formula node, you would need to string several Math Formula nodes together. For these cases, the Math Formula (Multi Column) allows you to write a formula that refers to the current column in a set of selected columns.
E.g. to add 1 to the values of columns A, B, and C, you would select columns A, B, and C and enter the formula "$$CURRENT_COLUMN$$ + 1" into the Expression editor.
The computed results can be either appended as new columns or be used to replace the selected input columns.
Available variables to use in the expression are the values in the corresponding row of the table (left list in the dialog).
Commonly used functions are shown in the list "Mathematical Functions". There are also some constants available, such as pi (the ratio of the circumference of a circle to its diameter), e (the base of the natural logarithms), the total number of rows in the table, and some other column based constants (constant category of functions).

This node uses JEP, the Java Math Expression Parser.

Column based constants such as COL_MIN(col_name) will be calculated in advance (if necessary).

You can reference the integer flow variables like this: $${IflowVar}$$, the floating point flow variables like this: $${DflowVar}$$.

The set of selected columns can be referenced using the CURRENT_COLUMN placeholder which looks like this: $$CURRENT_COLUMN$$. In each iteration of the node (looping over the set of selected columns) this placeholder will be replaced with the column name from the current iteration. It doesn't work for columns which contain dollar signs in their name.

Reference the columns with the form: $colName$

When any of the used columns contains a missing value, the result is missing, just like when the result would be NaN, infinite value, or outside of the 32 bit signed integer range when that is requested.

NaN values act as value true in boolean expressions and compared to anything (including NaN) in any way (including ==, but not !=, which is like !(... == ...)) is false (0).

Please note the expressions are case sensitive.

Options

Selected Columns

Column Filter
Selection of available numerical columns the node should loop over. In each iteration one column name from the selection will be used as replacement for the '$$CURRENT_COLUMN$$' placeholder in the expression.

Math Expression

Column List
Available numerical columns, which can be used as variables in the expression.
Flow Variable List
Available flow variables, which can be used as variables in the expression.
Category
The operator categories.
Function
A list of valid operators in the selected category.
Description
Short help about the operator.
Expression
The mathematical expression editor. You have completion available.
Append Selected Columns with Suffix
If selected new columns will be appended using the original column name with the specified suffix.
Replace Selected Columns
Whether the selected columns should be replaced.
Convert Selected Columns to Int
Whether the result for each selected column should be converted to an integer, or kept as a floating point number.

Input Ports

Icon
Any input data

Output Ports

Icon
Input data amended with math column.

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.