timetable

Methods

Method Reference: timetable.join

timetable: ttC = join (ttL, tblR)
timetable: ttC = join (ttL, tblR, Name, Value)
timetable: [ttC, index] = join (…)

Join a timetable with another tabular object.

ttC = join (ttL, tblR) returns a timetable with every row of ttL, its row times kept, and beside it the row of tblR whose key matches. The right operand contributes variables only, so the result is a timetable exactly as long as ttL.

The key must name a row of tblR for every row of ttL, and the keys of tblR must be unique. With no key named, two timetables join on their row times; a timetable and a table have no key in common unless one is named, since the row times are not a variable.

[ttC, index] = join (…) also returns index, naming the row of tblR each row took.

The following Name/Value pairs are accepted:

'Keys'
The variables to match on, named on both sides. The row dimension name names the row times.
'LeftKeys', 'RightKeys'
The variables to match on, named separately for each side and given together. They must name the same number of keys.
'LeftVariables', 'RightVariables'
The variables each side contributes. By default the left contributes all of its own and the right all but its keys.
'KeepOneCopy'
Variables that both sides carry and only the left contributes.

A variable name carried by both sides and contributed by both is suffixed with the caller’s own name for each operand, falling back to _left and _right.

Where an operand is an eventtable, or carries one on its Events property, the result is an event table too and the operands’ event tables are merged: an outer join keyed on the event times and every variable the two share, ordered by those keys. The three properties saying which variables describe the events must agree, and the operation is refused where they do not.

Source Code: timetable