Skip to main content

Eval Node

Quick Reference​

  • Fleak Eval Query: A FEEL expression to transform records. Result must be a record or array of records.

FEEL conditional values use case(condition => value, _ => fallback), with a required final _ => fallback branch. FEEL does not support if ... then ... else syntax. To add a conditional field while preserving the current record:

dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))

Configuration​

Configuration keys below are relative to the node configuration. Use the field name in the panel when following instructions in the builder; required markers such as an asterisk are not part of the name.

Field in the panelConfiguration keyWhere to edit / when shown
Fleak Eval QueryexpressionNode panel — A FEEL expression to transform records. Result must be a record or array of records. Required: Yes. Placeholder: $.events.

FEEL conditional values use case(condition => value, _ => fallback), with a required final _ => fallback branch. FEEL does not support if ... then ... else syntax. To add a conditional field while preserving the current record:

dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))

Overview​

The Fleak Eval Node allows you to transform and manipulate records using the Fleak Eval Expression Language (FEEL). Use it to create new fields, modify existing values, and perform calculations on your data.

Examples​

In FEEL expressions, $ refers to the current record. Use dot-path notation (e.g. $.field) to access fields.

Add a computed field:

dict_merge($, dict(full_name=$.first_name + " " + $.last_name))

Convert a timestamp:

dict_merge($, dict(event_day=epoch_to_ts_str($.timestamp, "yyyy-MM-dd")))

Conditionally set a field:

dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))
  • filter: Filter records based on specific conditions using FEEL