Calculated Field
The Calculated Field Transformation enables a user to create new column values by applying expressions, the result of which can be a newly defined column or it can replace the value in an existing one.
For example, the Agent could convert a temperature attribute on the incoming payload from Celsius to Fahrenheit - and either replace the temperature value or add a new attribute to the outgoing payload.
Statements can be written using a subset of the C# syntax. Refer to the example section for sample expressions and supported operations.
Details for an example and its configuration can be found in the How to Use section.
Pre-requisites
None at this time
Limitations
Not every C# syntax is supported. Here are some examples of NOT supported features:
Multiline expressions
for/foreach/while/do operators
Array/list/dictionary initialization
Explicit generic invocation (like
method<type>(arg)
)Lambda/delegate declaration (delegate and lamda are only supported as variables or parameters or as a return type of the expression)
Array/list/dictionary element assignment (set indexer operator)
Other operations on
dynamic
objects (only property, method invocation, and index now are supported)
Current Version
Download the Calculated Field Transformation v3.46
Please contact XMPro if you're looking for an older version of this Agent.
Release Notes
v3.46
27 Aug 2024
Support an option to process records separately so that an error doesn't stop the execution of a batch.
v3.45
10 Apr 2024
Downgraded Newtonsoft.Json to v11.0.1.
Backward compatible with older Stream Host versions.
v3.44
29 Feb 2024
Added circular dependency check in the ParseExpression function.
Note: this version is only supported on Stream Host v4.4.0 and v4.4.1.
v3.43
26 Jun 2023
Fixed parsing error when braces are inside quotations.
Fixed parsing of column names used in an expression.
v3.42
07 Sep 2022
Repackaged to include the Agent's Category.
v3.41
28 Apr 2021
Fixed repetitive NEW_ prefixes added to an new column internally.
v3.40
13 Nov 2020
Added better error messages.
v3.39
26 Oct 2020
Grid converted to edit list and added multiline expression support.
v3.381
30 Jul 2021
Fixed repetitive NEW_ prefixes added to an new column internally using base code of v3.38. This is an interim version which doesn't support 'EditList' control available in latest XMIoT Framework.
v3.38
26 Oct 2020
Fix existing columns being deleted.
v3.37
06 Aug 2020
Fix to nested variable expressions when also using { }.
v3.35
15 Jul 2020
Added support for variable expressions using [ ].
v3.34
26 May 2020
Upgraded validation to check if each expression is valid.
v3.33
21 May 2020
Added proper hyphen support.
v3.31
13 May 2020
Added column name support for ' ', '_', and numbers at the start of the column.
v3.30
27 Feb 2020
Fixed issue with expression not parsing on start
v3.29
24 Feb 2020
Fixed expression parsing so users can use True/False properly for Boolean values.
v3.27
03 Feb 2020
Fixed issue where expressions replace a column's value.
v3.26
03 Feb 2020
Improved exception messages and fixed errors with Boolean expressions to support XMIoT Boolean Casing.
v3.25
27 Jan 2020
Reworked expression parsing to no longer be reliant on System.Dynamic.Linq.Core reflections.
v3.14
09 Sep 2019
Support using one calculated field in another calculated field's expression.
v3.13
09 Sep 2019
Fixed issues with Payload selection.
v3.12
04 Sep 2019
Upgraded System.Linq.Dynamic.Core.
v3.11
27 Aug 2019
Support specifying Existing With New or only New columns as output.
v3.10
04 Mar 2019
Added validation for field identifiers.
Added Error output when calculation fails.
v3.09
21 Jun 2019
Changed name to Calculated Field and updated icon.
v3.08
04 Mar 2019
Updated help URL
v3.07
22 May 2018
Fixed outputs that overwrite input fields not having the specified output type.
v3.06
11 May 2018
Added DateTime type to list of derived output types.
v3.05
10 May 2018
Fixed null-reference exceptions in GetOutputAttributes.
v3.04
10 May 2018
Fixed "ToInt is not a valid method" exception.
v3.03
10 May 2018
Fixed "Operator cannot be applied to operands of type Object and ..." exceptions.
v3.02
26 Apr 2018
Updated DLL.
v3.01
19 Apr 2018
Changed Agent state to Virtual.
v3.00
19 Apr 2018
Initial Release.
Last updated