on
on(expr: bool, [frame(...)]?) -> joinpredicate
on is a special function used to specify the join condition for some join
verbs. (for example, join and lookup).
The function allows you to specify a join predicate (any boolean expression) and an optional time frame using the frame or frame_exact function.
Domain
This is a scalar function (calculates a single output value for a single input row).
Categories
Examples
join on(container_id=@container.id), name:@container.name
Perform an inner-join between the default input of the verb and input
@container based on the condition that the default input's column
container_id must equal to the other input's id column. Because the =
operator (eq) is used to compare the two columns, a null container_id
cannot be joined against a null id or any other value.
join on(same(container_id, @container.id)), name:@container.name
Perform an inner-join between the default input of the verb and input
@container based on the condition that the default input's column
container_id must contain the same value as the other input's id column.
Because same is used to compare the two columns, a null
container_id can also join with a null id from the other input.
join on(value > @right.min and value < @right.max), name:@right.name
Perform an inner-join between the default input of the verb and input @right
based on the condition value must be within the range defined by min and
max.
join on(container_id=@container.id, frame(back:5s, ahead:1s)), name:@right.name
Perform an inner join between the default input and input @container. The
container_id from the default input must equal to the id column from the
input @container, and the timestamp from the input @container must overlap
with a window of [t - 5s, t + 1s] where t is the timestamp of the default
input.
Updated 8 days ago