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.
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.
To use this node in KNIME, install the extension KNIME Math Expression (JEP) from the below update site following our NodePit Product and Node Installation Guide:
A zipped version of the software site can be downloaded here.
Deploy, schedule, execute, and monitor your KNIME workflows locally, in the cloud or on-premises – with our brand new NodePit Runner.
Try NodePit Runner!Do you have feedback, questions, comments about NodePit, want to support this platform, or want your own nodes or workflows listed here as well? Do you think, the search results could be improved or something is missing? Then please get in touch! Alternatively, you can send us an email to mail@nodepit.com, follow @NodePit on Twitter or botsin.space/@nodepit on Mastodon.
Please note that this is only about NodePit. We do not provide general support for KNIME — please use the KNIME forums instead.