timetable

Methods

Method Reference: timetable.outerjoin

timetable: ttC = outerjoin (ttL, tblR)
timetable: ttC = outerjoin (ttL, tblR, Name, Value)
timetable: [ttC, iL, iR] = outerjoin (…)

Join a timetable with another tabular object, keeping unmatched rows.

ttC = outerjoin (ttL, tblR) returns a timetable holding one row for every pair of rows of ttL and tblR whose keys match, and one for every row of either that matched nothing, its variables from the other side filled with missing values. A row that came from a row of ttL carries its row time; a row that matched nothing on the left has none of its own.

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.

[ttC, iL, iR] = outerjoin (…) also returns the rows of ttL and of tblR each row came from, 0 where it came from neither.

The following Name/Value pairs are accepted:

'Keys', 'LeftKeys', 'RightKeys'
The variables to match on. The row dimension name names the row times.
'LeftVariables', 'RightVariables'
The variables each side contributes. By default each contributes all of its own, keys included.
'Type'
'full' (the default) keeps the unmatched rows of both sides, 'left' and 'right' only those of the side named.
'MergeKeys'
A logical scalar. When true each pair of keys becomes a single variable in the left one’s position, taking its value from whichever side had a row.

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