Each rule is represented by a row.
To add comments, start a line in a (condition) cell with
//
(comments can not be placed in the same line as a rule). Anything after //
will not be interpreted as a rule.
Rules consist of a condition part (antecedent), which must
evaluate to
true
or
false
, and an outcome (consequent, after the => symbol) which is put into
the new flow variable if the rule matches.
The outcome of a rule can either be a constant string, a constant number or boolean constant, or a reference to a flow variable value. The type of the outcome column is the common super type of all possible outcomes (including the rules that can never match). If no rule matches, the outcome is "", 0, or 0.0 depending on the output type.
Numbers are given in the usual decimal representation. Note that
strings must not contain (double-)quotes (for those cases use the following syntax: /Oscar Wilde's wisdom: "Experience is simply the name we give our mistakes."/
). The flow variables are
represented by
$${
TypeCharacterAndFlowVarName
}$$
.
The TypeCharacter should be 'D' for double (real) values, 'I' for
integer values and 'S' for strings.
The logical expressions can be grouped with parentheses. The
precedence rules for them are the following: NOT
binds most, AND
,
XOR
and finally OR
the least.
Comparison operators always take
precedence over logical connectives.
All operators (and their names)
are case-sensitive.
Some example rules (each should be in one row):
// This is a comment $${DFlowVar0}$$ > 0 => "Positive"FlowVar0 has value above zero, which case the result flow variable has the value Positive.
$${SFlowVar0}$$ = "Active" AND $${IFlowVar1}$$ <= 5 => "Outlier"When FlowVar0 is "Active" and FlowVar1 is greater or equal to 5, then the result is Outlier.
$${SFlowVar0}$$ LIKE "Market Street*" AND ($${SFlowVar1}$$ IN ("married", "divorced") OR $${IFlowVar2}$$ > 40) => "Strange"The logical connectives help express complex conditions.
$${SFlowVar10}$$ MATCHES $${SFlowVar0}$$ OR $${DFlowVar2}$$ < $${IFlowVar1}$$ => $${SFlowVar0}$$You can compare different flow variables.
The NaNs equal to other NaN values (other values are neither less, nor greater or equal to NaN values).
//
- conditions. In case it contains missing value for non-comment conditions, the output type will be String!) For String columns the outcome should not be quoted (by "
or by /
)$
are not treated as string constants with that value, but are tried to be parsed as references to flow variables, columns or table properties.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 Javasnippet 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.
Please note that this is only about NodePit. We do not provide general support for KNIME — please use the KNIME forums instead.