DataAPI.innerjoinMethod
innerjoin((;A, B), by; [nonmatches=drop], [multi], [groupby], [cardinality=(*, *)])

Join two datasets, A and B, by the by condition.

DataAPI.leftjoinMethod
leftjoin((;A, B), by; [nonmatches=(keep, drop)], [multi], [groupby], [cardinality=(*, *)])

Join two datasets, A and B, by the by condition.

DataAPI.outerjoinMethod
outerjoin((;A, B), by; [nonmatches=keep], [multi], [groupby], [cardinality=(*, *)])

Join two datasets, A and B, by the by condition.

DataAPI.rightjoinMethod
rightjoin((;A, B), by; [nonmatches=(drop, keep)], [multi], [groupby], [cardinality=(*, *)])

Join two datasets, A and B, by the by condition.

FlexiJoins.by_distanceMethod
by_distance(f, dist, pred)
by_distance(f_L, f_R, dist, pred)

Join condition with left-right matches defined by pred(dist(f_L(left), f_R(left))). All distances from Distances.jl are supported as dist.

Examples

by_distance(:time, Euclidean(), <=(3))
by_distance(:time, x -> minimum(x.times), Euclidean(), <=(3))
FlexiJoins.by_keyMethod
by_key(f)
by_key(f_L, f_R)

Join condition with left-right matches defined by f_L(left) == f_R(right).

Examples

by_key(:name)
by_key(:name, x -> first(x.names))
FlexiJoins.by_predMethod
by_pred(f_L, pred, f_R)

Join condition with left-right matches defined by pred(f_L(left), f_R(left)).

Examples

by_pred(:start_time, <, :time)
by_pred(:time, ∈, :time_range)
FlexiJoins.flexijoinMethod
flexijoin((;A, B), by; [nonmatches=drop], [multi], [groupby], [cardinality=(*, *)])

Join two datasets, A and B, by the by condition.

Performs an inner join by default. See also the innerjoin() function.